Друзья, добрый вечер. Проблема с программой на Arduino UNO, не срабатывает прерывание и видимо я что-то не понимаю, так как не вижу проблемы. Прерывание на скетче из примеров по миганию led работают. Код (Text): #include <LiquidCrystal.h> int val = 0; int r = 5; int g = 6; int b = 7; int p = 13; LiquidCrystal lcd(2, 4, 8, 9, 10, 11); volatile int butflag = LOW; volatile int timeflag = LOW; long previousMillis = 0; long interval = 15000; void setup() { pinMode(r, OUTPUT); pinMode(g, OUTPUT); pinMode(b, OUTPUT); pinMode(p, OUTPUT); attachInterrupt(1, blink, CHANGE); lcd.begin(20, 4); lcd.print("Loading"); delay(1000); lcd.clear(); } void blink() { butflag = HIGH; timeflag = HIGH; } void loop() { lcd.clear(); val = analogRead(0); lcd.print("GND HUM: "); lcd.print(val); unsigned long currentMillis = millis(); if(currentMillis - previousMillis > interval) { previousMillis = currentMillis; if (timeflag == LOW) timeflag = HIGH; } if (val >= 450) { digitalWrite(r, timeflag); digitalWrite(g, LOW); digitalWrite(b, LOW); digitalWrite(p, butflag); } else if (val <= 260) { digitalWrite(r, LOW); digitalWrite(g, LOW); digitalWrite(b, timeflag); digitalWrite(p, butflag); } else { digitalWrite(r, LOW); digitalWrite(g, timeflag); digitalWrite(b, LOW); digitalWrite(p, butflag); } delay(5000); timeflag = LOW; butflag = LOW; }