int b1;
int b2;
int b3;
int b4;
//int stat = 0;
unsigned char stat = 0;
void setup() {
// configure digital pins as inputs
pinMode(4, INPUT_PULLUP);
pinMode(5, INPUT_PULLUP);
pinMode(6, INPUT_PULLUP);
pinMode(7, INPUT_PULLUP);
//Serial.begin(9600);
DDRA = 0b11111111; // activate PORTA as output
}
void loop() {
// read BTNs status
b1 = digitalRead(4);
b2 = digitalRead(5);
b3 = digitalRead(6);
b4 = digitalRead(7);
//stat = 10000 + b4 * 1000 + b3 * 100 + b2 * 10 + b1;
//Serial.println(stat);
//stat = (b4 << 5) | (b3 << 4) | (b4 << 3) | (b3 << 2) | (b2 << 1)| b1;
//PORTA = stat;
if(b4 == LOW){
// button pressed - walk from right to left
for (int i = 0; i < 6; i++)
{
stat = (1 << (5 - i));// shift led from right to left
PORTA = stat; // display led stat on PORTA
delay(200);
}
} else {
//button not pressed - shift from left to right
for (int i = 0; i < 6; i++)
{
stat = (1 << i);// shift led from left to right
PORTA = stat; // display led stat on PORTA
delay(200);
}
}
delay(100);
}