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
Posting Komentar
berikan ungkapan hati dan pikiran anda,