Flancos de subida y bajada con Arduino

Contenidos

¿Qué son los flancos de subida o de bajada?

El flanco de subida consiste en el cambio de una señal nivel bajo a una nivel alto, por el contrario el flanco de bajada es el cambio de un nivel alto a uno bajo, es realmente importante conocer estos conceptos si programamos autómatas o electrónica, incluido el famoso Arduino.

 

 

Flancos de subida y de bajada
Flancos de subida y de bajada

¿Cuando usar los flancos?

 

En ocasiones cuando programamos un dispositivo electrónico (o un autómata) nos interesa una respuesta en cambió y no continua. Complicado ¿no? bueno imaginemos que tenemos un programa para un futbolín donde en un marcador nos va indicando el resultado del juego, es simple, solo detecta la bola cuando pasa por la portería. Si le programamos que deseamos que sume uno al resultado al detectar la bola, nuestro programa va a sumar uno cada vez que le llegue una señal alta, si en el tiempo que la bola es detectada pasan 20 ciclos de programa, tenemos 20 goles de repente.

Aquí tenemos un caso de flanco de subida, nos interesa que solo detecte la subida y nos sume un punto y no sume más independientemente de los ciclos de programa que realice. Por el contrario el flanco de bajada sera la inversa, imaginemos que en una instalación deseamos saber si un detector de incendio ha sido rearmado, es decir, que ha dado una señal alta y posteriormente una baja, pues usaremos el flanco de bajada.

 

Programar un flanco de subida

Para programar un flanco de subida, tener en cuenta el estado de la entrada en el ciclo anterior del programa y el ciclo actual, si la entrada es diferente a la salida, tenemos un flanco detectado. En este caso, la entrada anterior debe ser LOW (0) y la entrada actual HIGH (1), si se da ese suceso realizar una acción. Actualizamos la entrada de ciclo a la actual para en el siguiente poder realizar el proceso.

SeñalActual = medida del detector;
If (SeñalActual == HIGH && SeñalAntigua == LOW)
{
   //EJECUTAR ACCIÓN CORRESPONDIENTE
}
SeñalAntigua = SeñalActual

 

Programar flanco de bajada

El flanco de bajada sera similar al de subida pero cambiando la sentencia if los HIGH por LOW.

SeñalActual = medida del detector;
If (SeñalActual == LOW && SeñalAntigua == HIGH)
{
   //EJECUTAR ACCIÓN CORRESPONDIENTE
}
SeñalAntigua = SeñalActual

 

Programar un detector de flancos

También es posible realizar un detector de flancos independientemente de si es de subida o de bajada, para por ejemplo ejecutar una alarma siempre que exista un cambio.

SeñalActual = medida del detector;
If (SeñalActual != SeñalAntigua)
{
   //EJECUTAR ACCIÓN CORRESPONDIENTE
}
SeñalAntigua = SeñalActual

 

Enlaces:

Ejemplo de un detector de flancos con arduino.

Programador Arduino Freelance

Aquirir Arduino

Si deseas adquirir un Arduino para este u otros proyectos click aquí o en la imagen.

Arduino Genuino UNO
Arduino Genuino

Summary
Flancos de subida y de bajada con Arduino
Article Name
Flancos de subida y de bajada con Arduino
Description
Descripción de como usar flancos de subida y bajada con Arduino.
Author
Publisher Name
Drouiz
Publisher Logo

4 thoughts on “Flancos de subida y bajada con Arduino”

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.