Membuat Jam Digital Arduino dengan LCD 16×2 Matrix

Jam digital

Pada dasarnya jam digital yang dapat mengubah waktu hanya dengan menekan tombol.

History

Cara kerja Jam digital ini bekerja seperti ini, setiap 60 detik menit naik angka satu, setiap 60 menit setiap jam naik satu, dan ketika jam sampai jam 13, angka bilangan berubah menjadi satu bukan angka 13. Kita semua tahu bagaimana jam bekerja.

Kemudian jika Anda menahan tombol waktu perubahan untuk satu detik, Anda dapat mengubah waktu menggunakan tombol lain, seperti yang ditunjukkan di video bawah.

Pengalaman belajar Arduino dengan membuat jam digital memang sangat mengasyikkan, akan lebih bagus lagi setelah rancangan jam digital ini selesai anda bisa membuat packing box dengan printer 3D, desain bisa bebas anda rancang.

Video demonstrasi tentang cara menggunakan jam digital LCD biru 16×2

Skema

Skema Rangkaian.


Hanya skematisnya saja.

Kode Script C / C ++

Berikut adalah kode jika ada yang ingin mencobanya sendiri.

#include //to change time, hold chanage time button for 1 second, then use hour chnage and minute change buttons.

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int hour = 12;
int minutes = 0;
int seconds = 0;
int decBtn = 10;
int hrUp = 9;
int hrDwn = 8;
int minUp = 7;
int minDwn = 6;
int hrUpDec = 0;
int hrDwnDec = 0;
int minUpDec = 0;
int minDwnDec = 0;

void setup() {
lcd.begin(16, 2);
pinMode(decBtn, INPUT);
pinMode(hrUp, INPUT);
pinMode(hrDwn, INPUT);
pinMode(minUp, INPUT);
pinMode(minDwn, INPUT);
}

void loop() {
if (digitalRead(decBtn) == HIGH) {
if (digitalRead(hrUp) == HIGH && hrUpDec == 0) {
hrUpDec = 1;
hour = hour + 1;
} else if (digitalRead(hrUp) == LOW) {
hrUpDec = 0;
}
if (digitalRead(hrDwn) == HIGH && hrDwnDec == 0) {
hrDwnDec = 1;
hour = hour – 1;
} else if (digitalRead(hrDwn) == LOW) {
hrDwnDec = 0;
}
if (digitalRead(minUp) == HIGH && minUpDec == 0) {
minUpDec = 1;
minutes = minutes + 1;
} else if (digitalRead(minUp) == LOW) {
minUpDec = 0;
}
if (digitalRead(minDwn) == HIGH && minDwnDec == 0) {
minDwnDec = 1;
minutes = minutes – 1;
} else if (digitalRead(minDwn) == LOW) {
minDwnDec = 0;
}
seconds = 0;
lcd.clear();
if (minutes == 60) {
minutes = 0;
hour = hour + 1;
}
if (minutes < 0) {
minutes = 59;
}
if (hour == 13) {
hour = 1;
}
if (hour < 1) {
hour = 12;
}
lcd.print(hour);
lcd.print(“:”);
if (minutes < 10) {
lcd . cetak ( 0 ); } lcd . cetak ( menit ); penundaan ( 20 ); } Lain jika ( digitalRead ( decBtn ) == RENDAH ) { lcd . clear (); if ( seconds == 60 ) { seconds = 0 ; menit = menit + 1 ; } jika (

menit == 60 ) {
minutes = 0 ; jam = jam + 1 ; } jika ( menit < 0 ) { minutes = 59 ; } jika ( jam == 13 ) { hour = 1 ; } jika ( jam < 1 ) { hour = 12 ; } lcd . cetak ( jam

);
lcd . print ( “:” ); if ( menit < 10 ) { lcd . cetak ( 0 ); } lcd . cetak ( menit ); penundaan ( 1000 ); lcd . clear (); detik = detik + 1 ; } }

referensi artikel: https://www.hackster.io/sharkode/digital-clock-2e5c70

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.