Я использую esp32 в Arduino.Что я хочу сделать: если я нажму кнопку один раз, она должна Serial.print «Я был нажат один раз» Если я нажимаю кнопку дважды, он должен Serial.print «Я был нажат дважды»
IЯ использую функцию attachInterrupt (), но я не знаю, как сказать коду, как читать его, когда я нажимаю кнопку дважды.То, что мой код также делает, включает светодиод, когда он чувствует, что я нажал кнопку.
Вот то, чего я достиг на данный момент:
int boton = 0;
int led = 5;
int valorBoton; //value of the button, if it off(1) or on (0)
unsigned int count = 0 ; //counter
void setup() {
Serial.begin(115200); //velocity
pinMode(led, OUTPUT); //OUTPUT LED
pinMode(boton, INPUT); //INFUPT BUTTON
digitalWrite(led, LOW); //THE LED IS LOW INITIALLY
attachInterrupt(digitalPinToInterrupt(0),button1,RISING);
}
void loop() {
count++;
Serial.println(count); //printing the counter
delay(1000);
}
void button1(){ //the function button1 is a parameter of attachInterrupt
digitalWrite(led, HIGH); //when it is pressed, led is on
Serial.println("I was pressed");
count = 0; // if I was pressed, then the count starts from cero all over again
}
Я ожидаю напечатать Serial.println («Меня дважды нажимали»), когда я нажимаю кнопку