Skip to content

Instantly share code, notes, and snippets.

@JeffersGlass
Created April 12, 2020 17:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save JeffersGlass/3a56c3eea1f5c03f8167b63a0a9dd1c0 to your computer and use it in GitHub Desktop.
Save JeffersGlass/3a56c3eea1f5c03f8167b63a0a9dd1c0 to your computer and use it in GitHub Desktop.
int SEG_A = 4; //define which pins connect to which segments
int SEG_B = 5;
int SEG_C = 8;
int SEG_D = 7;
int SEG_E = 6;
int SEG_F = 3;
int SEG_G = 2;
int SEG_DOT = 9;
int pins[] = {SEG_A, SEG_B, SEG_C, SEG_D, SEG_E, SEG_F, SEG_G, SEG_DOT};
int numPins = 8;
int pause = 500;
void setup() {
// put your setup code here, to run once:
for (int i = 0; i < numPins; i++){
pinMode(pins[i], OUTPUT);
}
turnOffAllSegments();
}
void loop() {
// put your main code here, to run repeatedly:
int largestDigit = 9;
for (int i = 0; i <= largestDigit; i++){
displayDigit(i);
delay(pause);
}
}
void turnOffAllSegments(){
for (int i = 0; i < 8; i++){
digitalWrite(pins[i], HIGH);
}
}
void displayDigit(int num){
turnOffAllSegments();
if (num == 0){ //Segments ABCDEF
digitalWrite(pins[0], LOW);
digitalWrite(pins[1], LOW);
digitalWrite(pins[2], LOW);
digitalWrite(pins[3], LOW);
digitalWrite(pins[4], LOW);
digitalWrite(pins[5], LOW);
}
else if (num == 1){ //segments BC
digitalWrite(pins[1], LOW);
digitalWrite(pins[2], LOW);
}
else if (num == 2){ //segments ABDEG
digitalWrite(pins[0], LOW);
digitalWrite(pins[1], LOW);
digitalWrite(pins[3], LOW);
digitalWrite(pins[4], LOW);
digitalWrite(pins[6], LOW);
}
else if (num == 3){ //segments ABCDG
digitalWrite(pins[0], LOW);
digitalWrite(pins[1], LOW);
digitalWrite(pins[2], LOW);
digitalWrite(pins[3], LOW);
digitalWrite(pins[6], LOW);
}
else if (num == 4){ //segments BCFG
digitalWrite(pins[1], LOW);
digitalWrite(pins[2], LOW);
digitalWrite(pins[5], LOW);
digitalWrite(pins[6], LOW);
}
else if (num == 5){ //segments ACDFG
digitalWrite(pins[0], LOW);
digitalWrite(pins[2], LOW);
digitalWrite(pins[3], LOW);
digitalWrite(pins[5], LOW);
digitalWrite(pins[6], LOW);
}
else if (num == 6){ //segments ACDEFG
digitalWrite(pins[0], LOW);
digitalWrite(pins[2], LOW);
digitalWrite(pins[3], LOW);
digitalWrite(pins[4], LOW);
digitalWrite(pins[5], LOW);
digitalWrite(pins[6], LOW);
}
else if (num == 7){ //segments ABC
digitalWrite(pins[0], LOW);
digitalWrite(pins[1], LOW);
digitalWrite(pins[2], LOW);
}
else if (num == 8){ //segments ABCDEFG
digitalWrite(pins[0], LOW);
digitalWrite(pins[1], LOW);
digitalWrite(pins[2], LOW);
digitalWrite(pins[3], LOW);
digitalWrite(pins[4], LOW);
digitalWrite(pins[5], LOW);
digitalWrite(pins[6], LOW);
}
else if (num == 9){ //segments ABCFG
digitalWrite(pins[0], LOW);
digitalWrite(pins[1], LOW);
digitalWrite(pins[2], LOW);
digitalWrite(pins[5], LOW);
digitalWrite(pins[6], LOW);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment