// logika pemograman _ implementasi Membuat jam digital
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C LCD = LiquidCrystal_I2C(0x27, 16, 2);
#define Led1 2
#define Up 14
#define Down 12
#define Enter 13
unsigned char Jam,Jam2,Menit,Menit2,Detik,Detik2;
void setup() {
Serial.begin(115200);
pinMode(Led1, OUTPUT);
pinMode(Up, INPUT_PULLUP);
pinMode(Down, INPUT_PULLUP);
pinMode(Enter, INPUT_PULLUP);
LCD.init();
LCD.backlight();
LCD.setCursor(2,0 ); // x = 2 baris , y=0 kolom
LCD.print("TOLI 2A 2023");
delay(1000);
LCD.clear();
LCD.setCursor(0,0 ); // x = 2 baris , y=0 kolom
LCD.print("Sett: ");
LCD.setCursor(0, 1); // x = 0 baris , y=1 kolom
LCD.print("Jam: ");
}
void loop() {
Detik2++;
if (Detik2==10) {
Detik2 = 0;
Detik++;
if (Detik==6) {
Detik = 0;
Menit2++;
}
}
if (Menit2==10) {
Menit2 = 0;
Menit++;
if (Menit==6) {
Menit = 0;
Jam2++;
}
}
if (Jam2==10) {
Jam2 = 0;
Jam++;
}
if (Jam==2) {
Jam2<5;
if (Jam2==4) {
Jam = 0;
Jam2 = 0;
}
}
digitalWrite(Led1, LOW);
delay(500);
digitalWrite(Led1, HIGH);
delay(500);
//----------------------------
//set time
if (digitalRead(Up) == LOW ) {
Jam2++;
if (Jam2==10) {
Jam2 = 0;
Jam++;
}
}
if(digitalRead(Down)==LOW) {
Jam2--;
if (Jam2==0) {
Jam2 = 9;
if (Jam2==9) {
Jam--;
}
}
}
//=== display jam =======
LCD.setCursor(5,1);
LCD.print(Jam);
LCD.print(Jam2);
LCD.print(":");
LCD.print(Menit);
LCD.print(Menit2);
LCD.print(":");
LCD.print(Detik);
LCD.print(Detik2);
}