#define LED0 1
#define LED1 5
#define LED2 9
#define LED3 11
void setup() {
pinMode(LED0, OUTPUT);
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
}
int reverse(int r){
if(r==1)
return 0;
else if(r==0)
return 1;
}
void binaryCount(int num,int *direction) {
if(*direction=1)
{
digitalWrite(LED0, num & 0x01);
digitalWrite(LED1, (num >> 1) & 0x01);
digitalWrite(LED2, (num >> 2) & 0x01);
digitalWrite(LED3, (num >> 3) & 0x01);
}
if(*direction=0)
{
digitalWrite(LED0, reverse(num & 0x01));
digitalWrite(LED1, reverse((num >> 1) & 0x01));
digitalWrite(LED2, reverse((num >> 2) & 0x01));
digitalWrite(LED3, reverse((num >> 3) & 0x01));
}
}
void loop() {
int direction=1;
for (int i = 0; i < 16; i++) {
binaryCount(i,&direction);
delay(1000);
// Adjust the delay time as needed
}
direction=0;
for (int i = 0; i < 16; i++) {
binaryCount(i,&direction);
delay(1000);
}
}