Hola
Me respondo a mi mismo.
O este otro.
Saludos,
Me respondo a mi mismo.
Código (c) [Seleccionar]
int estadoBoton=0; // Guardará el estado del botón HIGH o LOW.
char caracter;
String comando;
int flag = 0;
void setup()
{
pinMode(13,OUTPUT); // Donde está el Led 13.
pinMode(8,INPUT); // Entrada digital donde está el pulsador.
Serial.begin(115200);
}
void loop()
{
estadoBoton=digitalRead(8); // Leer entrada digital número 8.
switch (estadoBoton)
{
case 0:
if(flag == 1){
flag= 0;
digitalWrite(13,HIGH);
Serial.println("HIGH");
}
break;
case 1:
if(flag == 0){
flag= 1;
digitalWrite(13,LOW);
Serial.println("LOW");
}
break;
default:
Serial.println("Error desconocido");
}
}
O este otro.
Código (c) [Seleccionar]
byte estadoBoton = 0; // Guardará el estado del botón HIGH o LOW.
byte estadoBotonAnt = 0;
long lastDebounceTime = 0;
char caracter;
String comando;
void setup(){
pinMode(13,OUTPUT); // Donde está el Led 13.
pinMode(8,INPUT); //
Serial.begin(115200);
}
void loop() {
estadoBoton = digitalRead(8); // Leer entrada digital número 8.
// Si el pulsador está pulsado, se enciende el Led 13 y
// envía comando HIGH por el puerto serie.
if ((millis() - lastDebounceTime) > 100)
{
if (estadoBoton == HIGH && estadoBotonAnt == LOW) {
digitalWrite(13,HIGH);
Serial.println("HIGH");
}
// De lo contrario, Led 13 epagado y envía LOW al puerto serie.
if (estadoBoton == LOW && estadoBotonAnt == HIGH) {
digitalWrite(13,LOW);
Serial.println("LOW"); // sin el agregado de este if tendrian cientos de LOW en el MOnitor Serie
}
estadoBotonAnt = estadoBoton;
}
}
Saludos,