// подключим библиотеку для работы с кнопками #include // Пины светодиодов #define LRED 8 #define LGREEN 10 // Пин кнопки #define BUTTON 6 // создаем объект класса TroykaButton TroykaButton but(BUTTON); unsigned long timer = 0; void setup() { // определяем пины как входы/выходы pinMode (LRED, OUTPUT); pinMode (LGREEN, OUTPUT); pinMode (BUTTON, INPUT_PULLUP); // инициализируем последовательность случайных чисел randomSeed(analogRead(A3)); // инициализируем кноку but.begin(); } void loop() { // считываем значение кнопки but.read(); // было ли короткое нажатие? if (but.isClick()) { // задаем случайное значение для "монеты" int coin = random(2); // проверяем, что за значение: if (coin) { // если 1, то зеленый светодиод горит 1 секунду timer = millis(); while (millis() - timer < 1000) { digitalWrite(LGREEN, HIGH); } digitalWrite(LGREEN, LOW); } else { // если 0, то красный светодиод горит 1 секунду timer = millis(); while (millis() - timer < 1000) { digitalWrite(LRED, HIGH); } digitalWrite(LRED, LOW); } } }