الجمعة، 22 مايو 2020

سلسلة الأردوينو للمبتدئين ( المشروع عـــ16ـــدد ) : ساعة مع منبه تعرض التوقيت و ساعة المنبه بالتناوب مع امكانية تعديل توقيت المنبه

سلسلة الأردوينو للمبتدئين ( المشروع عـــ16ـــدد ) : ساعة مع منبه تعرض التوقيت و ساعة المنبه بالتناوب مع امكانية تعديل توقيت المنبه


المطلوب :
عرض التوقيت و ساعة المنبه امكانية تعديل توقيت لمنبه

القطع المطلوبة

1- اردوينو اونوا
2- شاشة (LCD (16*2
3-مديول RTC
4- 2 زر جرس


المخطط على البروتس










الكود

int alarm_H=0; int alarm_M=0; #include *RTClib.h* #include *Wire.h* RTC_DS1307 RTC; #include *LiquidCrystal.h* const int rs = A1, en = A0, d4 = A2, d5 = A3, d6 = 13, d7 = 12; LiquidCrystal lcd(rs, en, d4, d5, d6, d7); void setup() { lcd.print("Initialising "); lcd.begin(16, 2); lcd.setCursor(4, 0); lcd.print("Initialising"); delay(100); lcd.clear(); lcd.print("Weeelkooom"); delay(100); lcd.clear(); lcd.print("Salem BEN MOUSSA"); lcd.setCursor(4, 2); lcd.print("\\ARDOUINO\\"); delay(200); lcd.clear(); pinMode(10,OUTPUT); pinMode(11,OUTPUT); pinMode(12,INPUT_PULLUP); pinMode(9,INPUT_PULLUP); pinMode(8,INPUT_PULLUP); pinMode(7,INPUT_PULLUP); pinMode(6,INPUT_PULLUP); Wire.begin(); RTC.begin(); RTC.adjust(DateTime(__DATE__, __TIME__)); digitalWrite(10,HIGH); } void loop() { if (digitalRead(8) == LOW){ alarm_H=alarm_H; if (alarm_H < 24){ alarm_H++; lcd.clear(); lcd.setCursor(1,0); lcd.print("set_alarm_H"); lcd.setCursor(4,1); lcd.print(alarm_H); delay(10);} else { lcd.print("alarm_H<=24"); alarm_H=0; delay(10); } } else if (digitalRead(9) == LOW){ alarm_M=alarm_M; if (alarm_M < 60){ alarm_M++; lcd.clear(); lcd.setCursor(1,0); lcd.print("set_alarm_M"); lcd.setCursor(4,1); lcd.print(alarm_M); delay(10);} else { lcd.print("alarm_M<=60"); delay(10); alarm_M=0; } } else { lcd.clear(); DateTime now = RTC.now(); lcd.begin(16, 2); lcd.setCursor(2, 0); lcd.print(now.hour(), DEC); lcd.print(':'); lcd.print(now.minute(), DEC); lcd.print(':'); lcd.print(now.second(), DEC); lcd.setCursor(2, 1); lcd.print(now.year(), DEC); lcd.print(':'); lcd.print(now.month(), DEC); lcd.print(':'); lcd.print(now.day(), DEC); delay(1000); lcd.clear(); lcd.setCursor(4,0); lcd.print("alarm_TIME"); lcd.setCursor(6,1); lcd.print(alarm_H); lcd.print(":"); lcd.print(alarm_M); delay(1000); if ( now.hour() == alarm_H && now.minute() == alarm_M ) { // lcd.noBacklight(); DateTime now = RTC.now(); digitalWrite(11,HIGH); digitalWrite(10,HIGH); delay(10); digitalWrite(10,LOW); delay(10); } else { digitalWrite(11,LOW); digitalWrite(10,HIGH); } } }
------------
فهرس سلسلة مشاريع الأردوينو للمبتدئين
http://salembenmoussa.blogspot.com/2020/05/blog-post_17.html

ليست هناك تعليقات:

التعليقات

بحث هذه المدونة الإلكترونية