Os adjunto aquí un sencillo programa Arduino donde se demuestra como usar interrupciones de pines en el IDE Arduino.
Funciona definiendo un pin como INPUT_PULLUP, de manera que normalmente está en positivo. Uniendo ese pin con tierra (directamente, con un cable o un botón), el pin cambia a negativo. En cada cambio se lanza una interrupción que lee el pin y toma decisiones según el estado anterior y el tiempo transcurrido. En el loop se manejan las acciones para cada variable programada en la interrupción.
Por comodidad he probado el programa en un NodeMCU (ESP8266), pero debería servir para cada casi cualquier microcontrolador, mientras tenga PULLUP. Se podría cambiar la lógica a PULLDOWN y usar VCC para activar el pin.
Puedes cambiar el pin de entrada cambiando la definición BUTTON_PIN; en el programa la he definido como el pin D6 del NodeMCU.
Quiero resaltar que éste no es un buen sistema para usar botones; hay librerías disponibles mucho mejores, pero es un buen ejemplo para aprender a usar interrupciones.
Sencillo Ejemplo de manejo de interrupciones en Arduino
-
- Administrador del Sitio
- Mensajes: 516
- Registrado: 04 Jul 2016, 11:17
- Agradecido: 113 veces
- Agradecimiento recibido: 136 veces
Sencillo Ejemplo de manejo de interrupciones en Arduino
- Adjuntos
-
- ESP_INTERUPT_TEST.ino
- (2.28 KiB) Descargado 557 veces
Tags:
-
- Administrador del Sitio
- Mensajes: 516
- Registrado: 04 Jul 2016, 11:17
- Agradecido: 113 veces
- Agradecimiento recibido: 136 veces
Re: Sencillo Ejemplo de manejo de interrupciones en Arduino
También tenéis disponible este ejemplo en GitHub: https://github.com/Naguissa/ESP_INTERUPT_TEST
-
- Similar Topics
- Respuestas
- Vistas
- Último mensaje
-
- 2 Respuestas
- 21100 Vistas
-
Último mensaje por Naguissa
-
- 3 Respuestas
- 21930 Vistas
-
Último mensaje por Naguissa
-
- 1 Respuestas
- 17788 Vistas
-
Último mensaje por Naguissa
-
-
Crear pulsador táctil capacitivo sencillo
por Naguissa » » en Electrónica digital - microcontroladores - 1 Respuestas
- 12622 Vistas
-
Último mensaje por marzun3456
-
-
- 1 Respuestas
- 6304 Vistas
-
Último mensaje por Naguissa