ఆర్టిసి మాడ్యూల్ ఉపయోగించి ఆర్డునో డిజిటల్ క్లాక్

సమస్యలను తొలగించడానికి మా పరికరాన్ని ప్రయత్నించండి





ఈ పోస్ట్‌లో మేము ఆర్టీసీ లేదా రియల్ టైమ్ క్లాక్ మాడ్యూల్ ఉపయోగించి డిజిటల్ గడియారాన్ని నిర్మించబోతున్నాం. “RTC” మాడ్యూల్ అంటే ఏమిటి, ఆర్డునోతో ఎలా ఇంటర్ఫేస్ చేయాలి మరియు అది ఏమి చేస్తుందో మేము అర్థం చేసుకుంటాము.

రచన:



RTC మాడ్యూల్ ఒక సర్క్యూట్, ఇది ప్రస్తుత సమయాన్ని ఖచ్చితంగా ట్రాక్ చేస్తుంది. ఇది రెండు విధులు చేస్తుంది, ఇది మైక్రోకంట్రోలర్లు మరియు మైక్రోప్రాసెసర్‌లతో కమ్యూనికేట్ చేస్తుంది, ప్రస్తుత సమయం ఇవ్వడానికి మరియు విద్యుత్ వైఫల్యం విషయంలో సమయాన్ని నిర్వహించడానికి బ్యాకప్ సర్క్యూట్‌గా పనిచేస్తుంది, ఎందుకంటే ఇది బిల్డ్-ఇన్ బ్యాటరీ బ్యాకప్ వ్యవస్థను కలిగి ఉంది.

గాడ్జెట్ యొక్క సమయం ఒక ముఖ్యమైన పని అయిన ఏ ఎలక్ట్రానిక్ పరికరాల్లోనైనా మేము RTC ని కనుగొనవచ్చు.



ఉదాహరణకు, విద్యుత్తు ఆపివేయబడిన తర్వాత లేదా బ్యాటరీ తొలగించబడిన తర్వాత కూడా మా కంప్యూటర్ లేదా ల్యాప్‌టాప్ దాని సమయాన్ని నిర్వహిస్తుంది. ఏదైనా కంప్యూటర్ యొక్క మదర్‌బోర్డులో మేము CMOS బ్యాటరీని కనుగొనవచ్చు, ఇది RTC సర్క్యూట్‌కు శక్తినిస్తుంది.

ఈ రకమైన సర్క్యూట్ మేము ఈ ప్రాజెక్ట్లో ఉపయోగించబోతున్నాము.

RTC మాడ్యూల్ చవకైన పరికరం, ఇది ఏదైనా ఇ-కామర్స్ సైట్లు మరియు మీ స్థానిక ఎలక్ట్రానిక్ ప్రాజెక్ట్ షాపులలో చూడవచ్చు.

సాధారణ RTC మాడ్యూల్ DS1307 యొక్క ఉదాహరణ:

చాలా RTC గుణకాలు కొనుగోలు సమయంలో బ్యాటరీ (CR2032) తో వస్తాయి. పరిమాణం మరియు మోడళ్లకు భిన్నమైనవి ఉన్నాయి, పైన వివరించినవి మీకు ఒకేలా ఉండకపోవచ్చు. కానీ మోడల్ సంఖ్య DS1307 అని నిర్ధారించుకోండి. ఈ పోస్ట్‌లో వ్రాసిన కోడ్ DS1307 తో మాత్రమే అనుకూలంగా ఉంటుంది.

ఇప్పుడు మీకు ఆర్టీసీల గురించి కొంత తెలుసు. ఇప్పుడు డిజిటల్ గడియార రూపకల్పనకు వెళ్దాం. ఈ ప్రాజెక్ట్‌తో కొనసాగడానికి ముందు మీరు ఈ క్రింది లింక్‌ల నుండి లైబ్రరీని డౌన్‌లోడ్ చేసుకొని మీ IDE లో ఇన్‌స్టాల్ చేయాలి:

• DS1307RTC.h

లింక్: github.com/PaulStoffregen/DS1307RTC

• టైమ్‌లిబ్.హెచ్

లింక్: github.com/PaulStoffregen/Time

మీరు తాజా వెర్షన్‌లో ఉంటే ఇతర రెండు లైబ్రరీలను Arduino IDE లో ముందే ఇన్‌స్టాల్ చేసి ఉండేది.

• లిక్విడ్ క్రిస్టల్.హెచ్

• వైర్.హెచ్

సర్క్యూట్:

Arduino మరియు LCD డిస్ప్లే మధ్య సర్క్యూట్ కనెక్షన్ ప్రామాణికం, ఇది ఇతర LCD ఆధారిత ప్రాజెక్టులలో ఇలాంటి కనెక్షన్‌ను కనుగొనవచ్చు. ఆర్టిసి మాత్రమే అదనపు భాగం.

ప్రోటోటైప్ సమయంలో వైర్ రద్దీని తగ్గించడానికి, ఆర్టిసిని నేరుగా ఆర్డ్యునో యొక్క అనలాగ్ పిన్స్‌కు చేర్చవచ్చు. SCL, SDA, Vcc మరియు GND లను మగ హెడర్ పిన్‌లతో టంకం చేసి, ప్రోటోటైప్‌లో చూపిన విధంగా A2 పిన్‌లకు A2 ను చొప్పించండి.

రచయిత యొక్క నమూనా:

ఆర్డునోలో ఆర్టీసీని సరిగ్గా ఎలా ఇన్సర్ట్ చేయాలి:

మీ RTC వేర్వేరు పిన్ స్థానాలను కలిగి ఉంటే మరియు పైన వివరించిన విధంగా ప్రతిరూపం చేయలేకపోతే, మీరు ఎల్లప్పుడూ కనెక్షన్ కోసం వైర్లను ఉపయోగించవచ్చు. ఇప్పుడు మీ హార్డ్‌వేర్ సెటప్ పూర్తయింది, ప్రాజెక్ట్ యొక్క సాఫ్ట్‌వేర్ భాగానికి వెళ్దాం.

సమయాన్ని ఎలా సెట్ చేయాలి:

ఆర్టీసీ మాడ్యూల్ ప్రోగ్రామ్ చేయబడిన తర్వాత, అది ఆర్డునో నుండి తొలగించబడిన సమయాన్ని కూడా నిర్వహిస్తుంది. బ్యాటరీ కనీసం కొన్ని సంవత్సరాలు ఉండాలి.

కింది ప్రోగ్రామ్ RTC లో సమయాన్ని సెట్ చేసే సమయాన్ని సర్దుబాటు చేయడానికి బటన్ లేదు. కోడ్‌ను కంపైల్ చేసేటప్పుడు సమయం మీ కంప్యూటర్ సమయంతో స్వయంచాలకంగా సమకాలీకరించబడుతుంది, కాబట్టి ప్రోగ్రామ్‌లను అప్‌లోడ్ చేయడానికి ముందు మీ కంప్యూటర్ సమయాన్ని సరిచేయడానికి సెట్ చేయబడిందని నిర్ధారించుకోండి.
RTC ప్లగిన్ చేయబడిన సమయాన్ని సెట్ చేయడానికి ఈ “సెట్‌టైమ్” కోడ్‌ను అప్‌లోడ్ చేయండి:

#include  #include  #include  int P=A3 //Assign power pins for RTC int N=A2 const char *monthName[12] = { 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' } tmElements_t tm void setup() { pinMode(P,OUTPUT) pinMode(N,OUTPUT) digitalWrite(P,HIGH) digitalWrite(N,LOW) bool parse=false bool config=false // get the date and time the compiler was run if (getDate(__DATE__) && getTime(__TIME__)) { parse = true // and configure the RTC with this info if (RTC.write(tm)) { config = true } } Serial.begin(9600) while (!Serial)  // wait for Arduino Serial Monitor delay(200) if (parse && config) { Serial.print('DS1307 configured Time=') Serial.print(__TIME__) Serial.print(', Date=') Serial.println(__DATE__) } else if (parse) { Serial.println('DS1307 Communication Error :-{') Serial.println('Please check your circuitry') } else { Serial.print('Could not parse info from the compiler, Time='') Serial.print(__TIME__) Serial.print('', Date='') Serial.print(__DATE__) Serial.println(''') } } void loop() { } bool getTime(const char *str) { int Hour, Min, Sec if (sscanf(str, '%d:%d:%d', &Hour, &Min, &Sec) != 3) return false tm.Hour = Hour tm.Minute = Min tm.Second = Sec return true } bool getDate(const char *str) { char Month[12] int Day, Year uint8_t monthIndex if (sscanf(str, '%s %d %d', Month, &Day, &Year) != 3) return false for (monthIndex = 0 monthIndex < 12 monthIndex++) { if (strcmp(Month, monthName[monthIndex]) == 0) break } if (monthIndex >= 12) return false tm.Day = Day tm.Month = monthIndex + 1 tm.Year = CalendarYrToTm(Year) return true } 

ఈ కోడ్ అప్‌లోడ్ అయిన తర్వాత, సీరియల్ మానిటర్‌ను తెరవండి మరియు సమయం సెట్ చేయబడిందని విజయ సందేశాన్ని పాపప్ చేయాలి.

ఇది RTC మరియు arduino మధ్య మీ కనెక్షన్ సరైనదని మరియు సమయం సెట్ చేయబడిందని సూచిస్తుంది.

ఇప్పుడు LCD లో సమయాన్ని ప్రదర్శించడానికి క్రింది కోడ్‌ను అప్‌లోడ్ చేయండి.

//------------Program Developed by R.Girish-------// #include  #include  #include  #include  LiquidCrystal lcd(12, 11, 5, 4, 3, 2) int P=A3 int N=A2 void setup() { lcd.begin(16,2) pinMode(P,OUTPUT) pinMode(N,OUTPUT) digitalWrite(P,HIGH) digitalWrite(N,LOW) } void loop() { tmElements_t tm lcd.clear() if (RTC.read(tm)) { if(tm.Hour>=12) { lcd.setCursor(14,0) lcd.print('PM') } if(tm.Hour<12) { lcd.setCursor(14,0) lcd.print('AM') } lcd.setCursor(0,0) lcd.print('TIME:') if(tm.Hour>12) //24Hrs to 12 Hrs conversion// { if(tm.Hour==13) lcd.print('01') if(tm.Hour==14) lcd.print('02') if(tm.Hour==15) lcd.print('03') if(tm.Hour==16) lcd.print('04') if(tm.Hour==17) lcd.print('05') if(tm.Hour==18) lcd.print('06') if(tm.Hour==19) lcd.print('07') if(tm.Hour==20) lcd.print('08') if(tm.Hour==21) lcd.print('09') if(tm.Hour==22) lcd.print('10') if(tm.Hour==23) lcd.print('11') } else { lcd.print(tm.Hour) } lcd.print(':') lcd.print(tm.Minute) lcd.print(':') lcd.print(tm.Second) lcd.setCursor(0,1) lcd.print('DATE:') lcd.print(tm.Day) lcd.print('/') lcd.print(tm.Month) lcd.print('/') lcd.print(tmYearToCalendar(tm.Year)) } else { if (RTC.chipPresent()) { lcd.setCursor(0,0) lcd.print('RTC stopped!!!') lcd.setCursor(0,1) lcd.print('Run SetTime code') } else { lcd.clear() lcd.setCursor(0,0) lcd.print('Read error!') lcd.setCursor(0,1) lcd.print('Check circuitry!') } delay(500) } delay(500) } //------------Program Developed by R.Girish-------// 

ఇది పూర్తయిన తర్వాత మీరు సమయం మరియు తేదీని LCD లో ప్రదర్శిస్తూ నడుస్తున్నట్లు చూడాలి.

గమనిక: RTC మాడ్యూల్ కోసం వైర్ కనెక్షన్‌లను ఆప్టిమైజ్ చేయడానికి DS1307RTC యొక్క ఉదాహరణ కోడ్ నుండి “సెట్‌టైమ్” కోడ్ సవరించబడింది, అసలు కోడ్‌ను అప్‌లోడ్ చేయడం సమయం సెట్ చేయదు.

Arduino ఉపయోగించి డిజిటల్ అలారం గడియారం

పైన పేర్కొన్న వాటిలో RTC మాడ్యూల్ ఉపయోగించి ప్రాథమిక ఆర్డునో గడియారాన్ని ఎలా నిర్మించాలో నేర్చుకున్నాము, ఈ క్రింది సెకనులో ఇది ఆర్డునోను ఉపయోగించి డిజిటల్ అలారం క్లాక్ సర్క్యూట్‌లోకి ఎలా అప్‌గ్రేడ్ చేయవచ్చో పరిశీలిస్తాము.

అలారం గడియారం అవసరం లేని కొంతమంది ఉన్నారు, వారు సహజంగా మేల్కొంటారు మరియు అలారం గడియారం రింగులు తర్వాత కొన్ని సార్లు మేల్కొనేవారు ఉన్నారు మరియు కొంతమంది తాత్కాలికంగా ఆపివేసే బటన్‌ను నొక్కి, వారి కళాశాల / పని కోసం ఆలస్యంగా వెళ్తారు కొన్ని సాకులు.

ప్రతిపాదిత సరదా చిన్న అలారం గడియారం ప్రాజెక్ట్ ఉదయం మేల్కొనే సమయంలో సోమరితనం సమస్యను ఎదుర్కొంటుంది. చాలా అలారం గడియారాలు తాత్కాలికంగా ఆపివేసే బటన్‌ను కలిగి ఉంటాయి మరియు వినియోగదారు స్పందించకపోతే అలారం కోసం ముందుగా నిర్ణయించిన కట్-ఆఫ్ సమయం ఉంటుంది.

మేము ఈ అలారం గడియారాన్ని సోమరితనం బటన్ (తాత్కాలికంగా ఆపివేయి బటన్) లేకుండా రూపొందించాము మరియు వినియోగదారు బటన్‌ను నొక్కే వరకు అలారం ఆపివేయబడదు.

ఈ గడియారం 12 గంటల ఆకృతిలో మరియు తేదీని DD / MM / YYYY ఆకృతిలో చూపగలదు.

సమయం మరియు తేదీ 16 x 2 LCD డిస్ప్లేలో ప్రదర్శించబడుతుంది. ఒక RTC లేదా రియల్ టైమ్ క్లాక్ టైమ్ మాడ్యూల్ సమయాన్ని ట్రాక్ చేయడంలో జాగ్రత్త తీసుకుంటుంది మరియు సుదీర్ఘ విద్యుత్ కోత తర్వాత కూడా సరైన సమయాన్ని నిలుపుకోగలదు.

5 బటన్లు అందించబడ్డాయి, వీరి పనితీరు త్వరలో వివరించబడుతుంది. ప్రాజెక్ట్ యొక్క మెదడు Arduino మీకు నచ్చిన ఏ మోడల్ అయినా చేయగలదు, దాని కాంపాక్ట్ పరిమాణం కారణంగా మేము Arduino pro mini లేదా Arduino నానోని సిఫారసు చేస్తాము.

ఇప్పుడు స్కీమాటిక్స్ లోకి ప్రవేశిద్దాం.

పైన పేర్కొన్నది ఆర్డునో కనెక్షన్‌ను ప్రదర్శించడం, 10 కె పొటెన్షియోమీటర్‌ను తిప్పడం ద్వారా డిస్ప్లే కాంట్రాస్ట్‌ను సర్దుబాటు చేయడం.

దిగువ మిగిలిన సర్క్యూట్:

సర్క్యూట్ 9V 500mA వాల్ అడాప్టర్తో శక్తినివ్వగలదు.

5 బటన్ల విధులు:

S1 - అలారం ఆపడానికి ఇది ఉపయోగించబడుతుంది (ఇది రీసెట్ బటన్ కూడా).
S2 - అలారం సెట్ చేయడానికి ఉపయోగిస్తారు. S2 ని ఎక్కువసేపు నొక్కడం ద్వారా మీరు అలారం సెట్టింగ్ మెనుని పొందుతారు.
ఎస్ 3 - ఇది గంటలను పెంచడానికి ఉపయోగించబడుతుంది.
S4 - ఇది నిమిషాలు పెంచడానికి ఉపయోగించబడుతుంది.
S5 - అలారం స్థితిని టోగుల్ చేయడానికి ఉపయోగిస్తారు. కుడి వైపు దిగువ మూలలోని LCD డిస్ప్లేలో “*” ఉన్నట్లయితే, అలారం ఆన్‌లో ఉంది, “*” లేకపోతే అలారం గణాంకాలు ఆఫ్‌లో ఉన్నాయి.

అలారం ఎలా సెట్ చేయాలో మరింత వివరంగా వ్యాసం దిగువన వివరించబడింది.

దిగువ లైబ్రరీ ఫైళ్ళను డౌన్‌లోడ్ చేయండి:

లింక్ 1: github.com/PaulStoffregen/DS1307RTC
లింక్ 2: github.com/PaulStoffregen/Time

ఇప్పుడు, మేము RTC మాడ్యూల్‌కు సమయాన్ని సెట్ చేయాలి, సమయం మీ PC నుండి RTC మాడ్యూల్‌కు సమకాలీకరించబడుతుంది.

సమయాన్ని సెట్ చేయడానికి క్రింది కోడ్‌ను అప్‌లోడ్ చేయండి మరియు సీరియల్ మానిటర్‌ను తెరవండి:

//------------------------------------------------// #include  #include  #include  const char *monthName[12] = { 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' } tmElements_t tm void setup() { bool parse=false bool config=false // get the date and time the compiler was run if (getDate(__DATE__) && getTime(__TIME__)) { parse = true // and configure the RTC with this info if (RTC.write(tm)) { config = true } } Serial.begin(9600) while (!Serial)  // wait for Arduino Serial Monitor delay(200) if (parse && config) { Serial.print('DS1307 configured Time=') Serial.print(__TIME__) Serial.print(', Date=') Serial.println(__DATE__) } else if (parse) { Serial.println('DS1307 Communication Error :-{') Serial.println('Please check your circuitry') } else { Serial.print('Could not parse info from the compiler, Time='') Serial.print(__TIME__) Serial.print('', Date='') Serial.print(__DATE__) Serial.println(''') } } void loop() { } bool getTime(const char *str) { int Hour, Min, Sec if (sscanf(str, '%d:%d:%d', &Hour, &Min, &Sec) != 3) return false tm.Hour = Hour tm.Minute = Min tm.Second = Sec return true } bool getDate(const char *str) { char Month[12] int Day, Year uint8_t monthIndex if (sscanf(str, '%s %d %d', Month, &Day, &Year) != 3) return false for (monthIndex = 0 monthIndex < 12 monthIndex++) { if (strcmp(Month, monthName[monthIndex]) == 0) break } if (monthIndex >= 12) return false tm.Day = Day tm.Month = monthIndex + 1 tm.Year = CalendarYrToTm(Year) return true } //----------------------------------------// 

ఇప్పుడు మీరు విజయవంతంగా RTC కి సమయాన్ని సెట్ చేసారు
తరువాత, మీరు ఈ క్రింది ప్రధాన కోడ్‌ను అప్‌లోడ్ చేయాలి:

//------------Program Developed by R.Girish-------// #include  #include  #include  #include  #include  const int rs = 7 const int en = 6 const int d4 = 5 const int d5 = 4 const int d6 = 3 const int d7 = 2 const int buzzer = 8 boolean alarm = false boolean outloop = true const int setAlarm = A0 const int Hrs = A1 const int Min = A2 const int ok = A3 const int HrsADD = 0 const int MinADD = 1 const int ALsave = 2 int HrsVal = 0 int MinVal = 0 int H = 0 int M = 0 int S = 0 int i = 0 int j = 0 int k = 0 LiquidCrystal lcd(rs, en, d4, d5, d6, d7) void setup() { Serial.begin(9600) lcd.begin(16, 2) pinMode(buzzer, OUTPUT) pinMode(setAlarm, INPUT) pinMode(Hrs, INPUT) pinMode(Min, INPUT) pinMode(ok, INPUT) digitalWrite(setAlarm, HIGH) digitalWrite(Hrs, HIGH) digitalWrite(Min, HIGH) digitalWrite(ok, HIGH) } void loop() { tmElements_t tm lcd.clear() if (EEPROM.read(ALsave) == false) { lcd.setCursor(15, 1) lcd.print('') } if (EEPROM.read(ALsave) == true) { lcd.setCursor(15, 1) lcd.print(F('*')) } if (RTC.read(tm)) { if (tm.Hour >= 12) { lcd.setCursor(14, 0) lcd.print('PM') } if (tm.Hour < 12) { lcd.setCursor(14, 0) lcd.print('AM') } lcd.setCursor(0, 0) lcd.print('TIME:') H = tm.Hour if (tm.Hour > 12) { if (tm.Hour == 13) { lcd.print('01') } if (tm.Hour == 14) { lcd.print('02') } if (tm.Hour == 15) { lcd.print('03') } if (tm.Hour == 16) { lcd.print('04') } if (tm.Hour == 17) { lcd.print('05') } if (tm.Hour == 18) { lcd.print('06') } if (tm.Hour == 19) { lcd.print('07') } if (tm.Hour == 20) { lcd.print('08') } if (tm.Hour == 21) { lcd.print('09') } if (tm.Hour == 22) { lcd.print('10') } if (tm.Hour == 23) { lcd.print('11') } } else { lcd.print(tm.Hour) } M = tm.Minute S = tm.Second lcd.print(':') lcd.print(tm.Minute) lcd.print(':') lcd.print(tm.Second) lcd.setCursor(0, 1) lcd.print('DATE:') lcd.print(tm.Day) lcd.print('/') lcd.print(tm.Month) lcd.print('/') lcd.print(tmYearToCalendar(tm.Year)) } else { if (RTC.chipPresent()) { lcd.setCursor(0, 0) lcd.print('RTC stopped!!!') lcd.setCursor(0, 1) lcd.print('Run SetTime code') } else { lcd.clear() lcd.setCursor(0, 0) lcd.print('Read error!') lcd.setCursor(0, 1) lcd.print('Check circuitry!') } } if (digitalRead(setAlarm) == LOW) { setALARM() } if (H == EEPROM.read(HrsADD) && M == EEPROM.read(MinADD) && S == 0) { if (EEPROM.read(ALsave) == true) { sound() } } if (digitalRead(ok) == LOW) { if (EEPROM.read(ALsave) == true) { EEPROM.write(ALsave, 0) alarm = false delay(1000) return } if (EEPROM.read(ALsave) == false) { EEPROM.write(ALsave, 1) alarm = true delay(1000) return } } delay(1000) } void setALARM() { HrsVal = EEPROM.read(HrsADD) MinVal = EEPROM.read(MinADD) lcd.clear() lcd.setCursor(0, 0) lcd.print(F('>>>>SET ALARM<<<')) lcd.setCursor(0, 1) lcd.print(F('Hrs:')) lcd.print(EEPROM.read(HrsADD)) lcd.print(F(' Min:')) lcd.print(EEPROM.read(MinADD)) delay(600) while (outloop) { if (HrsVal > 23) { HrsVal = 0 lcd.clear() lcd.setCursor(0, 0) lcd.print(F('>>>>SET ALARM<<<')) lcd.setCursor(0, 1) lcd.print(F('Hrs:')) lcd.print(HrsVal) lcd.print(F(' Min:')) lcd.print(MinVal) } if (MinVal > 59) { MinVal = 0 lcd.clear() lcd.setCursor(0, 0) lcd.print(F('>>>>SET ALARM<<<')) lcd.setCursor(0, 1) lcd.print(F('Hrs:')) lcd.print(HrsVal) lcd.print(F(' Min:')) lcd.print(MinVal) } if (digitalRead(Hrs) == LOW) { HrsVal = HrsVal + 1 lcd.clear() lcd.setCursor(0, 0) lcd.print(F('>>>>SET ALARM<<<')) lcd.setCursor(0, 1) lcd.print(F('Hrs:')) lcd.print(HrsVal) lcd.print(F(' Min:')) lcd.print(MinVal) delay(250) } if (digitalRead(Min) == LOW) { MinVal = MinVal + 1 lcd.clear() lcd.setCursor(0, 0) lcd.print(F('>>>>SET ALARM<<<')) lcd.setCursor(0, 1) lcd.print(F('Hrs:')) lcd.print(HrsVal) lcd.print(F(' Min:')) lcd.print(MinVal) delay(250) } if (digitalRead(setAlarm) == LOW) { EEPROM.write(HrsADD, HrsVal) EEPROM.write(MinADD, MinVal) lcd.clear() lcd.setCursor(0, 0) lcd.print(F('Alarm is Set for')) lcd.setCursor(0, 1) lcd.print(EEPROM.read(HrsADD)) lcd.print(F(':')) lcd.print(EEPROM.read(MinADD)) lcd.print(F(' Hrs')) delay(1000) outloop = false } } outloop = true } void sound() { lcd.clear() lcd.setCursor(0, 0) lcd.print('Wakey Wakey !!!') lcd.setCursor(0, 1) lcd.print('Its Time now.....') for (j = 0 j < 10 j++) { for (i = 0 i < 2  i++) { digitalWrite(buzzer, HIGH) delay(150) digitalWrite(buzzer, LOW) delay(150) } delay(400) } for (k = 0 k < 10 k++) { for (i = 0 i < 4  i++) { digitalWrite(buzzer, HIGH) delay(150) digitalWrite(buzzer, LOW) delay(150) } delay(250) } while (true) { digitalWrite(buzzer, HIGH) delay(150) digitalWrite(buzzer, LOW) delay(150) } } //------------Program Developed by R.Girish-------// 

పై కోడ్‌ను అప్‌లోడ్ చేసిన తర్వాత మీరు సరైన సమయం మరియు తేదీని ప్రదర్శనలో చూడాలి.

ఇప్పుడు అలారం ఎలా సెట్ చేయాలో చూద్దాం:
A మీరు అలారం మెనుని చూసేవరకు S2 ని ఎక్కువసేపు నొక్కండి.
Hours వరుసగా గంటలు మరియు నిమిషాలు సర్దుబాటు చేయడానికి S3 మరియు S4 నొక్కండి.
Desired కావలసిన సమయం సెట్ చేసిన తర్వాత, S2 ని మరోసారి నొక్కండి. ఇది “అలారం xx: xx గంటలు సెట్ చేయబడింది” అని చెబుతుంది.
The అలారం ఆన్‌లో ఉంటే మీరు డిస్ప్లేలో “*” చిహ్నాన్ని చూడవచ్చు, అలారం ఆఫ్‌లో ఉంటే “*” గుర్తు ఉండదు.
S మీరు అర సెకనుకు S5 ని నొక్కడం ద్వారా అలారం ఆన్ / ఆఫ్ చేయవచ్చు. “*” అదృశ్యమయ్యే వరకు ఎక్కువసేపు నొక్కకండి (ఇది మళ్లీ తిరిగి వస్తుంది), అలారం స్థితిని టోగుల్ చేయడానికి అర సెకను ఎక్కువసేపు నొక్కండి.

ముఖ్య గమనిక:

ఏదైనా గడియారంలో అలారం సెట్ చేసేటప్పుడు చాలా సాధారణమైన పొరపాటు అనుకోకుండా AM / PM ను టోగుల్ చేయడం, దీని ఫలితంగా మన కోరిక సమయంలో అలారం మోగదు.

ఈ సమస్యను ఎదుర్కోవటానికి ప్రతిపాదిత అలారం గడియార అమరిక 24 గంటల గడియార ఆకృతిలో రూపొందించబడింది.

ఎల్‌సిడిలో ప్రదర్శించబడే సమయం AM / PM ఫార్మాట్‌తో 12 గంటలు ఉంటుంది, అయితే, మీరు ఈ ప్రాజెక్ట్‌తో అలారం సెట్ చేసినప్పుడు మీరు 24 గంటల ఫార్మాట్‌లో 0 నుండి 23 గంటల వరకు సెట్ చేయాలి.

ఉదాహరణకు: మీరు రాత్రి 9:00 గంటలకు అలారం సెట్ చేయాలనుకుంటే మీరు 21 గంటలు 0 నిమిషాలు సెట్ చేయాలి. కోసం, 5 AM: 5 గంటలు మరియు 0 నిమిషాలు మరియు మొదలైనవి.

రచయిత యొక్క నమూనా:

మీకు ఈ ప్రాజెక్ట్ నచ్చిందా? ఈ ప్రాజెక్ట్ గురించి ఏదైనా ప్రశ్న కలిగి ఉండండి, వ్యాఖ్యలో సంకోచించకండి, మీకు శీఘ్ర సమాధానం లభిస్తుంది.

వీడియో క్లిప్:




మునుపటి: హార్వెస్టర్ గ్రెయిన్ ట్యాంకులను కలపడానికి బెకన్ స్థాయి సూచిక సర్క్యూట్ తర్వాత: 3 హై పవర్ ఎస్జి 3525 ప్యూర్ సైనేవ్ ఇన్వర్టర్ సర్క్యూట్లు