jam digital arduino tanpa rtc

bikinnya mudah tanpa modul rtc hanya modul dht11 dan lcd 16x2.
sketch :

#include <LiquidCrystal.h>
// Setting LCD RS E D4 D5 D6 D7
LiquidCrystal lcd(7, 6, 9, 10, 11,12);
#include<Time.h>

void setup() {
  dht.begin(); //memulai komunikasi dengan sensor
lcd.begin(16,2);
lcd.clear(); 
lcd.print("SUHU DAN ");
    lcd.setCursor(0,1);
 lcd.print("KELEMBABAN");  
    delay(3000);
 //atur waktu default, jadi bila daya mati mesti setting waktu  
setTime(16,46,00,1,5,20);
}

void loop() {
//Kelender Tahun 2020
if(day() >= 29 && month() == 2 && year() == 20){
  setTime(0,0,0,1,3,20); }
else if(day() >= 30 && month() == 4 && year() == 20){
  setTime(0,0,0,1,5,20); }
else if(day() >= 30 && month() == 6 && year() == 20){
  setTime(0,0,0,1,7,20); }
else if(day() >= 30 && month() == 9 && year() == 20){
  setTime(0,0,0,1,10,20); }
else if(day() >= 30 && month() == 11 && year() == 20){
  setTime(0,0,0,1,12,20); }

else if(hour() == 0 && minute() == 0 && second() == 0){
  lcd.clear();
  lcd.print ("Date: ");
  printkurangdarinol(day());
  lcd.print(":");
  printkurangdarinol(month());
  lcd.print(":");
  printkurangdarinol(year());

  lcd.setCursor(0,1);
  lcd.print("Time: ");
  printkurangdarinol(hour());
  lcd.print(":");
  printkurangdarinol(minute());
  lcd.print(":");
  printkurangdarinol(second());
}
lcd.clear();
lcd.print ("Date: ");
printkurangdarinol(day());
lcd.print(":");
printkurangdarinol(month());
lcd.print(":");
printkurangdarinol(year());

lcd.setCursor(0,1);
lcd.print("Time: ");
printkurangdarinol(hour());
lcd.print(":");
printkurangdarinol(minute());
lcd.print(":");
printkurangdarinol(second());
    delay(2000);
lcd.clear();


  //Jeda beberapa detik antara setiap pengukuran.
  //Membaca suhu atau kelembaban memakan waktu sekitar 250 milliseconds!
  //Untuk tipe pabrikan sensor yang lama mungkin bisa sampai 2 detik

  float h = dht.readHumidity();
  //Membaca suhu dalam Celsius (the default)
  float t = dht.readTemperature();
  //Membaca suhu dalam Fahrenheit (isFahrenheit = true)
  float f = dht.readTemperature(true);

  //Periksa jika terjadi kegagalan dalam pembacaan dan keluar sesegara mungkin untuk membaca ulang.
  if (isnan(h) || isnan(t) || isnan(f)) {
    
    return;
  }

  //Menghitung index panas dalam Fahrenheit (the default)
  float hif = dht.computeHeatIndex(f, h);
  //Menghitung index panas dalam Celsius (isFahreheit = false)
  float hic = dht.computeHeatIndex(t, h, false);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("KELEMBABAN: ");
lcd.setCursor(0,1);
lcd.print(h);
delay(3000);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("SUHU :");
lcd.setCursor(0,1);
lcd.print(t);
lcd.setCursor(6,1);
lcd.print("CELCIUS");
delay(3000);
  
}

void printkurangdarinol(int data){
  if (data >= 0 && data < 10){
    lcd.write('0');
  }
  lcd.print(data);
}


utk rangkaiannya, anda bisa cek di sketchnya.... (biar agak berpikir hehe).

Komentar

Postingan Populer