bool bits[8] = {0,0,0,0,0,0,0,0};
void setup()
{
Serial.begin(115200);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(13, INPUT);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
}
void render()
{
for (int i = 0; i < 8; i++)
{
switch(bits[i])
{
case 0:
digitalWrite((i + 4), LOW);
break;
case 1:
digitalWrite((i + 4), HIGH);
break;
}
}
}
void count()
{
bool carry = true;
for (int i = 7; i >= 0; i--)
{
if (carry == true)
{
switch(bits[i])
{
case 0:
bits[i] = 1;
carry = false;
break;
case 1:
bits[i] = 0;
carry = true;
break;
}
}
}
Serial.println((bits[7]*1) + (bits[6]*2) + (bits[5]*4) + (bits[4]*8) + (bits[3]*16) + (bits[2]*32) + (bits[1]*64) + (bits[0]*128));
delay(200);
}
void loop()
{
render();
if (digitalRead(13) == HIGH)
{
count();
}
}