|
// 7 segment LED display
// by Jose Ojeda
int number = 0; // variable the keeps number number in the display
void turn_all_off() { // function to turn off all the lights
for(int i=0; i<8; i++) {
digitalWrite(i, LOW);
}
}
void setup() {
for(int i=0; i<8; i++) { // initializes pins 0 to 7 as outputs
pinMode(i, OUTPUT);
}
}
void loop() {
turn_all_off(); // turns the display off
if(number==0) {
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(0, HIGH);
digitalWrite(1, HIGH);
digitalWrite(2, HIGH);
}
if(number==1) {
digitalWrite(2, HIGH);
digitalWrite(7, HIGH);
}
if(number==2) {
digitalWrite(7, HIGH);
digitalWrite(4, HIGH);
digitalWrite(6, HIGH);
digitalWrite(0, HIGH);
digitalWrite(1, HIGH);
}
if(number==3) {
digitalWrite(4, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(1, HIGH);
digitalWrite(2, HIGH);
}
if(number==4) {
digitalWrite(5, HIGH);
digitalWrite(4, HIGH);
digitalWrite(7, HIGH);
digitalWrite(2, HIGH);
}
if(number==5) {
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(7, HIGH);
digitalWrite(1, HIGH);
digitalWrite(2, HIGH);
}
if(number==6) {
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(0, HIGH);
digitalWrite(1, HIGH);
digitalWrite(2, HIGH);
}
if(number==7) {
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(2, HIGH);
}
if(number==8) {
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(0, HIGH);
digitalWrite(1, HIGH);
digitalWrite(2, HIGH);
}
if(number==9) {
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(1, HIGH);
digitalWrite(2, HIGH);
}
delay(1000); // waits for 1000 milli seconds
number = number + 1; // increments the variable to show
if(number > 9) { // check for the range, if greater then 9 goes back to 0s
number = 0;
}
}
|