Diferencia entre revisiones de «Tip 4»
De ArduWiki
(→Descripción) |
(→Código 1) |
||
Línea 24: | Línea 24: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | {{Nota|Veras que el | + | {{Nota|Veras que solo aparece una vez el mensaje de deteccion por cada pulsacion sin importar e tiempo que dure dicha pulsacion.}} |
== Código 2 == | == Código 2 == |
Revisión del 13:40 21 sep 2019
Descripción
Como detectar el flanco de subida (RISSING) de un pulsador, rele o dispositivo con contacto mecánico.
Tip: Este método soluciona el efecto de rebote.
Código 1
Con este código detectamos el flanco de subida (RISSING) de un contacto mecánico con una conexión en pulldown.
bool actual,anterior;
void setup(){
Serial.begin(9600);
pinMode(2, INPUT);
}
void loop(){
actual = digitalRead(2);
if (actual && !anterior){
Serial.println("Flanco de subida detectado");
}
anterior = actual;
}
Nota: Veras que solo aparece una vez el mensaje de deteccion por cada pulsacion sin importar e tiempo que dure dicha pulsacion.
Código 2
Con este código detectamos el flanco de bajada (FALING) de un contacto mecánico con una conexión en pullup.
bool actual,anterior;
void setup(){
Serial.begin(9600);
pinMode(2, INPUT_PULLUP);
}
void loop(){
actual = digitalRead(2);
if (!actual && anterior){
Serial.println("Flanco de bajada detectado");
}
anterior = actual;
}
Nota: Veras que el valor de n se incrementa muy rápidamente en cada ciclo de loop().
Vea también