- Kinakailangan na Materyal
- Arduino Countdown Timer Circuit Diagram
- Arduino Countdown Timer Code at Paliwanag
Ang timer ay isang uri ng orasan na ginagamit para sa pagsukat ng mga agwat ng oras. Mayroong dalawang uri ng timer, isa na bibilang ng paitaas mula sa zero, para sa pagsukat ng lumipas na oras, na tinatawag na Stopwatch. At, ang pangalawa ay binibilang mula sa isang tinukoy na tagal ng oras na ibinigay ng gumagamit, na karaniwang tinatawag bilang Countdown Timer.
Dito, sa tutorial na ito ipapakita namin sa iyo kung paano gumawa ng isang Countdown Timer gamit ang Arduino. Dito hindi kami gumagamit ng anumang module ng Real Time Clock (RTC) para sa pagkuha ng oras. Ang tagal ng oras ay ibinibigay ng gumagamit sa tulong ng Keypad at 16x2 LCD. At kapag umabot ang timer sa Zero, ang tunog ng alerto ay gagawin sa tulong ng Buzzer.
Kinakailangan na Materyal
- Arduino UNO
- LCD 16 * 2
- 4 * 4 matrix keypad
- Buzzer
- Pushbutton
- Potensyomiter (10k)
- Resistor (10k, 100 ohm)
- Mga kumokonekta na mga wire
Arduino Countdown Timer Circuit Diagram
Ang Arduino Uno ay ginagamit dito bilang pangunahing controller. Ginagamit ang isang keypad para sa pagpapakain ng tagal ng oras at isang 16 * 2 LCD ang ginagamit upang ipakita ang countdown. Ginagamit ang pushbutton upang simulan ang oras. Suriin dito kung paano i-interface ang 4x4 Keypad sa Arduino at 16x2 LCD sa Arduino.
Arduino Countdown Timer Code at Paliwanag
Ang kumpletong Arduino Timer code ay ibinibigay sa pagtatapos ng Project na ito.
Sa code na ito sa ibaba, sinisimulan namin ang mga aklatan para sa keypad at LCD at ang mga variable na ginamit sa code.
# isama
Ngayon, sa code sa ibaba sinisimulan namin ang hindi. ng mga hilera at haligi para sa pagtukoy ng matrix para sa keypad.
const byte ROWS = 4; // Four row const byte COLS = 4; // Three columns char keys = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', ' 8 ',' 9 ',' C '}, {' * ',' 0 ',' # ',' D '}};
Para sa pagkonekta sa 4 * 4 matrix keypad sa Arduino kailangan naming tukuyin ang mga pin para sa mga hilera at haligi. Kaya sa ibaba ng code natukoy namin ang mga pin para sa Keypad pati na rin ang 16x2 LCD.
byte rowPins = {6, 7, 8, 9}; // Ikonekta ang keypad ROW0, ROW1, ROW2 at ROW3 sa mga Arduino pin na byte colPins = {10, 11, 12, 13}; // Ikonekta ang keypad COL0, COL1 at COL2 upang t LiquidCrystal lcd (A0, A1, 5, 4, 3, 2); // Lumilikha ng isang bagay na LC. Mga Parameter: (rs, paganahin, d4, d5, d6, d7)
Ang code sa ibaba ay ginagamit para sa paggawa ng keypad, Keypad kpd = Keypad (makeKeymap (key), rowPins, colPins, ROWS, COLS);
Sa void setFeedingTime () code ng pag-andar, pagkatapos ng pagpindot sa pushbutton nagawa naming ipasok ang oras para sa timer, pagkatapos pagkatapos ipasok ang tagal ng oras ng timer, kailangan naming Pindutin ang D upang simulan ang countdown.
void setFeedingTime () {feed = true; int i = 0; lcd.clear (); lcd.setCursor (0,0); lcd.print ("Itakda ang Oras ng pagpapakain"); lcd.clear (); lcd.print ("HH: MM: SS"); lcd.setCursor (0,1); habang (1) {key = kpd.getKey (); char j; kung (key! = NO_KEY) {lcd.setCursor (j, 1); lcd.print (key); r = key-48; ako ++; j ++; kung (j == 2 - j == 5) {lcd.print (":"); j ++; } pagkaantala (500); } kung (key == 'D') {key = 0; pahinga; }} lcd.clear (); }
Sa walang bisa na pag-andar () na pagpapaandar , nasimulan namin ang LCD at serial na komunikasyon, at tinukoy ang mga pin bilang INPUT at OUTPUT sa ibaba ng code.
walang bisa ang pag-set up () {lcd.begin (16,2); Serial.begin (9600); pinMode (A0, OUTPUT); pinMode (A1, OUTPUT); pinMode (A3, INPUT); pinMode (A4, OUTPUT); }
Ang pagtatrabaho ng Arduino Countdown Timer na ito ay simple ngunit ang code ay medyo kumplikado. Ang code ay ipinaliwanag ng mga komento sa code.
Sa pauna, mai-print nito ang "Arduino Timer" sa LCD display hanggang sa pindutin mo ang pushbutton. Kaagad na pinindot mo ang pushbutton, hihilingin nitong ipasok ang tagal ng countdown ng oras sa pamamagitan ng pagtawag sa " setFeedingTime " na function. Pagkatapos ay maaari mong ipasok ang tagal ng oras sa tulong ng Keypad. Pagkatapos ay kailangan mong pindutin ang 'D' upang makatipid ng oras at simulan ang countdown timer. Dito sa walang bisa na loop () na pag- andar, gumawa kami ng ilang pagkalkula upang mabawasan ang oras nang pangalawa at upang ipakita ang wastong mga halaga ng Oras, Minuto at Segundo (HH: MM: SS) ayon sa natitirang oras. Ang lahat ng mga code ay mahusay na ipinaliwanag sa pamamagitan ng mga komento. Maaari mong suriin ang kumpletong code at Demonstration video sa ibaba.
Habang umabot sa zero ang timer, nagsisimula ang buzzer na beep at beep nang 100 beses lamang (ayon sa code). Upang itigil ang buzzer, pindutin nang matagal ang pushbutton. Maaari mong gamitin ang Pushbutton anumang oras upang ihinto ang timer sa pagitan ng pagbibilang.