ఆర్డునోకు రియల్ టైమ్ క్లాక్‌ను ఎలా మరియు ఎందుకు జోడించాలి

ఆర్డునోకు రియల్ టైమ్ క్లాక్‌ను ఎలా మరియు ఎందుకు జోడించాలి

Arduino ప్రాజెక్ట్‌లలో సమయాన్ని ఉంచడం మీరు అనుకున్నంత సులభం కాదు: కంప్యూటర్ కనెక్షన్ లేనప్పుడు, మీ శక్తి లేని Arduino దాని అంతర్గత టిక్కర్‌తో సహా రన్నింగ్ ఆగిపోతుంది.





విండోస్ 10 చౌకగా ఎలా పొందాలి

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





రియల్ టైమ్ క్లాక్ (RTC) యొక్క ప్రయోజనం ఏమిటి?

మీ కంప్యూటర్ చాలావరకు దాని సమయాన్ని ఇంటర్నెట్‌తో సమకాలీకరిస్తుంది, కానీ ఇది ఇప్పటికీ అంతర్గత గడియారాన్ని కలిగి ఉంది, అది ఇంటర్నెట్ కనెక్షన్ లేకపోయినా లేదా పవర్ ఆఫ్ చేయబడుతుంది. మీరు కంప్యూటర్‌లోకి ప్లగ్ చేయబడిన ఆర్డునోను ఉపయోగించినప్పుడు, మీ సిస్టమ్ గడియారం అందించిన ఖచ్చితమైన సమయానికి యాక్సెస్ ఉంటుంది. ఇది చాలా ఉపయోగకరంగా ఉంది, కానీ చాలా Arduino ప్రాజెక్ట్‌లు కంప్యూటర్ నుండి దూరంగా ఉండేలా రూపొందించబడ్డాయి - ఆ సమయంలో, ఏ సమయంలోనైనా పవర్ అన్‌ప్లగ్ చేయబడినప్పుడు లేదా Arduino పునarప్రారంభించబడినప్పుడు, అది ఏ సమయంలో ఉంటుందో ఖచ్చితంగా తెలియదు. అంతర్గత గడియారం రీసెట్ చేయబడుతుంది మరియు తదుపరిసారి శక్తినిచ్చేటప్పుడు మళ్లీ సున్నా నుండి లెక్కించడం ప్రారంభమవుతుంది.





మీ ప్రాజెక్ట్‌కు సమయం కావాలంటే ఏదైనా సంబంధం ఉంటే - నా నైట్‌లైట్ మరియు సూర్యోదయం అలారం గడియారం వంటివి - ఇది స్పష్టంగా సమస్యగా ఉంటుంది. ఆ ప్రాజెక్ట్‌లో, మేము ప్రతి రాత్రి సమయాన్ని ముడి మార్గంలో మాన్యువల్‌గా సెట్ చేయడం ద్వారా సమస్యను పరిష్కరించాము - యూజర్ వారు పడుకునే ముందు రీసెట్ బటన్‌ని నొక్కి, మాన్యువల్ టైమ్ సింక్‌ను అందిస్తారు. స్పష్టంగా అది ఆదర్శవంతమైన దీర్ఘకాల పరిష్కారం కాదు.

ఒక RTC మాడ్యూల్ అనేది అదనపు బిట్ సర్క్యూట్, దీనికి చిన్న కాయిన్ సెల్ బ్యాటరీ అవసరం, ఇది మీ Arduino ఆఫ్ చేయబడినప్పుడు కూడా సమయాన్ని లెక్కిస్తూనే ఉంటుంది. ఒకసారి సెట్ చేసిన తర్వాత - ఇది బ్యాటరీ జీవితకాలం కోసం ఆ సమయాన్ని ఉంచుతుంది, సాధారణంగా మంచి సంవత్సరం లేదా అంతకంటే ఎక్కువ.



TinyRTC

Arduino కోసం అత్యంత ప్రజాదరణ పొందిన RTC ని TinyRTC అని పిలుస్తారు మరియు eBay లో సుమారు $ 5- $ 10 కి కొనుగోలు చేయవచ్చు. మీరు మీ స్వంత బ్యాటరీని సరఫరా చేయాల్సి ఉంటుంది (ఈ విదేశాలకు అనేక ప్రదేశాలకు రవాణా చేయడం చట్టవిరుద్ధం), మరియు కొన్ని హెడర్‌లు (రంధ్రాలలోకి ప్రవేశించే పిన్‌లు, మీరు మీలో టంకము వేయవలసి ఉంటుంది).

ఇది నా వద్ద ఉన్న మాడ్యూల్:





ఇది అంతర్నిర్మిత ఉష్ణోగ్రత సెన్సార్‌ను కలిగి ఉంది, అయితే మీరు దాన్ని ఉపయోగించకపోతే బ్యాటరీ ఎక్కువసేపు ఉంటుంది.

ఆ విషయంపై ఉన్న రంధ్రాల సంఖ్య చాలా భయానకంగా కనిపిస్తుంది, కానీ మీకు వాటిలో నాలుగు మాత్రమే అవసరం; GND, VCC, SCL మరియు SDA - మీరు RTC మాడ్యూల్‌కు ఇరువైపులా సంబంధిత పిన్‌లను ఉపయోగించవచ్చు. మీరు ఉపయోగించి గడియారంతో మాట్లాడండి I2C ప్రోటోకాల్ , అంటే రెండు పిన్‌లు మాత్రమే ఉపయోగించబడతాయి - ఒకటి 'గడియారం' (సీరియల్ కమ్యూనికేషన్స్ డేటా క్లాక్, టైమ్‌తో సంబంధం లేదు) మరియు డేటా కోసం ఒకటి. వాస్తవానికి, మీరు ఒకే రెండు పిన్‌లపై 121 I2C పరికరాలను కూడా గొలుసు చేస్తారు - తనిఖీ చేయండి ఈ Adafruit పేజీ ఇతర I2C పరికరాల ఎంపిక కోసం మీరు జోడించవచ్చు, ఎందుకంటే చాలా ఉన్నాయి!





మొదలు అవుతున్న

దిగువ రేఖాచిత్రం ప్రకారం మీ TinyRTC మాడ్యూల్‌ను హుక్ అప్ చేయండి - ఉష్ణోగ్రత సెన్సార్ కోసం పింక్ DS లైన్ అవసరం లేదు.

తరువాత, డౌన్‌లోడ్ చేయండి సమయం మరియు DS1307RTC లైబ్రరీలు మరియు ఫలిత ఫోల్డర్‌లను మీలో ఉంచండి /లైబ్రరీలు ఫోల్డర్

లైబ్రరీలు మరియు ఉదాహరణలలో లోడ్ చేయడానికి Arduino పర్యావరణం నుండి నిష్క్రమించండి మరియు తిరిగి ప్రారంభించండి.

మీరు DS1307RTC మెనూలో రెండు ఉదాహరణలను కనుగొంటారు: అప్‌లోడ్ చేసి అమలు చేయండి సమయం సరిచేయి ఉదాహరణ ముందుగా - ఇది RTC ని సరైన సమయానికి సెట్ చేస్తుంది. అసలు కోడ్ వివరంగా చెప్పడం విలువైనది కాదు, ప్రారంభ సమయ సమకాలీకరణను నిర్వహించడానికి మీరు దీన్ని ఒకసారి అమలు చేయాల్సి ఉంటుందని తెలుసుకోండి.

తరువాత, ఉదాహరణ వినియోగాన్ని చూడండి రీడెస్ట్ .

ఫోన్‌లో తొలగించిన ఫోటోలను ఎలా తిరిగి పొందాలి

#include
#include
#include
void setup() {
Serial.begin(9600);
while (!Serial) ; // wait for serial
delay(200);
Serial.println('DS1307RTC Read Test');
Serial.println('-------------------');
}
void loop() {
tmElements_t tm;
if (RTC.read(tm)) {
Serial.print('Ok, Time = ');
print2digits(tm.Hour);
Serial.write(':');
print2digits(tm.Minute);
Serial.write(':');
print2digits(tm.Second);
Serial.print(', Date (D/M/Y) = ');
Serial.print(tm.Day);
Serial.write('/');
Serial.print(tm.Month);
Serial.write('/');
Serial.print(tmYearToCalendar(tm.Year));
Serial.println();
} else {
if (RTC.chipPresent()) {
Serial.println('The DS1307 is stopped. Please run the SetTime');
Serial.println('example to initialize the time and begin running.');
Serial.println();
} else {
Serial.println('DS1307 read error! Please check the circuitry.');
Serial.println();
}
delay(9000);
}
delay(1000);
}
void print2digits(int number) {
if (number >= 0 && number <10) {
Serial.write('0');
}
Serial.print(number);
}

మేము కోర్ని కూడా చేర్చామని గమనించండి Wire.h లైబ్రరీ - ఇది Arduino తో వస్తుంది మరియు I2C ద్వారా కమ్యూనికేట్ చేయడానికి ఉపయోగించబడుతుంది. కోడ్‌ను అప్‌లోడ్ చేయండి, 9600 బాడ్ వద్ద సీరియల్ కన్సోల్‌ని తెరవండి మరియు ప్రతి సెకనులో మీ ఆర్డునో ప్రస్తుత సమయాన్ని అందిస్తుంది. అద్భుతం!

ఉదాహరణలోని అతి ముఖ్యమైన కోడ్ a ని సృష్టించడం tmElements_t tm - ఇది a నిర్మాణం మేము ప్రస్తుత సమయంతో జనాభాను పొందుతాము; ఇంకా RTC.read (tm) ఫంక్షన్, ఇది RTC మాడ్యూల్ నుండి ప్రస్తుత సమయాన్ని పొందుతుంది, దానిని మాలో ఉంచుతుంది tm నిర్మాణం, మరియు ప్రతిదీ సరిగ్గా జరిగితే నిజం తిరిగి వస్తుంది. సమయాన్ని ముద్రించడం లేదా దానికి ప్రతిస్పందించడం వంటి 'if' స్టేట్‌మెంట్‌లో మీ డీబగ్ లేదా లాజిక్ కోడ్‌ని జోడించండి.

Google డాక్స్‌లో ముద్రించదగిన ఫ్లాష్‌కార్డ్‌లను ఎలా తయారు చేయాలి

ఆర్డునోతో సరైన సమయాన్ని ఎలా పొందాలో ఇప్పుడు మీకు తెలుసు, మీరు సూర్యోదయం అలారం ప్రాజెక్ట్‌ను తిరిగి వ్రాయడానికి ప్రయత్నించవచ్చు లేదా LED వర్డ్ క్లాక్‌ని సృష్టించవచ్చు - అవకాశాలు అంతంత మాత్రమే! మీరు ఏమి చేస్తారు?

చిత్ర క్రెడిట్స్: స్నూట్‌లాబ్ ఫ్లికర్ ద్వారా

షేర్ చేయండి షేర్ చేయండి ట్వీట్ ఇమెయిల్ మీ Windows 10 డెస్క్‌టాప్ యొక్క రూపాన్ని మరియు అనుభూతిని ఎలా మార్చాలి

విండోస్ 10 మెరుగ్గా కనిపించేలా ఎలా చేయాలో తెలుసుకోవాలనుకుంటున్నారా? విండోస్ 10 ను మీ స్వంతం చేసుకోవడానికి ఈ సాధారణ అనుకూలీకరణలను ఉపయోగించండి.

తదుపరి చదవండి
సంబంధిత అంశాలు
  • DIY
  • ఆర్డునో
రచయిత గురుంచి జేమ్స్ బ్రూస్(707 కథనాలు ప్రచురించబడ్డాయి)

జేమ్స్ ఆర్టిఫిషియల్ ఇంటెలిజెన్స్‌లో BSc కలిగి ఉన్నారు మరియు CompTIA A+ మరియు నెట్‌వర్క్+ సర్టిఫికేట్ పొందారు. అతను హార్డ్‌వేర్ రివ్యూస్ ఎడిటర్‌గా బిజీగా లేనప్పుడు, అతను LEGO, VR మరియు బోర్డ్ గేమ్‌లను ఆస్వాదిస్తాడు. MakeUseOf లో చేరడానికి ముందు, అతను లైటింగ్ టెక్నీషియన్, ఇంగ్లీష్ టీచర్ మరియు డేటా సెంటర్ ఇంజనీర్.

జేమ్స్ బ్రూస్ నుండి మరిన్ని

మా వార్తాలేఖకు సభ్యత్వాన్ని పొందండి

టెక్ చిట్కాలు, సమీక్షలు, ఉచిత ఈబుక్‌లు మరియు ప్రత్యేకమైన డీల్స్ కోసం మా వార్తాలేఖలో చేరండి!

సభ్యత్వం పొందడానికి ఇక్కడ క్లిక్ చేయండి
వర్గం Diy