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.
¿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.
Pedro Gabriel Nieto says:
Hola , soy Pedro Nieto, desde Leganés .
Estoy en un curso de desarrollo y diseño de autómatas , y mi pregunta ,si puedes aclararme , es donde puedo encontrar o descargar el programa eplan , te agradeceria que me orientaras donde encontrarlo.un saludo.
Drouiz says:
Supongo que quieres descargar el Eplan si pagar la licencia, eso es ilegal y no puedo ayudarte a conseguirlo.
Camilo Portilla says:
Funciono muy bien saludos