// 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,Menit,Detik;
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() {
Detik++;
if (Detik==60) {
Detik = 0;
Menit++;
}
if (Menit==60) {
Menit = 0;
Jam++;
}
if (Jam==24) {
Jam = 0;
}
digitalWrite(Led1, LOW);
delay(500);
digitalWrite(Led1, HIGH);
delay(500);
//----------------------------
//set time
if (digitalRead(Up) == LOW ) {
delay(1);
Menit++;
if (Menit==60) {
Menit = 0;
Jam++;
}
while (digitalRead(Up) == LOW) {}
}
//=== display jam =======
LCD.setCursor(5,1);
LCD.print(Jam);
LCD.print(":");
LCD.print(Menit);
LCD.print(":");
LCD.print(Detik);
}