- अवयव आवश्यक
- सर्किट आरेख
- ईज़ीईडीए का उपयोग करके रास्पबेरी पाई आरजीबी एलसीडी एचएटी के लिए फैब्रिकिंग पीसीबी
- ईजीईडीएए का उपयोग करके पीसीबी नमूनों की गणना और ऑर्डर करना
- एलसीडी टोपी के लिए रास्पबेरी पाई सेटअप
- रास्पबेरी पाई एलसीडी एचएटी के लिए पायथन कोड
- रास्पबेरी पाई RGB एलसीडी HAT का परीक्षण
रास्पबेरी पाई सलाम Arduino के लिए ढाल के समान हैं, वे सीधे रास्पबेरी पाई के शीर्ष पर फिट हो सकते हैं और किसी भी अन्य कनेक्शन की आवश्यकता नहीं है। यहां हम पीसीबी पर रास्पबेरी पाई के लिए आरजीबी एलसीडी हैट बनाने जा रहे हैं । इस एलसीडी हैट में 16x2 एलसीडी मॉड्यूल, पांच स्विच और तीन नियोपिक्सल एलईडी शामिल हैं। यहां स्विच को डिस्प्ले पर टेक्स्ट बदलने के लिए उपयोग किया जाता है और नियोपिक्सल एलईडी का उपयोग संकेतक के रूप में किया जाता है। इन स्विच और नियो पिक्सल को आवश्यकताओं के अनुसार क्रमबद्ध किया जा सकता है जैसे कि तापमान, आर्द्रता, आदि जैसे सेंसर मूल्यों को प्रदर्शित करने के लिए स्विच का उपयोग किया जा सकता है और कुछ डेटा प्राप्त करते समय कुछ त्रुटि और हरे रंग का संकेत देने के लिए नियो जैसे पिक्सेल का उपयोग लाल की स्थिति प्रदर्शित करने के लिए किया जा सकता है।
यहां हम इस पाई हाट के लिए सर्किट और पीसीबी डिजाइन करने के लिए ईजीईडीए ऑनलाइन सॉफ्टवेयर का उपयोग करेंगे, और पीसीबी को ऑर्डर करने के लिए जेएलसीपीसीबी ।
अवयव आवश्यक
- रसभरी पाई ४
- 16 * 2 एलसीडी डिस्प्ले मॉड्यूल
- नव-पिक्सेल एलईडी (3)
- संधारित्र
- स्विच (5)
सर्किट आरेख
रास्पबेरी पाई RGB LCD HAT का पूरा सर्किट आरेख नीचे दिखाया गया है। ईजीएडीए का उपयोग करके योजनाबद्ध बनाया गया था। जैसा कि आप देख सकते हैं, हम एक 16x2 एलसीडी मॉड्यूल, 3 नियोपिक्सल एलईडी और रास्पबेरी पाई के साथ 5 स्विचेस को बदल रहे हैं। NeoPixel एल ई डी को सक्षम या अक्षम करने के लिए एक कनेक्टर का भी उपयोग किया जाता है।
ईज़ीईडीए का उपयोग करके रास्पबेरी पाई आरजीबी एलसीडी एचएटी के लिए फैब्रिकिंग पीसीबी
रास्पबेरी पाई आरजीबी एलसीडी एचएटी के लिए पीसीबी डिजाइन करते समय, सबसे चुनौतीपूर्ण हिस्सा पदचिह्न सही हो रहा था। यदि आयाम गलत हो जाते हैं, तो घटक पीसीबी पर फिट नहीं होंगे। लेकिन बहुत भाग्यशाली, ईज़ीईडीए बाजार में लगभग सभी घटकों के लिए पैरों के निशान प्रदान करता है। यह अपने विशाल उपयोगकर्ता समुदाय के कारण है जहां उपयोगकर्ता पैरों के निशान बनाते हैं और इसे अपनी परियोजनाओं में उपयोग करने के लिए जनता के लिए उपलब्ध कराते हैं।
ईज़ीईडीए एक ऑनलाइन ईडीए उपकरण है जिसे मैंने पहले कई बार इस्तेमाल किया है और इसका उपयोग करने के लिए बहुत सुविधाजनक पाया है क्योंकि इसमें पैरों के निशान का अच्छा संग्रह है, और यह खुला-स्रोत है। पीसीबी डिजाइन करने के बाद, हम पीसीबी के नमूनों को उनकी कम लागत वाली पीसीबी निर्माण सेवाओं- JLCPCB द्वारा ऑर्डर कर सकते हैं। वे घटक सोर्सिंग सेवाओं की भी पेशकश करते हैं, जहां उनके पास इलेक्ट्रॉनिक उपकरणों का एक बड़ा भंडार है, और उपयोगकर्ता पीसीबी के आदेश के साथ अपने आवश्यक घटकों का ऑर्डर कर सकते हैं।
सर्किट और PCB को डिज़ाइन करते समय, आप अपना सर्किट भी बना सकते हैं, और PCB डिज़ाइन को सार्वजनिक करते हैं ताकि अन्य उपयोगकर्ता उन्हें कॉपी या एडिट कर सकें और आपके काम से लाभ ले सकें, हमने यह Pi RGB LCD Hat डिज़ाइन भी सार्वजनिक किया है, नीचे की जाँच करें संपर्क:
- https://easyeda.com/CircuitDigest/Pi-RGB-LCD-HAT
आप परत के रूप में 'परत' विंडो का चयन करके पीसीबी के किसी भी लेयर (टॉप, बॉटम, टॉप्सिलक, बॉटम सिल्क आदि) को देख सकते हैं। इसके अलावा, वे पीसीबी का एक 3 डी मॉडल दृश्य भी प्रदान करते हैं कि यह निर्माण के बाद कैसे दिखाई देगा। एलसीडी HAT की ऊपरी परत और नीचे की परत का स्नैपशॉट कुछ इस तरह दिखेगा:
ईजीईडीएए का उपयोग करके पीसीबी नमूनों की गणना और ऑर्डर करना
इस PI RGB LCD HAT का डिज़ाइन पूरा करने के बाद, आप JLCPCB.com के माध्यम से PCB ऑर्डर कर सकते हैं। JLCPCB से PCB को ऑर्डर करने के लिए, आपको Gerber फाइल की आवश्यकता होती है। आप नीचे दिए गए लिंक से Gerber फ़ाइल डाउनलोड कर सकते हैं:
- रास्पबेरी पाई RGB एलसीडी टोपी के लिए Gerber फ़ाइल
पीसीबी की जेरबर फ़ाइलों को जेनरेट करने के लिए, ईजीएडीएए एडिटर पेज पर सिर्फ जेनरेट फैब्रिकेशन फाइल बटन पर क्लिक करें, फिर वहां से गार्बर फाइल डाउनलोड करें, या जेएलसीपीसीबी के ऑर्डर पर क्लिक करें जैसा कि नीचे दी गई छवि में दिखाया गया है। यह आपको JLCPCB.com पर रीडायरेक्ट करेगा, जहां आप ऑर्डर करने के लिए कितने PCB लेयर चुन सकते हैं, आपको कितने कॉपर लेयर, PCB मोटाई, कॉपर वेट, PCB कलर और अन्य PCB पैरामीटर्स जैसे नीचे दिखाए गए स्नैपशॉट:
' ऑर्डर एट जेएलसीपीसीबी' बटन पर क्लिक करने के बाद, यह आपको जेएलसीपीसीबी वेबसाइट पर ले जाएगा, जहां आप पीसीबी को बहुत कम दर पर ऑर्डर कर सकते हैं, जो कि $ 2 है। उनके निर्माण का समय भी बहुत कम है, जो 3-5 दिनों के डीएचएल वितरण के साथ 48 घंटे है। ऑर्डर करने के एक सप्ताह के भीतर आपको अपने पीसीबी मिल जाएंगे।
PCB को ऑर्डर करने के बाद, आप अपने PCB के प्रोडक्शन प्रोग्रेस को डेट और टाइम से चेक कर सकते है। आप इसे अकाउंट पेज पर जाकर चेक कर सकते हैं और नीचे इमेज में दिखाए अनुसार पीसीबी के नीचे "प्रोडक्शन प्रोग्रेस" लिंक पर क्लिक कर सकते हैं।
पीसीबी के आदेश देने के कुछ दिनों के बाद, मुझे उत्कृष्ट पैकेजिंग में पीसीबी के नमूने मिले, जैसा कि नीचे दी गई तस्वीरों में दिखाया गया है।
यह सुनिश्चित करने के बाद कि ट्रैक और पैरों के निशान सही थे। मैं पीसीबी को असेंबल करने के साथ आगे बढ़ा। पूरी तरह से मिलाप वाला बोर्ड नीचे की तरह दिखता है:
एलसीडी टोपी के लिए रास्पबेरी पाई सेटअप
प्रोग्रामिंग शुरू करने से पहले, रास्पबेरी पाई, पहले रास्पबेरी पाई को अपडेट करें और कुछ आवश्यक लाइब्रेरी स्थापित करें। रास्पबेरी पाई को अपडेट और अपग्रेड करने के लिए कमांड के नीचे चलाएँ:
sudo apt-get update sudo apt-get उन्नयन
अब NeoPixel LED के लिए Adafruit_Blinka लाइब्रेरी स्थापित करें । Adafruit_Blinka लाइब्रेरी Python में सर्किटपाइथन सपोर्ट प्रदान करती है।
sudo pip3 स्थापित adafruit-circuitpython-neopixel
उसके बाद, एलसीडी मॉड्यूल के लिए Adafruit_CharLCD लाइब्रेरी स्थापित करें । यह लाइब्रेरी Adafruit LCD बोर्डों के लिए है, लेकिन यह अन्य ब्रांड LCD बोर्डों के साथ भी काम करता है।
sudo pip3 स्थापित Adafruit-CharLCD
रास्पबेरी पाई एलसीडी एचएटी के लिए पायथन कोड
यहां हम एलसीडी मॉड्यूल और आरजीबी एलईडी पर कुछ विशेष मान दिखाने के लिए कुछ स्विच का उपयोग करके रास्पबेरी पाई के लिए आरजीबी एलसीडी टोपी का प्रदर्शन कर रहे हैं । इसलिए हमें रास्पबेरी पाई को इस तरह से प्रोग्राम करना होगा कि जब हम एक स्विच दबाते हैं, तो उसे कुछ सेंसर मान या अन्य मान दिखाना चाहिए।
पेज के अंत में पूरा पायथन कोड दिया गया है। यहाँ हम step by step कोड बता रहे हैं।
सभी आवश्यक पुस्तकालयों को आयात करके कोड शुरू करें।
आयात RPi.GPIO के रूप में GPIO आयात neopixel आयात समय आयात बोर्ड आयात Adafruit_CharLCD एलसीडी के रूप में
उसके बाद, सभी GPIO पिन को परिभाषित करें जहां एलसीडी और अन्य स्विच जुड़े हुए हैं।
lcd_rs = 7 lcd_en = 8 lcd_d4 = 25 lcd_d5 = 24 lcd_d6 = 23 lcd_d7 = 18 lcd_back7 = 18 sw0 = 5 sw2 = 13 sw4 = 19 sw4 = 26
अब, बीसीएम मोड का उपयोग करके GPIO मोड को परिभाषित करें। आप इसे बोर्ड में भी बदल सकते हैं। फिर सभी स्विच पिन को इनपुट के रूप में परिभाषित करें।
GPIO.setmode (GPIO.BCM) # BCM GPIO नंबर GPIO.setup (sw0, GPIO.IN) GPIO.setup (sw2, GPIO.IN) GPIO.setup (sw3, GPIO.IN) GPIO.setup (sw4, GPIO) का उपयोग करें.IN)
उसके बाद, GPIO पिन को परिभाषित करें जहां नियो पिक्सेल एलईडी जुड़े हुए हैं। फिर नियो पिक्सेल एलईडी की संख्या को परिभाषित करें। यहां तीन एलईडी का उपयोग किया जाता है, आप इसे अपनी आवश्यकताओं के अनुसार बदल सकते हैं।
पिक्सेल_पिन = बोर्ड ।21 अंक_पिक्सल = 3
अब lcddisplay () फ़ंक्शन के अंदर, प्रत्येक स्विच पर एक विशेष कार्य असाइन करें। उदाहरण के लिए, जब पहला स्विच दबाया जाता है, तो रास्पबेरी पाई को एलसीडी पर 'यूपी' प्रदर्शित करना चाहिए, और जब दूसरा स्विच दबाया जाता है, तो उसे एलसीडी पर 'डीएटी' और अन्य दो बटन के लिए प्रदर्शित करना चाहिए।
एक एलसीडी पर कुछ प्रिंट करने के बजाय, आप एक अलग कार्य करने के लिए इन स्विचेस का उपयोग कर सकते हैं। उदाहरण के लिए, आप तापमान मान को प्रदर्शित करने के लिए स्विच 1 का उपयोग कर सकते हैं, स्विच 2 मान मूल्यों को प्रदर्शित करने के लिए, और दबाव मान प्रदर्शित करने के लिए स्विच 3 का उपयोग कर सकते हैं, आदि।
def lcddisplay (): if (GPIO.input (sw0) == गलत): lcd.clear () lcd.set_cursor (0,0) lcd.message ('UP') अगर (GPIO.input (sw2) == गलत): lcd.clear () lcd.set_cursor (0,0) lcd.message ('DOWN') यदि (GPIO.input (sw3) == गलत): lcd.clear () lcd.set_cursor (0,0) lcd.message ('LEFT') यदि (GPIO.input (sw4) == गलत): lcd.clear () lcd.set_cursor (0,0) lcd.message ('सही')
अब जबकि वास्तविक लूप के अंदर, Pix.fill फ़ंक्शन का उपयोग विभिन्न रंगों में नियो पिक्सेल को प्रकाश में लाने के लिए किया जाता है। इसलिए पीआई को एक दूसरे के लिए रेड ग्रीन और ब्लू रंग के साथ नियो पिक्सल्स को लाइट करने के लिए प्रोग्राम किया गया है।
आप इन नियो पिक्सेल को संकेतक के रूप में भी उपयोग कर सकते हैं। उदाहरण के लिए, आप यह इंगित करने के लिए लाल रंग के साथ एक नियो पिक्सेल को प्रकाश कर सकते हैं कि पाई बिजली स्रोत से जुड़ी है या आप अन्य एल ई डी का उपयोग करके यह इंगित कर सकते हैं कि पाई डेटा प्राप्त कर रहा है या भेज रहा है, आदि।
Pix.fill ((255, 0, 0)) pixels.show () time.sleep (1) pixels.fill ((0, 255, 0)) pixels.show () time.sleep (1) pixels.fill (0, 0, 255)) पिक्सेल.शो () समय। सो (1) इंद्रधनुष_ चक्र (0.001)
रास्पबेरी पाई RGB एलसीडी HAT का परीक्षण
एलसीडी को असेंबल करने और रास्पबेरी पाई के साथ हस्तक्षेप करने के बाद, हम इस पीआई आरजीबी एलसीडी एचएटी का उपयोग करने के लिए तैयार हैं। उसके लिए, नीचे कमांड का उपयोग करके अजगर कोड चलाएं।
python code_filename.py
अब स्विच दबाएं। जब आप SW0 स्विच दबाते हैं, तो उसे एलसीडी पर 'यूपी' प्रिंट करना चाहिए। SW2 स्विच के लिए, इसे 'डाउन' प्रिंट करना चाहिए और बाकी स्विच के लिए भी यही होना चाहिए।
पायथन कोड के साथ एक पूरा काम करने वाला वीडियो नीचे दिया गया है।