const uint8_t switches_pins[] = { 9, 8, 7, 6, 5, 4, 3, 2 };
void setup()
{
Serial.begin( 115200 );
for ( uint8_t i = 0; i < 8; ++i )
{
pinMode( switches_pins[i], INPUT_PULLUP );
}
}
void loop()
{
uint8_t address = 0;
for ( uint8_t i = 0; i < 8; ++i )
{
if ( digitalRead( switches_pins[i] ) == LOW )
{
address |= 1 << ( 7 - i );
}
}
static uint8_t address_previous = !address;
if ( address_previous != address )
{
address_previous = address;
Serial.print( "Address changed : " );
for ( uint8_t i = 0b10000000; i > 0; i >>= 1 )
{
Serial.print( ( address & i ) != 0 );
}
Serial.println();
}
}