Created
April 8, 2020 00:14
-
-
Save handeyeco/c045c31cbf19f122ef719051d2700f49 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
int digit1 = 2; | |
int digit2 = 3; | |
int digit3 = 4; | |
int digit4 = 5; | |
// Serial | |
int clock = 10; | |
int latch = 11; | |
int data = 12; | |
// Delay time | |
int dTime = 5; | |
void setup() { | |
pinMode(latch, OUTPUT); | |
pinMode(clock, OUTPUT); | |
pinMode(data, OUTPUT); | |
pinMode(digit1, OUTPUT); | |
pinMode(digit2, OUTPUT); | |
pinMode(digit3, OUTPUT); | |
pinMode(digit4, OUTPUT); | |
} | |
void pickDigit(int digit) { | |
digitalWrite(digit1, LOW); | |
digitalWrite(digit2, LOW); | |
digitalWrite(digit3, LOW); | |
digitalWrite(digit4, LOW); | |
switch(digit) { | |
case 1: digitalWrite(digit1, HIGH); break; | |
case 2: digitalWrite(digit2, HIGH); break; | |
case 3: digitalWrite(digit3, HIGH); break; | |
case 4: digitalWrite(digit4, HIGH); break; | |
} | |
} | |
void display(int num) | |
{ | |
// Draw shape | |
digitalWrite(latch, HIGH); | |
shiftOut(data, clock, MSBFIRST, num); | |
digitalWrite(latch, LOW); | |
// Clear segments | |
digitalWrite(latch, HIGH); | |
shiftOut(data, clock, MSBFIRST, 0); | |
digitalWrite(latch, LOW); | |
} | |
void loop() { | |
pickDigit(1); | |
display(B00111111); | |
delay(dTime); | |
pickDigit(2); | |
display(B10000000); | |
delay(dTime); | |
pickDigit(3); | |
display(B00000000); | |
delay(dTime); | |
pickDigit(4); | |
display(B01011100); | |
delay(dTime); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment