Tabla de contenido:
- Paso 1: Controlador de interrupciones
- Paso 2: Establecer intervalo de tiempo periódico
- Paso 3: interrumpir la inicialización
- Paso 4: Dónde agregar su código
Video: Arduino - Interrupción periódica: 4 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
Este Instructable trata sobre el uso de una interrupción periódica para la sincronización en los programas Arduino. Este es un paso para un programador de Arduino en ciernes que sabe que Arduino puede hacer más, pero no sabe muy bien cómo hacer que eso suceda.
Si hay un problema de rendimiento, supongo que está utilizando una o más funciones de delay (). El truco consiste en deshacerse de las funciones delay () y sustituirlas por una interrupción. La función delay () obliga al Arduino a no hacer nada mientras espera a que se complete el delay (). El uso de una interrupción le permite a su programa hacer otras cosas mientras espera el final de la demora. Por lo general, hay una gran cantidad de tiempo muerto no utilizado que podría usarse para otras cosas cuando se usa delay (). El uso de una interrupción resuelve este problema.
Paso 1: Controlador de interrupciones
1. Agregue el controlador de interrupciones a su programa. Simplemente copie y pegue en algún lugar por encima de setup ();
const unsigned long TIMER0_COUNT = 500; // intervalo de temporizador de 500 ms
// TIMER0 manejador de interrupciones volatile bool time = false; ISR (TIMER0_COMPA_vect) {cuenta larga estática sin firmar = 0; if (++ recuento> TIMER0_COUNT) {recuento = 0; tiempo = verdadero; // el tiempo se establece en verdadero cada TIMER0_COUNT ms} // (el tiempo debe borrarse en la rutina principal)}
Paso 2: Establecer intervalo de tiempo periódico
2. Configure el intervalo de tiempo. Esta rutina se suma a la interrupción TIMER0, que está configurada para dispararse cada ~ 1 mseg.
Su "intervalo" es el número de interrupciones TIMER0 a procesar. Cada intervalo es ~ 1 mseg, por lo que realmente está configurando cuántas interrupciones de TIMER0 contar antes de activar su intervalo. IOW, establezca la variable TIMER0_COUNT en la cantidad de milisegundos que desee esperar. Por ejemplo, use 500 por medio segundo. Utilice 3000 durante 3 segundos.
Paso 3: interrumpir la inicialización
3. Agregue el código de "inicialización TIMER0" a su método setup (). Nuevamente, simplemente copie y pegue en setup ().
// *** Inicialización TIMER0 ***
cli (); // apaga todas las interrupciones TIMSK0 = 0; // apagar timer0 para menor jitter OCR0A = 0xBB; // recuento arbitrario de interrupciones TIMSK0 | = _BV (OCIE0A); // a cuestas de nuevo en interrupt sei (); // volver a activar las interrupciones
Paso 4: Dónde agregar su código
4. Agregue el código de "verificación de tiempo" a su método loop (). Copie y pegue en loop ().
si (tiempo) {
tiempo = falso; // haz algo aquí}
El "tiempo = falso"; la línea es importante. Sin esta línea, la (s) línea (s) "hacer algo aquí" se ejecutarían cada vez que el programa ejecute loop ().
Por supuesto, sustituye sus propias actividades en la línea "haga algo aquí". Comience imprimiendo algo de texto o haciendo parpadear el LED.
¡Listo!
Recomendado:
Arduino Halloween Edition - Pantalla emergente de zombis (pasos con imágenes): 6 pasos
Arduino Halloween Edition - Pantalla emergente de zombis (pasos con imágenes): ¿Quieres asustar a tus amigos y hacer un ruido de gritos en Halloween? ¿O simplemente quieres hacer una buena broma? ¡Esta pantalla emergente de Zombies puede hacer eso! En este Instructable, te enseñaré cómo hacer zombis saltarines fácilmente usando Arduino. El HC-SR0
Alimentador de peces Arduino Uno en 6 pasos baratos y sencillos: 6 pasos
¡Alimentador de peces Arduino Uno en 6 pasos baratos y fáciles !: Por lo tanto, es posible que se necesite un poco de historia de fondo para este proyecto. A las personas con peces de compañía probablemente se les presentó el mismo problema que yo: vacaciones y olvidos. Constantemente me olvidaba de alimentar a mis peces y siempre me apresuraba a hacerlo antes de que pasara a
Levitación acústica con Arduino Uno paso a paso (8 pasos): 8 pasos
Levitación acústica con Arduino Uno paso a paso (8 pasos): transductores de sonido ultrasónicos Adaptador hembra de CC L298N Fuente de alimentación con un pin macho de CC Arduino UNOBreadboard Cómo funciona: Primero, carga el código en Arduino Uno (es un microcontrolador equipado con digital y puertos analógicos para convertir código (C ++)
Sistema de alarma contra incendios con Arduino [en unos sencillos pasos]: 3 pasos
Sistema de alarma contra incendios con Arduino [en unos sencillos pasos]: ¿Está buscando hacer un proyecto simple e interesante con Arduino que al mismo tiempo podría ser realmente útil y potencialmente salvavidas? Si es así, ha venido al lugar correcto para aprender algo nuevo e innovador. En este post vamos
Tabla periódica LED interactiva: 12 pasos (con imágenes)
Tabla periódica LED interactiva: Mi novia y yo tenemos una colección de elementos: ¡muestras de los fragmentos únicos de materia que componen todo en el universo! Para una colección tan interesante, decidí construir una vitrina que muestre las muestras en todo su mundo-buildin