आप EEPROM में निर्मित एक माइक्रोकंट्रोलर का उपयोग कर सकते हैं। 8-बिट PIC16F84A में EEPROM के 64 बाइट्स हैं, जो आमतौर पर 10,000,000 के लिए अच्छा है और प्रत्येक बाइट पर न्यूनतम 1,000,000 लिखते हैं (इसे बाइट धीरज के रूप में जाना जाता है)। PIC ने एक अन्य उत्तर में चुना, PIC12F635 में एक 128 बाइट EEPROM है और 100,000 राइट की एक बाइट धीरज है। PIC24F16KA102 , एक 16-बिट प्रोसेसर, EEPROM के 512 बाइट्स और भी 100,000 लेखन की एक बाइट धीरज है।
ओपी यह संकेत नहीं देता है कि एलईडी कितनी बार झपकेगी। इस चर्चा के प्रयोजनों के लिए, मान लें कि यह एक मिनट में चार बार है।
एक वर्ष में यह झपकी लेगा
4∗60∗24∗365=2,102,400 times.
चूंकि EEPROM को अंतिम और बंद दोनों घटनाओं पर कब्जा करने की आवश्यकता है, इसलिए इसे उस संख्या से दोगुना या लगभग 4.2 मिलियन बार लिखा जाएगा । पांच साल में, यह 21 मिलियन गुना है।
स्पष्ट रूप से, यह किसी भी EEPROM के स्पेक्स को पार कर जाएगा जिसे मैंने अब एक माइक्रोकंट्रोलर में बनाया है।
लेकिन इसके लिए एक सरल उपाय है। ऑन या ऑफ स्थिति का ट्रैक रखने के लिए एक ही बाइट को बार-बार उपयोग करने के बजाय, एक बाइट्स की एक सरणी का उपयोग कर सकते हैं, जो पूरे चिप को भरते हैं।
आपको सरणी में प्रत्येक तत्व के लिए दो बाइट्स की आवश्यकता है। तो एक 64 बाइट EEPROM, PIC16F84A में से एक की तरह, 32 तत्वों को पकड़ सकता है। हर बार जब आप EEPROM को लिखते हैं, तो आप स्टेटस बाइट को 0 लिखते हैं (जिसका अर्थ है कि इस तत्व में डेटा है), और या तो 0 से डेटा बाइट (एलईडी अंतिम बार बंद था) या 0xFF (एलईडी अंतिम था)। अगली बार जब आप EEPROM का उपयोग करते हैं, तो आप तत्वों के माध्यम से तब तक अनुक्रमित करते हैं जब तक कि आप एक 0xFF स्थिति बाइट के साथ एक नहीं पाते हैं, और फिर उस तत्व का उपयोग करें। यदि कोई भी नहीं बचा है, तो EEPROM को फिर से शुरू करें और (कम-अंत PIC के लिए) प्रारंभ करें, इसका मतलब है कि प्रत्येक स्थिति बाइट्स में 0xFF लिख रहा है; PIC24 के लिए, पूरे EEPROM को मिटाने के लिए एक कमांड है)। यदि आपको एलईडी की अंतिम स्थिति जानने की आवश्यकता है, तो आप पहले की तरह सरणी के माध्यम से अनुक्रमित करते हैं, लेकिन अब एक तत्व वापस जाएं और डेटा बाइट पढ़ें।
यह अनिवार्य रूप से PIC16F84A के लिए 16 के एक कारक (16 और 32 नहीं, क्योंकि प्रत्येक स्थिति बाइट्स को दो बार लिखा गया है) द्वारा एक बाइट तक पहुंच की संख्या को विभाजित करता है। तो यह लगभग चार वर्षों के आंकड़ों के लिए, कुल मिलाकर 16 मिलियन लिखता है। और PIC12F635 अपने बड़े EEPROM के साथ लेकिन 100K की छोटी बाइट धीरज के साथ, नौ महीने के लिए 3.2 मिलियन कुल लिख सकते हैं।
PIC24F16KA102, इसकी 512 बाइट EEPROM और बल्क इरेज़ फीचर के साथ, 25.6 मिलियन राइट्स को हैंडल करने में सक्षम होगा, जो पाँच वर्षों में पर्याप्त है।
यदि ब्लिंकिंग दर प्रति मिनट चार बार के बजाय केवल चार बार प्रति घंटा थी , तो इसका मतलब है कि प्रति वर्ष कुल 70,080 लिखते हैं। यहां तक कि PIC12F635, इसकी धीरज के साथ 100,000 प्रति बाइट लिखता है, 45 साल तक चलेगा!