DIY Clock Using By Arduino
What's App Group :- https://chat.whatsapp.com/I4Nv0YEt1hK3Z9EVjsvngh
Zip i2c :- https://drive.google.com/file/d/1-OFtSUA04vZjHdXWHE3MpwxeZq4K6esz/view?usp=drivesdk
Zip 16x2 :- https://drive.google.com/file/d/1-Mv62C4WyZ64ZH1XOaRnttN4s1FuH-iV/view?usp=drivesdk
Password :- TechnicalidEas07
I2C
Code :-
/* code started
#define push1= 10;
#define push2= 11;
#define push3= 12;
#define buzzer= 13;
created by Technical idEas (YT)
chennal link :- https://youtube.com/c/TechnicalidEas07
diy clock using by arduino
*/
#include <Wire.h>
#include<EEPROM.h>
#include <RTClib.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,20,4);
RTC_DS1307 RTC;
int temp, inc, hours1, minut, add = 11;
int next = 10;
int INC = 11;
int set_mad = 12;
#define buzzer 13
int HOUR, MINUT, SECOND;
void setup()
{
lcd.init(); // initialize the lcd
lcd.init();
// Print a message to the LCD.
lcd.backlight();
Wire.begin();
RTC.begin();
lcd.begin(16, 2);
pinMode(INC, INPUT);
pinMode(next, INPUT);
pinMode(set_mad, INPUT);
pinMode(buzzer, OUTPUT);
digitalWrite(next, HIGH);
digitalWrite(set_mad, HIGH);
digitalWrite(INC, HIGH);
digitalWrite(buzzer, LOW);
lcd.setCursor(0, 0);
lcd.print(" SAMRAT");
delay(2000);
if (!RTC.isrunning())
{
RTC.adjust(DateTime(__DATE__, __TIME__));
}
}
void loop()
{
int temp = 0, val = 1, temp4;
DateTime now = RTC.now();
if (digitalRead(set_mad) == 0)
{
lcd.setCursor(0, 0);
lcd.print(" Set Alarm ");
delay(2000);
defualt();
time();
delay(1000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" Alarm Time ");
lcd.setCursor(0, 1);
lcd.print(" Has Been Set ");
delay(2000);
}
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Time:");
lcd.setCursor(6, 0);
lcd.print(HOUR = now.hour(), DEC);
lcd.print(":");
lcd.print(MINUT = now.minute(), DEC);
lcd.print(":");
lcd.print(SECOND = now.second(), DEC);
lcd.setCursor(0, 1);
lcd.print("Date: ");
lcd.print(now.day(), DEC);
lcd.print("/");
lcd.print(now.month(), DEC);
lcd.print("/");
lcd.print(now.year(), DEC);
match();
delay(200);
}
void defualt()
{
lcd.setCursor(0, 1);
lcd.print(HOUR);
lcd.print(":");
lcd.print(MINUT);
lcd.print(":");
lcd.print(SECOND);
}
void time()
{
int temp = 1, minuts = 0, hours = 0, seconds = 0;
while (temp == 1)
{
if (digitalRead(INC) == 0)
{
HOUR++;
if (HOUR == 24)
{
HOUR = 0;
}
while (digitalRead(INC) == 0);
}
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Set Alarm Time ");
//lcd.print(x);
lcd.setCursor(0, 1);
lcd.print(HOUR);
lcd.print(":");
lcd.print(MINUT);
lcd.print(":");
lcd.print(SECOND);
delay(100);
if (digitalRead(next) == 0)
{
hours1 = HOUR;
EEPROM.write(add++, hours1);
temp = 2;
while (digitalRead(next) == 0);
}
}
while (temp == 2)
{
if (digitalRead(INC) == 0)
{
MINUT++;
if (MINUT == 60)
{
MINUT = 0;
}
while (digitalRead(INC) == 0);
}
// lcd.clear();
lcd.setCursor(0, 1);
lcd.print(HOUR);
lcd.print(":");
lcd.print(MINUT);
lcd.print(":");
lcd.print(SECOND);
delay(100);
if (digitalRead(next) == 0)
{
minut = MINUT;
EEPROM.write(add++, minut);
temp = 0;
while (digitalRead(next) == 0);
}
}
delay(1000);
}
void match()
{
int tem[17];
for (int i = 11; i < 17; i++)
{
tem[i] = EEPROM.read(i);
}
if (HOUR == tem[11] && MINUT == tem[12])
{
beep();
beep();
beep();
beep();
lcd.clear();
lcd.print("Wake Up....");
lcd.setCursor(0, 1);
lcd.print("Wake Up....");
beep();
beep();
beep();
beep();
}
}
void beep()
{
digitalWrite(buzzer, HIGH);
delay(500);
digitalWrite(buzzer, LOW);
delay(500);
}



Comments
Post a Comment