#include <Wire.h>
byte jamSaatIni = 7;
byte menitSaatIni = 30;
void setup() {
Serial.begin(9600);
// Contoh untuk menambah 1 jam
//tambahWaktu(1, 15);
// Contoh untuk menambah 30 menit
//tambahWaktu(1, 30);
// Contoh untuk mengurangkan 1 jam
kurangWaktu(0, 30);
// Contoh untuk mengurangkan 15 menit
//kurangWaktu(1, 15);
delay(1000);
}
void loop() {
}
void tambahWaktu(byte jamTambahan, byte menitTambahan, byte &outJam, byte &outMenit) {
jamSaatIni += jamTambahan;
menitSaatIni += menitTambahan;
// Jika menit melebihi 60, tambahkan ke jam dan atur kembali menit
if (menitSaatIni >= 60) {
menitSaatIni -= 60;
jamSaatIni++;
}
// Jika jam melebihi 24, atur kembali ke 0
if (jamSaatIni >= 24) {
jamSaatIni -= 24;
}
tampilkanWaktu();
}
void kurangWaktu(byte jamPengurangan, byte menitPengurangan) {
if (jamSaatIni >= jamPengurangan) {
jamSaatIni -= jamPengurangan;
} else {
jamSaatIni = 24 - (jamPengurangan - jamSaatIni);
}
if (menitSaatIni >= menitPengurangan) {
menitSaatIni -= menitPengurangan;
} else {
menitSaatIni = 60 - (menitPengurangan - menitSaatIni);
jamSaatIni--;
}
tampilkanWaktu();
}
void tampilkanWaktu() {
Serial.print("Waktu: ");
Serial.print(jamSaatIni / 10); // Bagian puluhan jam
Serial.print(jamSaatIni % 10); // Bagian satuan jam
Serial.print(":");
Serial.print(menitSaatIni / 10); // Bagian puluhan menit
Serial.println(menitSaatIni % 10); // Bagian satuan menit
}