Taula de continguts:
2025 Autora: John Day | [email protected]. Última modificació: 2025-01-23 14:38
Aquest instructable tracta d’utilitzar una interrupció periòdica per a la sincronització dels programes Arduino. Aquest és un pas per a un incipient programador d'Arduino que sap que l'Arduino pot fer més, però que no sap com fer-ho possible.
Si hi ha un problema de rendiment, suposo que utilitzeu una o més funcions de delay (). El truc és desfer-se de les funcions delay () i substituir una interrupció. La funció delay () obliga Arduino a no fer res mentre s’espera que s’acabi el delay (). L’ús d’una interrupció permet al vostre programa fer altres coses mentre espereu el final del retard. Normalment hi ha una gran quantitat de temps mort no utilitzat que es pot utilitzar per a altres coses quan s’utilitza delay (). L’ús d’una interrupció resol aquest problema.
Pas 1: Gestió de la interrupció
1. Afegiu el controlador d'interrupcions al programa. Simplement copieu i enganxeu a algun lloc superior a setup ();
const unsigned long TIMER0_COUNT = 500; // Interval de temporitzador de 500 ms
// TIMER0 manipulador d’interrupcions volàtil bool time = fals; ISR (TIMER0_COMPA_vect) {recompte llarg estàtic sense signar = 0; if (++ recompte> TIMER0_COUNT) {recompte = 0; temps = cert; // l'hora s'estableix a true cada TIMER0_COUNT ms} // (el temps s'ha d'esborrar a la rutina principal)}
Pas 2: definiu l'interval de temps periòdic
2. Definiu l'interval de temps. Aquesta rutina s'acosta a la interrupció TIMER0, que s'estableix cada ~ 1 msec.
El vostre "interval" és el nombre d'interrupcions TIMER0 que s'ha de processar. Cada interval té aproximadament 1 ms, de manera que definiu quantes interrupcions de TIMER0 s'han de comptar abans d'activar l'interval. IOW, establiu la variable TIMER0_COUNT a la quantitat de mil·lisegons que vulgueu esperar. Per exemple, utilitzeu 500 durant la meitat del segon. Feu servir 3000 durant 3 segons.
Pas 3: inicialització de la interrupció
3. Afegiu el codi "inicialització TIMER0" al mètode setup (). Una vegada més, només cal que copieu i enganxeu a setup ().
// *** inicialització TIMER0 ***
cli (); // desactiva totes les interrupcions TIMSK0 = 0; // desactiva el temporitzador0 per a la jitter inferior OCR0A = 0xBB; // recompte d’interrupcions arbitràries TIMSK0 | = _BV (OCIE0A); // tornar a interrompre sei (); // torna a activar les interrupcions
Pas 4: On afegir el vostre codi
4. Afegiu el codi de "comprovació del temps" al mètode loop (). Copia i enganxa en bucle ().
si (hora) {
temps = fals; // fer alguna cosa aquí}
El "temps = fals;" la línia és important. Sense aquesta línia, les línies "fer alguna cosa aquí" s'executarien cada vegada que el programa executa loop ().
Per descomptat, substituïu les vostres pròpies activitats a la línia "Feu alguna cosa aquí". Comenceu imprimint text o intermitent el LED.
Estàs acabat!
Recomanat:
Arduino Halloween Edition: pantalla emergent de zombis (passos amb imatges): 6 passos
Arduino Halloween Edition: pantalla emergent de zombis (passos amb imatges): voleu espantar els vostres amics i fer soroll a Halloween? O simplement voleu fer una bona broma? Aquesta pantalla emergent de Zombies ho pot fer! En aquest instructiu us ensenyaré a fer zombis fàcilment amb Arduino. L'HC-SR0
Alimentador de peix Arduino Uno en 6 passos fàcils i econòmics: 6 passos
Alimentador de peixos Arduino Uno en 6 passos econòmics i senzills! Les persones amb peixos mascotes probablement tenien el mateix problema que jo: les vacances i l’oblit. Oblidava constantment d’alimentar els meus peixos i sempre em vaig esforçar per fer-ho abans que passés a s
Levitació acústica amb Arduino Uno pas a pas (8 passos): 8 passos
Levitació acústica amb Arduino Uno Step-by-Step (8 passos): transductors de so ultrasònics L298N Dc adaptador femella d'alimentació d'alimentació amb pin DC macho Arduino UNOBreadboard Com funciona: primer, pengeu codi a Arduino Uno (és un microcontrolador equipat amb i ports analògics per convertir codi (C ++)
Taula periòdica LED interactiva: 12 passos (amb imatges)
Taula periòdica LED interactiva: la meva xicota i jo tenim una col·lecció d’elements: mostres dels trossos de matèria únics que formen tot l’univers. Per a una col·lecció tan interessant, vaig decidir construir una vitrina que mostri les mostres en tota la seva construcció mundial
Arduino més barat -- Arduino més petit -- Arduino Pro Mini -- Programació -- Arduino Neno: 6 passos (amb imatges)
Arduino més barat || Arduino més petit || Arduino Pro Mini || Programació || Arduino Neno: …………………………. SUBSCRIU-SE Al meu canal de YouTube per obtenir més vídeos ……. Aquest projecte tracta sobre com connectar un arduino més petit i barat de la història. L’arduino més petit i barat és arduino pro mini. És similar a arduino