- Material Diperlukan
- Diagram Sirkuit Timer Hitung Mundur Arduino
- Kode dan Penjelasan Pengatur Waktu Mundur Arduino
Timer adalah jenis jam yang digunakan untuk mengukur interval waktu. Ada dua jenis pengatur waktu, yang menghitung ke atas dari nol, untuk pengukuran waktu yang telah berlalu, disebut sebagai Stopwatch. Dan, yang kedua menghitung mundur dari durasi waktu tertentu yang disediakan oleh pengguna, biasanya disebut sebagai Timer Hitung Mundur.
Di sini, dalam tutorial ini kami akan menunjukkan cara membuat Timer Hitung Mundur menggunakan Arduino. Di sini kami tidak menggunakan modul Jam Waktu Nyata (RTC) untuk mendapatkan waktu. Durasi waktu disediakan oleh pengguna dengan bantuan Keypad dan LCD 16x2. Dan ketika pengatur waktu mencapai Nol, suara peringatan akan dihasilkan dengan bantuan Buzzer.
Material Diperlukan
- Arduino UNO
- LCD 16 * 2
- 4 * 4 keypad matriks
- Bel
- Tekan tombol
- Potensiometer (10k)
- Resistor (10k, 100 ohm)
- Menghubungkan kabel
Diagram Sirkuit Timer Hitung Mundur Arduino
Arduino Uno digunakan di sini sebagai pengontrol utama. Papan tombol digunakan untuk memasukkan durasi waktu dan LCD 16 * 2 digunakan untuk menampilkan hitungan mundur. Tombol tekan digunakan untuk memulai waktu. Lihat di sini cara menghubungkan Keypad 4x4 dengan Arduino dan LCD 16x2 dengan Arduino.
Kode dan Penjelasan Pengatur Waktu Mundur Arduino
Kode Timer Arduino lengkap diberikan di akhir Proyek ini.
Dalam kode di bawah ini, kami menginisialisasi perpustakaan untuk keypad dan LCD dan variabel yang digunakan dalam kode.
#include
Sekarang, dalam kode di bawah ini kami menginisialisasi no. baris dan kolom untuk menentukan matriks keypad.
const byte ROWS = 4; // Empat baris const byte COLS = 4; // Tiga kolom char keys = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', ' 8 ',' 9 ',' C '}, {' * ',' 0 ',' # ',' D '}};
Untuk menghubungkan keypad matriks 4 * 4 dengan Arduino kita harus menentukan pin untuk baris dan kolom. Jadi dalam kode di bawah ini kami telah menetapkan pin untuk Keypad serta LCD 16x2.
byte rowPins = {6, 7, 8, 9}; // Hubungkan keypad ROW0, ROW1, ROW2 dan ROW3 ke pin Arduino ini byte colPins = {10, 11, 12, 13}; // Hubungkan keypad COL0, COL1 dan COL2 ke LCD LiquidCrystal (A0, A1, 5, 4, 3, 2); // Membuat objek LC. Parameter: (rs, aktifkan, d4, d5, d6, d7)
Kode di bawah ini digunakan untuk membuat keypad, Keypad kpd = Keypad (makeKeymap (kunci), rowPins, colPins, ROWS, COLS);
Dalam kode fungsi setFeedingTime () void , setelah menekan tombol kita dapat memasukkan waktu untuk timer, kemudian setelah memasukkan durasi waktu timer, kita harus Tekan D untuk memulai hitungan mundur.
void setFeedingTime () {feed = true; int i = 0; lcd.clear (); lcd.setCursor (0,0); lcd.print ("Atur Waktu Makan"); lcd.clear (); lcd.print ("HH: MM: SS"); lcd.setCursor (0,1); sementara (1) {key = kpd.getKey (); char j; if (key! = NO_KEY) {lcd.setCursor (j, 1); lcd.print (kunci); r = kunci-48; i ++; j ++; jika (j == 2 - j == 5) {lcd.print (":"); j ++; } penundaan (500); } jika (key == 'D') {key = 0; istirahat; }} lcd.clear (); }
Dalam fungsi void setup () , kami telah menginisialisasi LCD dan komunikasi serial, dan mendefinisikan pin sebagai INPUT dan OUTPUT dalam kode di bawah ini.
void setup () {lcd.begin (16,2); Serial.begin (9600); pinMode (A0, OUTPUT); pinMode (A1, OUTPUT); pinMode (A3, INPUT); pinMode (A4, OUTPUT); }
Cara kerja Timer Hitung Mundur Arduino ini sederhana tetapi kodenya sedikit rumit. Kode tersebut dijelaskan oleh komentar di dalam kode.
Awalnya, ini akan mencetak "Arduino Timer" pada layar LCD sampai Anda menekan tombol tekan. Segera setelah Anda menekan tombol, ia akan meminta untuk memasukkan durasi waktu hitung mundur dengan memanggil fungsi " setFeedingTime ". Kemudian Anda dapat memasukkan durasi waktu dengan bantuan Keypad. Kemudian Anda perlu menekan 'D' untuk menghemat waktu dan memulai penghitung waktu mundur. Di sini, di fungsi void loop () , kami telah melakukan beberapa perhitungan untuk mengurangi waktu detik demi detik dan untuk menunjukkan nilai Jam, Menit dan Detik (HH: MM: SS) yang tepat sesuai dengan waktu yang tersisa. Semua kode dijelaskan dengan baik oleh komentar. Anda dapat memeriksa kode lengkap dan video Demonstrasi di bawah ini.
Saat penghitung waktu mencapai nol, bel mulai berbunyi bip dan berbunyi bip hanya 100 kali (sesuai kode). Untuk menghentikan bel, tekan dan tahan tombol tekan. Anda dapat menggunakan Tombol Tekan kapan saja untuk menghentikan pengatur waktu di antara penghitungan.