const int RED_LED = 13;
const int GREEN_LED = 12;
const int BUTTON_1 = 2; // Оплата
const int BUTTON_2 = 3; // Вход
bool isPaid = false;
void setup() {
Serial.begin(9600);
pinMode(RED_LED, OUTPUT);
pinMode(GREEN_LED, OUTPUT);
// Активируем встроенные подтягивающие резисторы
pinMode(BUTTON_1, INPUT_PULLUP);
pinMode(BUTTON_2, INPUT_PULLUP);
// Изначально горит красный
digitalWrite(RED_LED, HIGH);
digitalWrite(GREEN_LED, LOW);
}
void loop() {
// Считываем состояние (LOW = нажато, HIGH = отпущено)
bool button1Pressed = (digitalRead(BUTTON_1) == LOW);
bool button2Pressed = (digitalRead(BUTTON_2) == LOW);
// Логика кнопки 1 (Оплата)
if (button1Pressed) {
if (!isPaid) {
isPaid = true;
Serial.println("Оплата принята!");
digitalWrite(GREEN_LED, HIGH);
digitalWrite(RED_LED, LOW);
delay(300); // Защита от дребезга
}
}
// Логика кнопки 2 (Вход)
if (button2Pressed) {
if (isPaid) {
Serial.println("Проходите!");
isPaid = false;
digitalWrite(GREEN_LED, LOW);
digitalWrite(RED_LED, HIGH);
delay(300); // Защита от дребезга
} else {
Serial.println("Сначала оплатите проезд!");
delay(300);
}
}
}