- Potřebný materiál
- Schéma zapojení Arduino odpočítávacího časovače
- Arduino Countdown Timer Code a vysvětlení
Časovač je typ hodin používaných k měření časových intervalů. Existují dva typy časovačů, z nichž jeden se počítá od nuly směrem nahoru a který se nazývá stopky. A druhý odpočítává od zadané doby trvání poskytnuté uživatelem, obecně nazývané jako odpočítávací časovač.
Tady v tomto tutoriálu vám ukážeme, jak vytvořit odpočítávací časovač pomocí Arduina. Tady nepoužíváme žádný modul hodin reálného času (RTC) pro získávání času. Dobu trvání poskytuje uživatel pomocí klávesnice a 16x2 LCD. A když časovač dosáhne nuly, vydá se výstražný zvuk pomocí bzučáku.
Potřebný materiál
- Arduino UNO
- LCD 16 * 2
- 4 * 4 maticová klávesnice
- Bzučák
- Stiskněte tlačítko
- Potenciometr (10k)
- Rezistor (10k, 100 ohm)
- Připojovací vodiče
Schéma zapojení Arduino odpočítávacího časovače
Arduino Uno se zde používá jako hlavní řadič. K napájení času se používá klávesnice a k zobrazení odpočítávání se používá 16 * 2 LCD. Tlačítko slouží ke spuštění času. Zkontrolujte zde, jak propojit klávesnici 4x4 s Arduino a 16x2 LCD s Arduino.
Arduino Countdown Timer Code a vysvětlení
Kompletní kód časovače Arduino je uveden na konci tohoto projektu.
V tomto kódu níže inicializujeme knihovny pro klávesnici a LCD a proměnné použité v kódu.
#zahrnout
Nyní v níže uvedeném kódu inicializujeme číslo. řádků a sloupců pro definování matice pro klávesnici.
const byte ROWS = 4; // Čtyři řádky const byte COLS = 4; // Tři sloupce char keys = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', ' 8 ',' 9 ',' C '}, {' * ',' 0 ',' # ',' D '}};
Pro připojení maticové klávesnice 4 * 4 k Arduinu musíme definovat piny pro řádky a sloupce. V níže uvedeném kódu jsme tedy definovali piny pro klávesnici i 16x2 LCD.
byte rowPins = {6, 7, 8, 9}; // Připojte klávesnici ROW0, ROW1, ROW2 a ROW3 k těmto pinům Arduino byte colPins = {10, 11, 12, 13}; // Připojte klávesnici COL0, COL1 a COL2 až t LiquidCrystal lcd (A0, A1, 5, 4, 3, 2); // Vytvoří objekt LC. Parametry: (rs, enable, d4, d5, d6, d7)
Níže uvedený kód se používá k výrobě klávesnice, Keyboard kpd = Keypad (makeKeymap (keys), rowPins, colPins, ROWS, COLS);
Ve funkčním kódu void setFeedingTime () můžeme po stisknutí tlačítka zadat čas pro časovač, poté po zadání doby trvání časovače musíme stisknout D pro zahájení odpočítávání.
void setFeedingTime () {feed = true; int i = 0; lcd.clear (); lcd.setCursor (0,0); lcd.print ("Nastavit čas podávání"); lcd.clear (); lcd.print ("HH: MM: SS"); lcd.setCursor (0,1); while (1) {key = kpd.getKey (); char j; if (key! = NO_KEY) {lcd.setCursor (j, 1); lcd.print (klíč); r = klíč-48; i ++; j ++; if (j == 2 - j == 5) {lcd.print (":"); j ++; } zpoždění (500); } if (key == 'D') {key = 0; přestávka; }} lcd.clear (); }
Ve funkci void setup () jsme inicializovali LCD a sériovou komunikaci a v níže uvedeném kódu jsme definovali piny jako INPUT a OUTPUT.
void setup () {lcd.begin (16,2); Serial.begin (9600); pinMode (A0, VÝSTUP); pinMode (A1, VÝSTUP); pinMode (A3, VSTUP); pinMode (A4, VÝSTUP); }
Práce s tímto časovačem Arduino Countdown Timer je jednoduchá, ale kód je trochu složitý. Kód je vysvětlen komentáři v kódu.
Zpočátku bude na LCD displeji tisknout „Arduino Timer“, dokud nestisknete tlačítko. Jakmile stisknete tlačítko, požádá vás o zadání doby odpočítávání voláním funkce „ setFeedingTime “. Poté můžete pomocí klávesnice zadat dobu trvání. Poté musíte stisknout „D“, abyste ušetřili čas a zahájili odpočítávání. Tady ve funkci void loop () jsme provedli nějaký výpočet, abychom čas po sekundě snížili a podle zbývajícího času ukázali správné hodnoty hodin, minut a sekund (HH: MM: SS). Celý kód je dobře vysvětlen komentáři. Níže si můžete prohlédnout kompletní kód a ukázkové video.
Jakmile časovač dosáhne nuly, začne bzučák pípat a pípá pouze 100krát (podle kódu). Chcete-li bzučák zastavit, stiskněte a podržte tlačítko. Tlačítko můžete kdykoli použít k zastavení časovače mezi počítáním.