Arduino में रीयल टाइम क्लॉक कैसे और क्यों जोड़ें

Arduino में रीयल टाइम क्लॉक कैसे और क्यों जोड़ें

Arduino प्रोजेक्ट्स पर समय रखना उतना आसान नहीं है जितना आप सोच सकते हैं: एक बार जब कंप्यूटर कनेक्शन नहीं होता है, तो आपका बिना शक्ति वाला Arduino बस चलना बंद कर देता है, जिसमें उसका आंतरिक टिकर भी शामिल है।





क्या मुझे पता चल सकता है कि फ़ोन नंबर किसका है?

अपने Arduino को उसके आस-पास की दुनिया के साथ समन्वयित रखने के लिए, आपको 'रियल टाइम क्लॉक मॉड्यूल' की आवश्यकता होगी। यहां बताया गया है कि एक का उपयोग कैसे करें।





रीयल टाइम क्लॉक (RTC) का क्या मतलब है?

आपका कंप्यूटर इंटरनेट के साथ अपना समय सिंक करता है, लेकिन इसमें अभी भी एक आंतरिक घड़ी है जो इंटरनेट कनेक्शन के बिना भी चलती रहती है या बिजली बंद हो जाती है। जब आप किसी कंप्यूटर में प्लग किए गए Arduino का उपयोग करते हैं, तो इसकी आपके सिस्टम घड़ी द्वारा प्रदान किए गए सटीक समय तक पहुंच होती है। यह बहुत उपयोगी है, लेकिन अधिकांश Arduino परियोजनाओं को कंप्यूटर से दूर उपयोग करने के लिए डिज़ाइन किया गया है - जिस बिंदु पर, किसी भी समय बिजली अनप्लग हो जाती है, या Arduino पुनरारंभ होता है, यह बिल्कुल नहीं पता होगा कि यह किस समय है। आंतरिक घड़ी रीसेट हो जाएगी और अगली बार चालू होने पर फिर से शून्य से गिनना शुरू कर देगी।





यदि आपकी परियोजना का समय की आवश्यकता से कोई लेना-देना है - जैसे कि मेरी रात की रोशनी और सूर्योदय अलार्म घड़ी - तो यह स्पष्ट रूप से एक मुद्दा होने वाला है। उस प्रोजेक्ट में, हमने हर रात को मैन्युअल रूप से समय को एक कच्चे तरीके से सेट करके इस मुद्दे को हल किया - उपयोगकर्ता बिस्तर पर जाने से ठीक पहले रीसेट बटन दबा देगा, मैन्युअल टाइम सिंक प्रदान करेगा। स्पष्ट रूप से यह एक आदर्श दीर्घकालिक समाधान नहीं है।

एक आरटीसी मॉड्यूल एक अतिरिक्त बिट सर्किटरी है, जिसके लिए एक छोटी सिक्का सेल बैटरी की आवश्यकता होती है, जो आपके Arduino के बंद होने पर भी समय की गणना करना जारी रखती है। एक बार सेट होने के बाद - यह उस समय को बैटरी के जीवन के लिए रखेगा, आमतौर पर एक अच्छा वर्ष या तो।



टाइनीआरटीसी

Arduino के लिए सबसे लोकप्रिय RTC को TinyRTC कहा जाता है और इसे eBay पर लगभग $ 5- $ 10 में खरीदा जा सकता है। आपको अपनी बैटरी की आपूर्ति करने की सबसे अधिक संभावना होगी (इनको विदेशों में कई स्थानों पर भेजना अवैध है), और कुछ हेडर (छिद्रों में स्लॉट करने वाले पिन, जिन्हें आपको अपने आप में मिलाप करने की आवश्यकता होगी)।

मेरे पास यह मॉड्यूल है:





इसमें एक अंतर्निहित तापमान सेंसर भी है, हालांकि यदि आप इसका उपयोग नहीं कर रहे हैं तो बैटरी अधिक समय तक चलेगी।

उस चीज़ पर छिद्रों की संख्या बहुत डरावनी लगती है, लेकिन आपको उनमें से केवल चार की आवश्यकता होती है; जीएनडी, वीसीसी, एससीएल और एसडीए - आप आरटीसी मॉड्यूल के दोनों ओर संबंधित पिन का उपयोग कर सकते हैं। आप घड़ी से बात करते हैं I2C प्रोटोकॉल , जिसका अर्थ है कि केवल दो पिन का उपयोग किया जाता है - एक 'घड़ी' के लिए (एक धारावाहिक संचार डेटा घड़ी, समय के साथ कुछ नहीं करना) और एक डेटा के लिए। वास्तव में, आप एक ही दो पिनों पर 121 I2C उपकरणों तक की श्रृंखला भी बना सकते हैं - चेक आउट यह एडफ्रूट पेज अन्य I2C उपकरणों के चयन के लिए आप जोड़ सकते हैं, क्योंकि बहुत कुछ है!





शुरू करना

नीचे दिए गए आरेख के अनुसार अपने TinyRTC मॉड्यूल को हुक करें - गुलाबी DS लाइन की आवश्यकता नहीं है, क्योंकि यह तापमान सेंसर के लिए है।

अगला, डाउनलोड करें समय तथा DS1307RTC पुस्तकालयों और परिणामी फ़ोल्डरों को अपने में रखें /पुस्तकालय फ़ोल्डर।

पुस्तकालयों और उदाहरणों में लोड करने के लिए Arduino वातावरण से बाहर निकलें और पुनः लॉन्च करें।

आपको DS1307RTC मेनू में दो उदाहरण मिलेंगे: अपलोड करें और चलाएं निर्धारित समय उदाहरण पहले - यह आरटीसी को सही समय पर सेट करेगा। वास्तविक कोड के साथ विस्तार में जाने लायक नहीं है, बस यह जान लें कि प्रारंभिक समय सिंक्रनाइज़ेशन करने के लिए आपको इसे एक बार चलाने की आवश्यकता है।

इसके बाद, उदाहरण के उपयोग को देखें परीक्षण पढ़ें .

वीडियो को स्वचालित रूप से फ़ायरफ़ॉक्स चलाने से रोकें

#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);
}

ध्यान दें कि हमने कोर को भी शामिल किया है वायर.एच पुस्तकालय - यह Arduino के साथ आता है और I2C पर संचार करने के लिए उपयोग किया जाता है। कोड अपलोड करें, 9600 बॉड पर सीरियल कंसोल खोलें, और देखें और आपका Arduino हर सेकंड वर्तमान समय को आउटपुट करता है। अद्भुत!

उदाहरण में सबसे महत्वपूर्ण कोड बना रहा है a tmElements_t tm - इस एक संरचना कि हम वर्तमान समय के साथ आबाद करेंगे; और यह आरटीसी.रीड (टीएम) फ़ंक्शन, जो RTC मॉड्यूल से वर्तमान समय प्राप्त करता है, इसे हमारे में डालता है टीएम संरचना, और सब कुछ ठीक होने पर सच हो जाता है। उस 'if' स्टेटमेंट के अंदर अपना डिबग या लॉजिक कोड जोड़ें, जैसे कि समय को प्रिंट करना या उस पर प्रतिक्रिया करना।

मेरे पास स्नैपचैट पर सभी फिल्टर क्यों नहीं हैं

अब जब आप जानते हैं कि Arduino के साथ सही समय कैसे प्राप्त करें, तो आप सूर्योदय अलार्म प्रोजेक्ट को फिर से लिखने का प्रयास कर सकते हैं या एक एलईडी शब्द घड़ी बना सकते हैं - संभावनाएं अनंत हैं! आप क्या बनायेंगे?

छवि क्रेडिट: स्नूटलैब फ़्लिकर के माध्यम से

साझा करना साझा करना कलरव ईमेल अपने विंडोज 10 डेस्कटॉप के लुक और फील को कैसे बदलें

जानना चाहते हैं कि विंडोज 10 को बेहतर कैसे बनाया जाए? विंडोज 10 को अपना बनाने के लिए इन सरल अनुकूलन का उपयोग करें।

आगे पढ़िए
संबंधित विषय
  • DIY
  • अरुडिनो
लेखक के बारे में जेम्स ब्रूस(707 लेख प्रकाशित)

James ने आर्टिफिशियल इंटेलिजेंस में बीएससी किया है और CompTIA A+ और Network+ प्रमाणित है। जब वह हार्डवेयर समीक्षा संपादक के रूप में व्यस्त नहीं होता है, तो वह लेगो, वीआर और बोर्ड गेम का आनंद लेता है। MakeUseOf में शामिल होने से पहले, वह एक प्रकाश तकनीशियन, अंग्रेजी शिक्षक और डेटा सेंटर इंजीनियर थे।

जेम्स ब्रूस की और फ़िल्में या टीवी शो

हमारे न्यूज़लेटर की सदस्यता लें

तकनीकी युक्तियों, समीक्षाओं, निःशुल्क ई-पुस्तकों और अनन्य सौदों के लिए हमारे न्यूज़लेटर से जुड़ें!

सब्सक्राइब करने के लिए यहां क्लिक करें
श्रेणी Diy