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: 508
- Registrado: 04 Jul 2016, 11:17
- Agradecido: 111 veces
- Agradecimiento recibido: 134 veces
Sencillo Ejemplo de manejo de interrupciones en Arduino
- Adjuntos
-
- ESP_INTERUPT_TEST.ino
- (2.28 KiB) Descargado 536 veces
Tags:
-
- Administrador del Sitio
- Mensajes: 508
- Registrado: 04 Jul 2016, 11:17
- Agradecido: 111 veces
- Agradecimiento recibido: 134 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
- 19739 Vistas
-
Último mensaje por Naguissa
-
- 3 Respuestas
- 20099 Vistas
-
Último mensaje por Naguissa
-
- 1 Respuestas
- 16561 Vistas
-
Último mensaje por Naguissa
-
-
Crear pulsador táctil capacitivo sencillo
por Naguissa » » en Electrónica digital - microcontroladores - 0 Respuestas
- 10349 Vistas
-
Último mensaje por Naguissa
-
-
- 1 Respuestas
- 5065 Vistas
-
Último mensaje por Naguissa