bool CODE_TABLE[10][7] = {
LOW, LOW, LOW, LOW, LOW, LOW, HIGH, //0
HIGH, LOW, LOW, HIGH, HIGH, HIGH, HIGH, //1
LOW, LOW, HIGH, LOW, LOW, HIGH, LOW, //2
LOW, LOW, LOW, LOW, HIGH, HIGH, LOW, //3
HIGH, LOW, LOW, HIGH, HIGH, LOW, LOW, //4
LOW, HIGH, LOW, LOW, HIGH, LOW, LOW, //5
LOW, HIGH, LOW, LOW, LOW, LOW, LOW, //6
LOW, LOW, LOW, HIGH, HIGH, LOW, HIGH, //7
LOW, LOW, LOW, LOW, LOW, LOW, LOW, //8
LOW, LOW, LOW, LOW, HIGH, LOW, LOW //9
};
void setup() {
// put your setup code here, to run once:
int i;
for(i=0; i<7; ++i)
pinMode(i, OUTPUT);
pinMode(11, INPUT);
}
void loop() {
// put your main code here, to run repeatedly:
int i, j;
bool buttonStatus;
for(j=0; j<10; ++j)
{
for(i=0; i<7; ++i)
digitalWrite(i, HIGH);
delay(250);
buttonStatus = digitalRead(11);
if(!buttonStatus) j=9;
digitalWrite(12, buttonStatus);
for(i=0; i<7; ++i)
digitalWrite(i, CODE_TABLE[j][i]);
delay(250);
}
}