boolean butt_flag = 0; //логическая переменная (Т/Ф), запомин. последнее значение кнопки;
boolean butt; //ЛП, обозн. кнопку;
boolean led_flag = 0; //ЛП, зап. последнее знач. свеод.
unsigned long last_press; //длинная переменная
byte LEDcounter = 4; //наименьший номер светодиода;
void setup() {
pinMode(3, INPUT_PULLUP); //кнопка;
Serial.begin(9600); //скорость передачи данных;
pinMode(4,OUTPUT); //светодиод;
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
}
void loop() {
butt = !digitalRead(3); //значение кнопки противополож знач цифрового сигнала;
if (butt == 1 && butt_flag == 0 && millis() - last_press > 100) {
butt_flag = 1;
Serial.println("Button pressed");
digitalWrite(LEDcounter,1); //подать Ц сигнал
LEDcounter++;
last_press = millis(); //переменная равна кол-ву милисек
}
if (butt == 0 && butt_flag == 1) {
butt_flag = 0;
Serial.println("Button realised");
}
}