Skip to content

Instantly share code, notes, and snippets.

@yeffrimic
Last active August 22, 2016 05:44
Show Gist options
  • Save yeffrimic/86b94223eee2058e3de09984f550c56a to your computer and use it in GitHub Desktop.
Save yeffrimic/86b94223eee2058e3de09984f550c56a to your computer and use it in GitHub Desktop.
#define segA 9
#define segB 8
#define segC 7
#define segD 6
#define segE 5
#define segF 4
#define segG 3
#define display1 2
#define display2 1
int outPin[] = {13, 12, 11, 10};
int delayValue = 5000;
void setup()
{
Serial.begin(9600);
int i = 0;
for ( i = 0; i < 4; i++)
pinMode(outPin[i], OUTPUT);
}
void loop()
{
int i = 0, j = 0;
for ( i = 0; i <= 15; i++)
{
for ( j = 0; j < 4; j++)
{
if ( ( (i >> j) & 1 ) == 1 ) {
digitalWrite(outPin[j], HIGH);
} else {
digitalWrite(outPin[j], LOW);
}
}
for(int delay1=0;i<delayValue;delay1++){
sendNumber(i);
delay(1);
}
}
}
void sendNumber(int number){
switch (number){
case 0:
displayfunction(0,1,0,1,1,0,0,0,0);
break;
case 1:
displayfunction(0,1,0,1,1,0,0,0,0);
break;
case 2:
displayfunction(0,1,1,1,0,1,1,0,1);
break;
case 3:
displayfunction(0,1,1,1,1,1,0,0,1);
break;
case 4:
displayfunction(0,1,0,1,1,0,0,1,1);
break;
case 5:
displayfunction(0,1,1,0,1,1,0,1,1);
break;
case 6:
displayfunction(0,1,1,0,1,1,1,1,1);
break;
case 7:
displayfunction(0,1,1,1,1,0,0,0,0 );
break;
case 8:
displayfunction(0,1,1,1,1,1,1,1,1);
break;
case 9:
displayfunction(0,1,1,1,1,0,0,1,1);
break;
case 10:
displayfunction(1,0,0,1,1,0,0,0,0);
displayfunction(0,1,0,1,1,0,0,0,0);
break;
case 11:
displayfunction(1,0,0,1,1,0,0,0,0);
displayfunction(0,1,0,1,1,0,0,0,0);
break;
case 12:
displayfunction(1,0,0,1,1,0,0,0,0);
displayfunction(0,1,1,1,0,1,1,0,1);
break;
case 13:
displayfunction(1,0,0,1,1,0,0,0,0);
displayfunction(0,1,1,1,1,1,0,0,1);
break;
case 14:
displayfunction(1,0,0,1,1,0,0,0,0);
displayfunction(0,1,0,1,1,0,0,1,1);
break;
case 15:
displayfunction(1,0,0,1,1,0,0,0,0);
displayfunction(0,1,1,0,1,1,0,1,1);
}
}
void displayfunction(boolean seg1, boolean seg2, boolean a, boolean b, boolean c, boolean d, boolean e, boolean f, boolean g) {
digitalWrite(display1, seg1);
digitalWrite(display2, seg2);
digitalWrite(segA, a);
digitalWrite(segB, b);
digitalWrite(segC, c);
digitalWrite(segD, d);
digitalWrite(segE, e);
digitalWrite(segF, f);
digitalWrite(segG, g);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment