विषयसूची:

शिफ्ट रजिस्टरों का कैस्केड 74HC595 Arduino और ईथरनेट के माध्यम से नियंत्रित: 3 चरण
शिफ्ट रजिस्टरों का कैस्केड 74HC595 Arduino और ईथरनेट के माध्यम से नियंत्रित: 3 चरण

वीडियो: शिफ्ट रजिस्टरों का कैस्केड 74HC595 Arduino और ईथरनेट के माध्यम से नियंत्रित: 3 चरण

वीडियो: शिफ्ट रजिस्टरों का कैस्केड 74HC595 Arduino और ईथरनेट के माध्यम से नियंत्रित: 3 चरण
वीडियो: Serial in Parallel out Shift Register 2024, नवंबर
Anonim
शिफ्ट रजिस्टरों का कैस्केड 74HC595 Arduino और ईथरनेट के माध्यम से नियंत्रित
शिफ्ट रजिस्टरों का कैस्केड 74HC595 Arduino और ईथरनेट के माध्यम से नियंत्रित

आज मैं एक परियोजना प्रस्तुत करना चाहता हूं जिसे मैंने दो संस्करणों में लागू किया है। परियोजना में 12 शिफ्ट रजिस्टर 74HC595 और 96 LED, ईथरनेट शील्ड Wiznet W5100 के साथ Arduino Uno बोर्ड का उपयोग किया गया है। प्रत्येक शिफ्ट रजिस्टर से 8 एलईडी जुड़े हुए हैं। संख्या 0-9 को एल ई डी द्वारा दर्शाया जाता है। प्रत्येक शिफ्ट रजिस्टर 8 आउटपुट टर्मिनलों से सुसज्जित है।

4 शिफ्ट रजिस्टरों में से प्रत्येक 74HC595 एक तार्किक इकाई बनाता है - 4 अंकों की संख्या को सूचीबद्ध करने के लिए एक डिस्प्ले। कुल मिलाकर, परियोजना में १२ शिफ्ट रजिस्टरों से युक्त ३ तार्किक प्रदर्शन हैं।

कार्यान्वयन Arduino बोर्ड नैनो, मेगा, ऊनो और ईथरनेट शील्ड और विज़नेट परिवार से मॉड्यूल के लिए संगत हैं, विशेष रूप से मॉडल W5100 और W5500 (ईथरनेट 2 लाइब्रेरी का उपयोग करके)।

आपूर्ति

  • Arduino Uno / Nano
  • ईथरनेट विज़नेट W5100 / W5500
  • ४ से १२ शिफ्ट रजिस्टर ७४एचसी५९५
  • 32 से 96 एलईडी डायोड

चरण 1: Arduino के साथ परियोजना में कार्यान्वित कार्यान्वयन:

  • वेबसर्वर - HTTP सर्वर सीधे Arduino पर चल रहा है, HTML कोड की व्याख्या करने की अनुमति देता है
  • वेब क्लाइंट - एक दूरस्थ सर्वर से HTTP अनुरोध करने, डेटा भेजने / डाउनलोड करने में सक्षम क्लाइंट

वेब सर्वर:

  • एक फॉर्म के साथ एक HTML वेब पेज प्रदान करता है जो आपको 3 चार अंकों की संख्या दर्ज करने की अनुमति देता है।
  • फॉर्म भेजने के बाद, डेटा को EEPROM मेमोरी में संसाधित और संग्रहीत किया जाता है, उपयोगकर्ता को एक अलग उपपृष्ठ द्वारा डेटा प्रोसेसिंग के बारे में सूचित किया जाता है।
  • डेटा को सेव करने के बाद, उपयोगकर्ता को फॉर्म पर वापस भेज दिया जाता है।
  • EEPROM मेमोरी ऊर्जा स्वतंत्र है, बिजली की रिकवरी के बाद भी डेटा एक्सेस किया जा सकता है, लेकिन बोर्ड रीस्टार्ट भी होता है।
  • फिर सभी नंबरों को तीन डिस्प्ले पर दर्शाया जाता है जिसमें 12 74HC595 शिफ्ट रजिस्टर होते हैं।

वेब क्लाइंट:

  • वेब सर्वर के साथ संचार HTTP प्रोटोकॉल के बाद हर 5 सेकंड में होता है।
  • वेब सर्वर एक PHP वेब एप्लिकेशन चलाता है जो आपको HTML फॉर्म के माध्यम से 3 चार अंकों की संख्या दर्ज करने की अनुमति देता है।
  • प्रपत्र से डेटा एक MySQL डेटाबेस में संग्रहीत किया जाता है।
  • Arduino सर्वर से एक क्वेरी के माध्यम से इस डेटाबेस से डेटा पुनर्प्राप्त करने का अनुरोध करता है।
  • संसाधित डेटा को Arduino द्वारा पार्स किया जाता है, फिर शिफ्ट रजिस्टर 74HC595 का उपयोग करके प्लॉट किया जाता है।
  • डेटा को Arduino की EEPROM मेमोरी में भी संग्रहीत किया जाता है, उनका उपयोग वेब सर्वर से कनेक्शन विफल होने की स्थिति में किया जाता है / जब Arduino बोर्डों को पुनरारंभ किया जाता है, तो उनका उपयोग शिफ्ट रजिस्टर पर डेटा के प्रारंभिक प्रतिपादन के लिए किया जाता है।
  • EEPROM में डेटा केवल तभी ओवरराइट किया जाता है जब डेटा बदलता है, EEPROM सेल अनावश्यक ओवरराइटिंग से बचाए जाते हैं।

चरण 2: वायरिंग और स्क्रीनशॉट

वायरिंग और स्क्रीनशॉट
वायरिंग और स्क्रीनशॉट
वायरिंग और स्क्रीनशॉट
वायरिंग और स्क्रीनशॉट

शिफ्ट रजिस्टरों के लिए कैस्केड कनेक्शन 74HC595 (x अधिक द्वारा बढ़ाया जा सकता है) - TinkerCAD से निर्यात। स्क्रीनशॉट वेबसर्वर इंटरफ़ेस से है, जब यह HTML फॉर्म के माध्यम से डेटा प्राप्त करता है, उन्हें संसाधित करता है, और उन्हें EEPROM मेमोरी में सहेजता है।

चरण 3: 74HC595 + स्रोत कोड

आरेख से स्पष्ट है कि शिफ्ट रजिस्टरों को नियंत्रित करने के लिए केवल 3 डेटा तारों का उपयोग किया जाता है:

  • डेटा आउटलेट - (SER से 74HC595)
  • क्लॉक आउटपुट - (74HC595 पर SRCLK)
  • कुंडी आउटलेट - (RCLK से 74HC595)

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

रजिस्टरों के आउटपुट को नियंत्रित करते समय, बाइट ऑर्डर को सबसे महत्वपूर्ण बिट - एमएसबी फर्स्ट, या एलएसबी - कम से कम महत्वपूर्ण बिट में संशोधित करना भी संभव है। नतीजतन, यह आउटपुट को उलट देता है। एक मामले में, उदाहरण के लिए, 7 डायोड जलाए जाते हैं, दूसरे मामले में इनपुट और बाइट ऑर्डर के आधार पर 1 डायोड।

दोनों कार्यान्वयन EEPROM मेमोरी का उपयोग करते हैं, जो बिजली की विफलता के बाद या बोर्ड के पुनरारंभ होने के बाद भी डेटा संग्रहीत कर सकता है। इस मेमोरी का दूसरा उपयोग अंतिम ज्ञात डेटा का प्रतिनिधित्व करने की क्षमता भी है यदि वेब सर्वर (कनेक्टिविटी त्रुटि, सर्वर) के साथ संचार करना संभव नहीं है।

मेमोरी १०,००० से १००,००० लिपियों तक सीमित है। कार्यान्वयन कम से कम संभव मेमोरी लोड के लिए डिज़ाइन किए गए हैं। डेटा को बदलने पर उसे अधिलेखित नहीं किया जाएगा। यदि वेब सर्वर / क्लाइंट से समान डेटा पढ़ा जाता है, तो वे EEPROM मेमोरी में ओवरराइट नहीं होते हैं।

वेब क्लाइंट के लिए सॉफ्टवेयर कार्यान्वयन (Arduino साइड) को यहां मुफ्त में आजमाया जा सकता है:

Arduino एक वेब इंटरफ़ेस के साथ संचार करता है जिसमें 3 चार अंकों की संख्या को संशोधित करना संभव है:

Arduino के लिए वेबसर्वर के रूप में कोड के लिए पूछें: [email protected]अधिक निर्देशों के लिए दान करें:

सिफारिश की: