- Nepieciešams materiāls
- Arduino atpakaļskaitīšanas taimera shēmas diagramma
- Arduino atpakaļskaitīšanas taimera kods un skaidrojums
Taimeris ir pulksteņa veids, ko izmanto laika intervālu mērīšanai. Pagājušā laika mērīšanai ir divu veidu taimeri, no kuriem viens skaitās uz augšu no nulles, ko sauc par hronometru. Un otrais tiek atskaitīts no lietotāja norādītā laika ilguma, ko parasti sauc par atpakaļskaitīšanas taimeri.
Šajā apmācībā mēs parādīsim, kā izveidot atpakaļskaitīšanas taimeri, izmantojot Arduino. Laika iegūšanai mēs neizmantojam nevienu reālā laika pulksteņa (RTC) moduli. Laika ilgumu nodrošina lietotājs, izmantojot tastatūru un 16x2 LCD. Kad taimeris sasniedz nulli, trauksmes skaņa tiks atskaņota ar skaņas signāla palīdzību.
Nepieciešams materiāls
- Arduino UNO
- LCD 16 * 2
- 4 * 4 matricas tastatūra
- Buzzer
- Uzspied pogu
- Potenciometrs (10k)
- Rezistors (10k, 100 omi)
- Savienojošie vadi
Arduino atpakaļskaitīšanas taimera shēmas diagramma
Arduino Uno šeit tiek izmantots kā galvenais kontrolieris. Tastatūra tiek izmantota laika ilguma ievadīšanai, un 16 * 2 LCD tiek izmantots, lai parādītu atpakaļskaitīšanu. Lai sāktu laiku, tiek izmantota spiedpoga. Pārbaudiet šeit, kā sazināties ar 4x4 tastatūru ar Arduino un 16x2 LCD ar Arduino.
Arduino atpakaļskaitīšanas taimera kods un skaidrojums
Pilnīgs Arduino taimera kods ir norādīts šī projekta beigās.
Šajā zemāk esošajā kodā mēs inicializējam tastatūras un LCD bibliotēkas un tajā izmantotos mainīgos.
# iekļaut
Tagad zemāk esošajā kodā mēs inicializējam nr. rindu un kolonnu tastatūras matricas noteikšanai.
konst baits ROWS = 4; // Četras rindas konst baits COLS = 4; // Trīs kolonnu taustiņi = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', ' 8 ',' 9 ',' C '}, {' * ',' 0 ',' # ',' D '}};
Lai savienotu 4 * 4 matricas tastatūru ar Arduino, mums ir jādefinē rindu un kolonnu tapas. Tātad zemāk esošajā kodā mēs esam definējuši tapas tastatūrai, kā arī 16x2 LCD.
baitu rindaPins = {6, 7, 8, 9}; // Pievienojiet tastatūru ROW0, ROW1, ROW2 un ROW3 šīm Arduino tapām baits colPins = {10, 11, 12, 13}; // Pievienojiet tastatūras COL0, COL1 un COL2 uz t LiquidCrystal lcd (A0, A1, 5, 4, 3, 2); // Izveido LC objektu. Parametri: (rs, iespējot, d4, d5, d6, d7)
Tālāk redzamais kods tiek izmantots tastatūras izveidošanai, Tastatūra kpd = Tastatūra (makeKeymap (taustiņi), rowPins, colPins, ROWS, COLS);
Jo spēkā setFeedingTime () funkcijas kodu, pēc tam nospiežot Pushbutton mēs varam iekļūt laiku taimeri, tad pēc taimera laika ilgumu, mums Nospiediet D, lai sāktu atpakaļskaitīšanas.
void setFeedingTime () {feed = true; int i = 0; lcd.clear (); lcd.setCursor (0,0); lcd.print ("Iestatīt padeves laiku"); lcd.clear (); lcd.print ("HH: MM: SS"); lcd.setCursor (0,1); while (1) {atslēga = kpd.getKey (); char j; if (atslēga! = NO_KEY) {lcd.setCursor (j, 1); lcd.print (atslēga); r = atslēga-48; i ++; j ++; ja (j == 2 - j == 5) {lcd.print (":"); j ++; } kavēšanās (500); } if (atslēga == 'D') {atslēga = 0; pārtraukums; }} lcd.clear (); }
Funkcijā void setup () mēs esam inicializējuši LCD un sērijveida sakarus un zemāk esošajā kodā definējuši tapas kā INPUT un OUTPUT.
void setup () {lcd.begin (16,2); Sērijas sākums (9600); pinMode (A0, OUTPUT); pinMode (A1, OUTPUT); pinMode (A3, INPUT); pinMode (A4, OUTPUT); }
Šī Arduino atpakaļskaitīšanas taimera darbība ir vienkārša, bet kods ir nedaudz sarežģīts. Kods tiek izskaidrots ar komentāriem kodā.
Sākotnēji tas uz LCD displeja drukās “Arduino Timer”, līdz nospiežat spiedpogu. Tiklīdz nospiežat spiedpogu, tā lūgs ievadīt atpakaļskaitīšanas laika ilgumu, izsaucot funkciju “ setFeedingTime ”. Pēc tam ar tastatūras palīdzību var ievadīt laika ilgumu. Tad jums jāpiespiež 'D', lai ietaupītu laiku un sāktu atpakaļskaitīšanas taimeri. Funkcijā void loop () mēs esam veikuši dažus aprēķinus, lai samazinātu laiku sekundi par sekundi un parādītu pareizās stundas, minūtes un sekundes (HH: MM: SS) vērtības atbilstoši atlikušajam laikam. Viss kods ir labi izskaidrots ar komentāriem. Zemāk varat pārbaudīt pilnu kodu un demonstrācijas video.
Kad taimeris sasniedz nulli, skaņas signāls sāk pīkstēt un pīkstēt tikai 100 reizes (saskaņā ar kodu). Lai apturētu skaņas signālu, nospiediet un turiet nospiestu pogu. Varat jebkurā laikā izmantot pogu, lai apturētu taimeri starp skaitīšanu.