Diferencia entre revisiones de «Tip 4»

De ArduWiki
Saltar a: navegación, buscar
(Descripción)
(Código 1)
Línea 24: Línea 24:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
{{Nota|Veras que el valor de n se incrementa cada 1 segundo.}}
+
{{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

Tips


Referencias externas