विषयसूची:

Arduino EEPROM सेटिंग्स आरंभीकरण: 5 चरण
Arduino EEPROM सेटिंग्स आरंभीकरण: 5 चरण

वीडियो: Arduino EEPROM सेटिंग्स आरंभीकरण: 5 चरण

वीडियो: Arduino EEPROM सेटिंग्स आरंभीकरण: 5 चरण
वीडियो: Setting Mode with EEPROM 2024, जुलाई
Anonim
Image
Image
एक ईईपीरोम क्या है?
एक ईईपीरोम क्या है?

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

चरण 1: EEPROM क्या है?

एक ईईपीरोम क्या है?
एक ईईपीरोम क्या है?

EEPROM एक छोटा मेमोरी स्टोरेज है, जिसका मान Arduino बोर्ड के बंद होने पर भी रखा जाता है। यह एक छोटी हार्ड ड्राइव की तरह काम करता है ताकि आप अगली बार डिवाइस को पावर देने के लिए अपने मापदंडों को स्टोर कर सकें। Arduino बोर्ड के प्रकार के आधार पर, आपके पास प्रत्येक पर अलग-अलग मात्रा में संग्रहण उपलब्ध होगा, उदाहरण के लिए Uno में 1024 बाइट्स हैं, मेगा में 4096 बाइट्स हैं और LilyPad में 512 बाइट्स हैं।

यह ध्यान रखना महत्वपूर्ण है कि सभी EEPROM में सीमित संख्या में लेखन चक्र होते हैं। Atmel Arduino पर EEPROM के लिए लगभग 100 000 लिखने/मिटाने के चक्रों की जीवन प्रत्याशा निर्दिष्ट करता है। यह बहुत सारे लेखन की तरह लग सकता है, लेकिन इस सीमा तक पहुंचना आसान हो सकता है यदि आप एक लूप में पढ़ और लिख रहे हैं। एक बार किसी स्थान को कई बार लिखा और मिटा दिया गया तो यह अविश्वसनीय होना शुरू हो सकता है। यह सही डेटा नहीं लौटा सकता है, या पड़ोसी बिट से मान वापस नहीं कर सकता है।

चरण 2: पुस्तकालय आयात करें

पुस्तकालय आयात करें
पुस्तकालय आयात करें
पुस्तकालय आयात करें
पुस्तकालय आयात करें
पुस्तकालय आयात करें
पुस्तकालय आयात करें

इस मेमोरी का उपयोग करने के लिए, हम पहले Arduino द्वारा प्रदान की गई लाइब्रेरी को शामिल करते हैं। पुस्तकालय दो विधियाँ प्रदान करता है: अनुसार क्रियाओं के लिए पढ़ना और लिखना। रीड फ़ंक्शन उस पते को स्वीकार करता है जिसे हम पढ़ना चाहते हैं, जबकि लेखन फ़ंक्शन उस पते और मूल्य दोनों को स्वीकार करता है जिसे हम लिखना चाहते हैं।

हमारे उदाहरण में, लक्ष्य Arduino की प्रत्येक शुरुआत पर सेटिंग्स की एक सरणी तैयार करना है, इसलिए हम उस सरणी को परिभाषित करके शुरू करते हैं जिसे हम भंडारण के लिए उपयोग करने वाले हैं और प्रत्येक सेटिंग के लिए पते को परिभाषित करते हैं जिसे हम स्टोर करना चाहते हैं। एक चिप में जहां हमारे पास 1024 बाइट उपलब्ध हैं, पता स्थान 0 से 1023 तक होंगे।

चरण 3: आरंभीकरण ध्वज सेट करें

आरंभीकरण ध्वज सेट करें
आरंभीकरण ध्वज सेट करें

सेटिंग्स के लिए डिफ़ॉल्ट मानों की प्रारंभिक सेटिंग के लिए एक पतों में से एक को संकेतक के रूप में उपयोग करना है चाहे सेटिंग्स को प्रारंभ किया गया हो या नहीं। मैंने इसके लिए अंतिम पता स्थान का उपयोग किया है क्योंकि इसका उपयोग अक्सर किसी और चीज़ के लिए नहीं किया जाता है। लोडसेटिंग फ़ंक्शन पहले इस स्थान की जाँच करेगा यदि वहाँ संग्रहीत मान "T" वर्ण है और यदि नहीं, तो यह उनमें से प्रत्येक के लिए प्रारंभिक मान लिखकर सेटिंग करके सेटिंग में जाएगा। एक बार हो जाने के बाद, यह अब उस स्थान का मान निर्धारित करेगा जहां हम "T" वर्ण के लिए आरंभिक सेटिंग्स का ट्रैक रखते हैं और अगली बार जब हम Arduino पर पावर करते हैं, तो हम अब मानों को इनिट नहीं करेंगे, बल्कि सहेजे गए डेटा को इसमें पढ़ेंगे हमारी सरणी।

चरण 4: सेटिंग अपडेट करना

सेटिंग अपडेट करना
सेटिंग अपडेट करना

मानों को अपडेट करने के लिए हम या तो राइट फंक्शन का उपयोग कर सकते हैं जैसा कि हमारे पास इनिशियलाइज़ेशन पर था, लेकिन एक बेहतर तरीका प्रदान किए गए अपडेट फ़ंक्शन का उपयोग करना है। यह फ़ंक्शन क्या करता है कि यह पहले जांचता है कि हम जिस मूल्य को सहेजने का प्रयास कर रहे हैं वह वही है जो पहले से ही EEPROM में है और यदि ऐसा है तो यह अपडेट नहीं होता है। ऐसा करके, यह EEPROM के जीवन का विस्तार करने के लिए लेखन कार्यों की संख्या को कम करने का प्रयास करता है।

चरण 5: आनंद लें

आनंद लेना!
आनंद लेना!
आनंद लेना!
आनंद लेना!

मुझे उम्मीद है कि यह निर्देश आपके लिए मददगार था और आप कुछ सीखने में कामयाब रहे। स्रोत कोड मेरे GitHub पेज पर उपलब्ध है और लिंक नीचे है। यदि आपके पास कोई सुझाव है तो कृपया उन्हें टिप्पणियों में छोड़ दें और इसी तरह के और वीडियो के लिए मेरे YouTube चैनल को सब्सक्राइब करना न भूलें।

सिफारिश की: