- Anyag szükséges
- Arduino visszaszámláló időzítő áramköri ábra
- Arduino visszaszámláló kód és magyarázat
Az időzítő egy olyan típusú óra, amelyet időintervallumok mérésére használnak. Kétféle időzítő, amely felfelé számol a nullától, a mérés, az eltelt idő, az úgynevezett mint Stopper. És a második visszaszámol a felhasználó által megadott időtartamtól, amelyet általában visszaszámlálónak hívnak .
Itt, ebben a bemutatóban megmutatjuk, hogyan készíthet visszaszámlálót az Arduino használatával. Itt nem használunk egyetlen valós idejű óra (RTC) modult sem az idő megszerzéséhez. Az időtartamot a felhasználó biztosítja a Kezelő és a 16x2 LCD segítségével. És amikor az időzítő eléri a Zero értéket, figyelmeztető hangot adnak ki a Buzzer segítségével.
Anyag szükséges
- Arduino UNO
- LCD 16 * 2
- 4 * 4 mátrixos kezelő
- Berregő
- Nyomógomb
- Potenciométer (10k)
- Ellenállás (10k, 100 ohm)
- Csatlakozó vezetékek
Arduino visszaszámláló időzítő áramköri ábra
Az Arduino Uno-t itt használjuk fő vezérlőként. A kezelőegység az időtartam betáplálására szolgál, a visszaszámlálás megjelenítésére egy 16 * 2-es LCD-t használnak. A nyomógomb az idő elindítására szolgál. Itt ellenőrizheti, hogyan kezelhető a 4x4 kezelő és az Arduino, valamint a 16x2 LCD és az Arduino.
Arduino visszaszámláló kód és magyarázat
A teljes Arduino Timer kód a projekt végén található.
Ebben az alábbi kódban inicializáljuk a kezelő és az LCD könyvtárakat és a kódban használt változókat.
#include
Az alábbi kódban inicializáljuk a nem. sorok és oszlopok a kezelő mátrixának meghatározásához.
konst byte ROWS = 4; // Négy sor const byte COLS = 4; // Három oszlopos char gomb = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', ' 8 ',' 9 ',' C '}, {' * ',' 0 ',' # ',' D '}};
A 4 * 4 mátrixos billentyűzet Arduinóval történő összekapcsolásához meg kell határoznunk a sorok és oszlopok csapjait. Tehát az alábbi kódban meghatároztuk a billentyűzet és a 16x2 LCD gombokat.
byte rowPins = {6, 7, 8, 9}; // Csatlakoztassa a ROW0, ROW1, ROW2 és ROW3 billentyűzetet ezekhez az Arduino csapok byte colPins = {10, 11, 12, 13}; // Csatlakoztassa a COL0, COL1 és COL2 kezelőt t LiquidCrystal lcd (A0, A1, 5, 4, 3, 2); // LC objektumot hoz létre. Paraméterek: (rs, enable, d4, d5, d6, d7)
Az alábbi kódot használjuk a billentyűzet készítéséhez, Kezelő kpd = Kezelő (makeKeymap (kulcsok), rowPins, colPins, ROWS, COLS);
A void setFeedingTime () függvénykódban a nyomógomb megnyomása után meg tudjuk adni az időzítés időpontját, majd az időzítő időtartamának megadása után a D gombot kell megnyomnunk a visszaszámlálás megkezdéséhez.
void setFeedingTime () {feed = true; int i = 0; lcd.clear (); lcd.setCursor (0,0); lcd.print ("Állítsa be az adagolási időt"); lcd.clear (); lcd.print ("ÓÓ: HH: SS"); lcd.setCursor (0,1); while (1) {kulcs = kpd.getKey (); char j; if (kulcs! = NO_KEY) {lcd.setCursor (j, 1); lcd.print (kulcs); r = kulcs-48; i ++; j ++; if (j == 2 - j == 5) {lcd.print (":"); j ++; } késés (500); } if (kulcs == 'D') {kulcs = 0; szünet; }} lcd.clear (); }
A void setup () funkcióban inicializáltuk az LCD és a soros kommunikációt, és az alábbi kódban definiáltuk a csapokat INPUT és OUTPUT.
void setup () {lcd.begin (16,2); Serial.begin (9600); pinMode (A0, OUTPUT); pinMode (A1, OUTPUT); pinMode (A3, INPUT); pinMode (A4, OUTPUT); }
Ennek az Arduino visszaszámlálónak a működése egyszerű, de a kód kissé összetett. A kódot a kód megjegyzései magyarázzák.
Kezdetben az Arduino időzítőt nyomtatja az LCD-kijelzőre, amíg meg nem nyomja a nyomógombot. Amint megnyomja a nyomógombot, a „ setFeedingTime ” funkció meghívásával kéri a visszaszámlálás időtartamának megadását . Ezután a billentyűzet segítségével megadhatja az időtartamot. Ezután meg kell nyomnia a 'D' gombot az idő megtakarításához és a visszaszámláló elindításához. Itt a void loop () függvényben elvégeztünk néhány számítást az idő másodpercről másodpercre történő csökkentésére és az óra, perc és másodperc (ÓÓ: HH: SS) megfelelő értékeinek megjelenítésére a hátralévő idő szerint. Az összes kódot jól megmagyarázzák a megjegyzések. Az alábbiakban ellenőrizheti a teljes kódot és a bemutató videót.
Amint az időzítő eléri a nullát, a hangjelző csak 100-szor sípol (a kódnak megfelelően). A hangjelzés leállításához nyomja meg és tartsa lenyomva a nyomógombot. Bármikor használhatja a nyomógombot az időzítő leállításához a számlálás között.