- Wymagany materiał
- Schemat obwodu licznika czasu odliczania Arduino
- Kod i objaśnienie licznika czasu Arduino
Zegar to rodzaj zegara używanego do pomiaru odstępów czasu. Istnieją dwa rodzaje timera, który odlicza od zera w górę, do pomiaru upływającego czasu, nazywany stoperem. Drugi odlicza od określonego czasu podanego przez użytkownika, ogólnie nazywanego odliczaniem czasu.
Tutaj, w tym samouczku, pokażemy, jak utworzyć licznik czasu za pomocą Arduino. Tutaj nie używamy żadnego modułu zegara czasu rzeczywistego (RTC) do pobierania czasu. Czas trwania podaje użytkownik przy pomocy manipulatora i wyświetlacza LCD 16x2. A kiedy licznik osiągnie zero, za pomocą Brzęczyka zostanie wygenerowany dźwięk ostrzegawczy.
Wymagany materiał
- Arduino UNO
- LCD 16 * 2
- Klawiatura matrycowa 4 * 4
- Brzęczyk
- Naciśnij przycisk
- Potencjometr (10k)
- Rezystor (10 k, 100 omów)
- Przewody łączące
Schemat obwodu licznika czasu odliczania Arduino
Jako główny kontroler zastosowano tutaj Arduino Uno. Klawiatura służy do podawania czasu trwania, a wyświetlacz LCD 16 * 2 służy do wyświetlania odliczania. Przycisk służy do rozpoczynania czasu. Sprawdź tutaj jak połączyć klawiaturę 4x4 z Arduino i LCD 16x2 z Arduino.
Kod i objaśnienie licznika czasu Arduino
Kompletny kod timera Arduino jest podany na końcu tego projektu.
W tym kodzie poniżej inicjalizujemy biblioteki dla klawiatury i wyświetlacza LCD oraz zmienne użyte w kodzie.
#zawierać
Teraz w poniższym kodzie inicjalizujemy plik no. wierszy i kolumn do definiowania matrycy klawiatury.
stały bajt ROWS = 4; // Cztery wiersze bajt stały COLS = 4; // Trzy kolumny char keys = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', ' 8 ',' 9 ',' C '}, {' * ',' 0 ',' # ',' D '}};
Aby połączyć klawiaturę matrycową 4 * 4 z Arduino musimy zdefiniować piny dla rzędów i kolumn. Tak więc w poniższym kodzie zdefiniowaliśmy piny dla klawiatury oraz LCD 16x2.
byte rowPins = {6, 7, 8, 9}; // Podłącz klawiaturę ROW0, ROW1, ROW2 i ROW3 do tych pinów Arduino byte colPins = {10, 11, 12, 13}; // Podłącz klawiaturę COL0, COL1 i COL2 to t LiquidCrystal lcd (A0, A1, 5, 4, 3, 2); // Tworzy obiekt LC. Parametry: (rs, enable, d4, d5, d6, d7)
Poniższy kod służy do wykonania manipulatora, Keypad kpd = Keypad (makeKeymap (keys), rowPins, colPins, ROWS, COLS);
W kodzie funkcji void setFeedingTime () po naciśnięciu przycisku możemy wprowadzić czas dla timera, następnie po wpisaniu czasu trwania timera musimy wcisnąć D, aby rozpocząć odliczanie.
void setFeedingTime () {feed = true; int i = 0; lcd.clear (); lcd.setCursor (0,0); lcd.print ("Ustaw czas podawania"); lcd.clear (); lcd.print ("HH: MM: SS"); lcd.setCursor (0,1); while (1) {klucz = kpd.getKey (); char j; if (klucz! = NIE_KLUCZ) {lcd.setCursor (j, 1); lcd.print (klucz); r = klucz-48; i ++; j ++; if (j == 2 - j == 5) {lcd.print (":"); j ++; } opóźnienie (500); } if (klucz == 'D') {klucz = 0; przerwa; }} lcd.clear (); }
W funkcji void setup () zainicjowaliśmy wyświetlacz LCD i komunikację szeregową oraz zdefiniowaliśmy piny jako INPUT i OUTPUT w poniższym kodzie.
void setup () {lcd.begin (16,2); Serial.begin (9600); pinMode (A0, WYJŚCIE); pinMode (A1, WYJŚCIE); pinMode (A3, WEJŚCIE); pinMode (A4, WYJŚCIE); }
Działanie tego licznika czasu Arduino jest proste, ale kod jest trochę skomplikowany. Kod wyjaśniono w komentarzach w kodzie.
Początkowo drukuje „Arduino Timer” na wyświetlaczu LCD, aż do naciśnięcia przycisku. Zaraz po naciśnięciu przycisku poprosi o wprowadzenie czasu odliczania poprzez wywołanie funkcji „ setFeedingTime ”. Następnie możesz wprowadzić czas trwania za pomocą klawiatury. Następnie naciśnij „D”, aby zaoszczędzić czas i rozpocząć odliczanie czasu. Tutaj, w funkcji void loop () , wykonaliśmy obliczenia w celu zmniejszenia czasu z sekundy na sekundę i pokazania odpowiednich wartości godzin, minut i sekund (GG: MM: SS) w zależności od pozostałego czasu. Cały kod jest dobrze wyjaśniony komentarzami. Możesz sprawdzić cały kod i film demonstracyjny poniżej.
Gdy licznik osiągnie zero, brzęczyk zacznie wydawać sygnały dźwiękowe tylko 100 razy (zgodnie z kodem). Aby wyłączyć brzęczyk, naciśnij i przytrzymaj przycisk. Możesz użyć przycisku w dowolnym momencie, aby zatrzymać licznik czasu pomiędzy zliczaniem.