Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Wire.h>
- #include <EEPROM.h>
- #include <RTClib.h>
- #include <LiquidCrystal_I2C.h>
- LiquidCrystal_I2C lcd(0x27, 16, 2);
- RTC_DS1307 RTC;
- int temp, inc, hours1, minut, add = 11;
- int next = 3;
- int INC = 4;
- int set_mad = 5;
- int led1 = 8;
- int led2 = 9;
- int led3 = 10;
- #define buzzer 2
- int HOUR, MINUT, SECOND;
- void setup() {
- Wire.begin();
- RTC.begin();
- lcd.init();
- lcd.init();
- lcd.backlight();
- pinMode(INC, INPUT);
- pinMode(next, INPUT);
- pinMode(set_mad, INPUT);
- pinMode(buzzer, OUTPUT);
- pinMode(led1, OUTPUT);
- pinMode(led2, OUTPUT);
- pinMode(led3, OUTPUT);
- digitalWrite(led1, 0);
- digitalWrite(led2, 0);
- digitalWrite(led3, 0);
- lcd.setCursor(0, 0);
- lcd.print("Medicin reminder");
- lcd.setCursor(0, 1);
- lcd.print(" Using Arduino ");
- 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 Medicine ");
- lcd.setCursor(0, 1);
- lcd.print(" Reminder time ");
- delay(2000);
- lcd.clear();
- lcd.setCursor(0, 0);
- lcd.print("Enter Time 1");
- defualt();
- time(1);
- delay(1000);
- lcd.clear();
- lcd.setCursor(0, 0);
- lcd.print("Enter Time 2");
- defualt();
- delay(1000);
- time(2);
- lcd.clear();
- lcd.setCursor(0, 0);
- lcd.print("Enter Time 3");
- defualt();
- time(3);
- lcd.setCursor(0, 0);
- lcd.print("Medicin reminder");
- lcd.setCursor(0, 1);
- lcd.print(" time has 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 x) {
- 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("Enter 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, 0);
- lcd.print("Enter 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) {
- 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]) {
- digitalWrite(led1, 1);
- digitalWrite(led2, 0);
- digitalWrite(led3, 0);
- beep();
- beep();
- beep();
- beep();
- lcd.setCursor(0, 0);
- lcd.print(" Take Group One ");
- lcd.setCursor(0, 1);
- lcd.print(" Medicine ");
- beep();
- beep();
- beep();
- beep();
- digitalWrite(led1, 0);
- digitalWrite(led2, 0);
- digitalWrite(led3, 0);
- }
- if (HOUR == tem[13] && MINUT == tem[14]) {
- digitalWrite(led1, 0);
- digitalWrite(led2, 1);
- digitalWrite(led3, 0);
- beep();
- beep();
- beep();
- beep();
- lcd.setCursor(0, 0);
- lcd.print(" Take Group Two ");
- lcd.setCursor(0, 1);
- lcd.print(" Medicine ");
- beep();
- beep();
- beep();
- beep();
- digitalWrite(led1, 0);
- digitalWrite(led2, 0);
- digitalWrite(led3, 0);
- }
- if (HOUR == tem[15] && MINUT == tem[16]) {
- digitalWrite(led1, 0);
- digitalWrite(led2, 0);
- digitalWrite(led3, 1);
- beep();
- beep();
- beep();
- beep();
- lcd.setCursor(0, 0);
- lcd.print("Take Group Three ");
- lcd.setCursor(0, 1);
- lcd.print(" Medicine ");
- beep();
- beep();
- beep();
- beep();
- digitalWrite(led1, 0);
- digitalWrite(led2, 0);
- digitalWrite(led3, 0);
- }
- }
- void beep() {
- digitalWrite(buzzer, HIGH);
- delay(500);
- digitalWrite(buzzer, LOW);
- delay(500);
- }
Advertisement
Add Comment
Please, Sign In to add comment