#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include "RTClib.h"
LiquidCrystal_I2C lcd(0x27,16,2);
RTC_DS1307 rtc;
int buzzer = 6;
int relay = 5;
int sensorPin = A1;
int sensorValue = 0;
char nama2hari[7][12] = {"minggu", "senin", "selasa", "rabu", "Kamis", "jumat", "sabtu"};
void setup() {
lcd.init();
lcd.backlight();
pinMode (sensorPin, INPUT);
pinMode (buzzer, OUTPUT);
pinMode (relay, OUTPUT);
if (! rtc.begin())
{
lcd.print("RTC tidak tersedia");
while(1);
}
if (! rtc.isrunning())
{
lcd.print("RTC tidak berfunsi");
}
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
}
void loop(){
DateTime now = rtc.now();
lcd.setCursor(0, 0);
lcd.print(nama2hari[now.dayOfTheWeek()]);
lcd.print(" ");
lcd.print(now.day());
lcd.print("/");
lcd.print(now.month());
lcd.print("/");
lcd.print(now.year());
lcd.print(" ");
lcd.setCursor(0, 1);
lcd.print(now.hour());
lcd.print(" : ");
lcd.print(now.minute());
lcd.print(" : ");
lcd.print(now.second());
lcd.print(" ");
if(now.minute()==44)
{
digitalWrite(relay,LOW);
lcd.setCursor(13,1);
lcd.print("ON");
}else{
digitalWrite(relay,HIGH);
lcd.setCursor(13, 1);
lcd.print("OFF");
}
sensorValue = analogRead(sensorPin);
if(sensorValue <100)
{
tone (buzzer, 300, 250);
delay(500);
tone (buzzer, 160, 250);
delay(500);
}else{
noTone(buzzer);
}
}
nano:12
nano:11
nano:10
nano:9
nano:8
nano:7
nano:6
nano:5
nano:4
nano:3
nano:2
nano:GND.2
nano:RESET.2
nano:0
nano:1
nano:13
nano:3.3V
nano:AREF
nano:A0
nano:A1
nano:A2
nano:A3
nano:A4
nano:A5
nano:A6
nano:A7
nano:5V
nano:RESET
nano:GND.1
nano:VIN
nano:12.2
nano:5V.2
nano:13.2
nano:11.2
nano:RESET.3
nano:GND.3
lcd1:GND
lcd1:VCC
lcd1:SDA
lcd1:SCL
rtc1:GND
rtc1:5V
rtc1:SDA
rtc1:SCL
rtc1:SQW
relay1:VCC
relay1:GND
relay1:IN
relay1:NC
relay1:COM
relay1:NO
ldr1:VCC
ldr1:GND
ldr1:DO
ldr1:AO
bz1:1
bz1:2