// ===== Пины для кнопок =====
const int buttonPins[8] = {2, 3, 4, 5, 6, 7, 8, 9};
void setup() {
Serial.begin(9600);
// Настраиваем пины кнопок как INPUT_PULLUP
for(int i=0; i<8; i++){
pinMode(buttonPins[i], INPUT_PULLUP);
}
}
// ===== Функция считывания 8 кнопок =====
byte read8Buttons() {
byte states = 0;
for(int i=0; i<8; i++){
int val = digitalRead(buttonPins[i]);
// логика инверсная: кнопка нажата = LOW
if(val == LOW){
states |= (1 << i); // ставим 1, если нажата
}
else {
states &= ~(1 << i); // 0 если не нажата
}
}
return states;
}
void loop() {
byte buttons = read8Buttons();
// Выводим в бинарном формате
Serial.print("Buttons: ");
for(int i=7; i>=0; i--){
Serial.print((buttons >> i) & 0x01);
}
Serial.println();
delay(100); // обновление каждые 0.1 секунды
}