Az időzítők a mikrovezérlők alapvető jellemzői, lehetővé téve a feladatok elvégzését pontos időközönként anélkül, hogy a késésekre támaszkodnának. Az Arduino UNO-nak három beépített hardver-időzítője van (Timer0, Timer1 és Timer2), amelyek különféle funkciókhoz konfigurálhatók, például PWM jelek előállítása, időzítési események vagy feladatok ütemezése. Ez az oktatóanyag vezeti Önt az Arduino időzítők megértésén és használatán.
Mire lesz szüksége
- Arduino UNO (vagy egy kompatibilis tábla)
- LED és 220-OHM ellenállás (időzítésen alapuló példákhoz)
- Kenyérlemez és jumper vezetékek
- Arduino IDE telepítve a számítógépére
1. lépés: Az Arduino időzítők megértése
Az Arduino UNO ATMEGA328P mikrovezérlőjének három hardver időzítője van:
Időzítő | Bit felbontás | Elsődleges használat |
---|---|---|
Időzítő0 | 8 bites | Millis (), micros (), PWM az 5., 6. csapon |
Időzítő1 | 16 bites | Szervo könyvtár, PWM a 9., 10. csapokon |
Időzítő2 | 8 bites | Tone () függvény, PWM a 3., 11. csapokon |
Az időzítők legfontosabb jellemzői
- Az időzítők PWM jeleket generálhatnak.
- Az időzítők megszakításokat válthatnak ki.
- Az időzítőket az arduino funkciók, például
delay()
ésmillis()
.
2. lépés: Egyszerű PWM jel előállítása
A PWM (impulzusszélesség -moduláció) jeleket általában használják a LED fényerejének vagy a motor sebességének szabályozására. Használjuk az Timer0 -ot PWM jel létrehozásához.
Példa kód: LED -es fényerő -vezérlés PWM -mel
3. lépés: Időzítők használata megszakításokkal
Konfigurálhatja az időzítőket a megszakítások rendszeres időközönként történő kiváltására. Például az Timer1 beállítható, hogy másodpercenként váltson egy LED -et.
Példa kód: Timer1 megszakítás
4. lépés: Az idő mérése az időzítőkkel
Az időzítők segítségével mérheti a pontos időtartamokat. Az Timer2 kis időközönként alkalmas, mivel ez egy 8 bites időzítő.
Példa kód: Timer2 az időméréshez
5. lépés: Időzítő könyvtárak használata
Az időzítőkkel való munka egyszerűsítéséhez használhat olyan könyvtárakat, mint Időzítő vagy Időtartam.
Az időzítő könyvtár használata
- Telepítse az időzítő könyvtárat az Arduino IDE -be.
- Használja azt a feladatok egyszerű ütemezéséhez:
Az időzítők alkalmazásai
- Pontos PWM jelek generálása a motorvezérléshez
- A feladatok ütemezése blokkolási kód nélkül (például multitasking)
- Az események időintervallumának mérése
- Pontos késések létrehozása nélkül
delay()
- Periodikus műveletek kezelése, például villogó LED -ek vagy adatok küldése
Hibaelhárítás
- Időzítő konfliktusok: Győződjön meg arról, hogy nem használja ugyanazt az időzítőt több funkcióhoz (például a Servo Library és a PWM).
-
Megszakítja a nem működik: Ellenőrizze, hogy a megszakítások engedélyezve vannak -e
interrupts()
. - Váratlan viselkedés: Ellenőrizze duplán az PresCaler-t, és hasonlítsa össze a megfelelő időzítéshez való egyeztetési értékeket.
Következtetés
Megtanulta, hogyan kell használni az Arduino időzítőket a PWM jelek előállításához, a megszakítások kezeléséhez és az idő méréséhez. Az időzítők elsajátítása nagy teljesítményű funkciókat nyit a hatékony és pontos Arduino projektek létrehozásához. Kísérletezzen különböző konfigurációkkal, és alkalmazza az időzítőket a következő projekt optimalizálásához!