- हार्डवेयर आवश्यक:
- OLED डिस्प्ले के बारे में जानना:
- सर्किट आरेख:
- रास्पबेरी पाई के साथ OLED को जोड़ना:
- प्रोग्रामिंग स्पष्टीकरण:
हम में से अधिकांश 16 × 2 डॉट मैट्रिक्स एलसीडी डिस्प्ले से परिचित होंगे जो उपयोगकर्ता को कुछ जानकारी प्रदर्शित करने के लिए अधिकांश परियोजनाओं में उपयोग की जाती है। लेकिन इन एलसीडी डिस्प्ले में बहुत सी सीमाएँ हैं। इस ट्यूटोरियल में, हम OLED डिस्प्ले और रास्पबेरी पाई के साथ इनका उपयोग करने के तरीके के बारे में जानने वाले हैं । बाजार में बहुत सारे प्रकार के ओएलईडी डिस्प्ले उपलब्ध हैं और उन्हें काम करने के कई तरीके हैं। हमने पहले ही Arduino के साथ 7 Pin OLED का उपयोग किया है।
हार्डवेयर आवश्यक:
- 128 × 64 ओएलईडी डिस्प्ले मॉड्यूल (SSD1306)
- रास्पबेरी पाई
- ब्रेड बोर्ड
- तारों को जोड़ना
- बिजली की आपूर्ति
OLED डिस्प्ले के बारे में जानना:
ओएलईडी शब्द " ऑर्गेनिक लाइट एमिटिंग डायोड" के लिए खड़ा है, यह उसी तकनीक का उपयोग करता है जो हमारे अधिकांश टीवी में उपयोग किया जाता है, लेकिन उनकी तुलना में कम पिक्सेल हैं। इन रास्पबेरी पाई के साथ हस्तक्षेप करने के लिए इन शांत दिखने वाले डिस्प्ले मॉड्यूल का वास्तविक मज़ा है क्योंकि यह हमारी परियोजनाओं को शांत दिखाई देगा। हमने यहां OLED प्रदर्शनों और इसके प्रकारों पर एक पूरा लेख शामिल किया है। यहाँ, हम एक मोनोक्रोम 4-पिन SSD1306 0.96 ”OLED डिस्प्ले का उपयोग कर रहे हैं । यह एलसीडी केवल I2C मोड के साथ काम कर सकता है।
नीचे रास्पबेरी पाई के साथ OLED के कनेक्शन हैं:
OLED पिन | आरपीआई पिन |
वीसीसी | 3.3 |
GND | GND |
एसडीए | एसडीए (शारीरिक पिन 3) |
एससीएल | एससीएल (भौतिक पिन 5) |
सर्किट आरेख:
रास्पबेरी पाई के साथ OLED को जोड़ना:
आरपीआई समुदाय ने हमें पहले से ही बहुत सारे पुस्तकालय दिए हैं जिनका उपयोग सीधे तौर पर किया जा सकता है। मैंने कुछ पुस्तकालयों की कोशिश की और पाया कि Adafruit_SSD1306 OLED लाइब्रेरी का उपयोग करना बहुत आसान था और इसमें कुछ मुट्ठी भर ग्राफिकल विकल्प हैं इसलिए हम इस ट्यूटोरियल में इसका उपयोग करेंगे।
चरण 1: I2C संचार सक्षम करें
Adafruit SSD1306 पुस्तकालय स्थापित करने से पहले हमें रास्पबेरी पाई में I2C संचार को सक्षम करने की आवश्यकता है ।
रास्पबेरी पाई कंसोल में इस प्रकार करने के लिए:
sudo raspi -config
और फिर एक नीली स्क्रीन दिखाई देगी। अब इंटरफ़ेस विकल्प चुनें
इसके बाद, हमें I2C का चयन करने की आवश्यकता है
उन्होंने कहा कि इस तरह की घटनाओं को रोकने के लिए सरकार ने कई कदम उठाए हैं।
इसके बाद, हमें हां का चयन करना होगा और एंटर दबाना होगा और फिर ओके करना होगा
इसके बाद, हमें नीचे कमांड जारी करके रास्पबेरी पाई को रिबूट करने की आवश्यकता है:
सोडो रिबूट
चरण 2: OLED I2C पता ढूंढें और इसे अपडेट करें
फिर हमें दिए गए कमांड का उपयोग करके OLED I2C पता ढूंढना होगा और आपको एक हेक्स पता दिखाई देगा।
sudo i2cdetect -y 1
फिर रास्पबेरी पाई को दिए गए कमांड का उपयोग करके अपडेट करें:
sudo apt-get update
चरण 3: अजगर-पाइप और GPIO लाइब्रेरी स्थापित करें
इसके बाद हमें दिए गए कमांड का उपयोग करके पाइप स्थापित करना होगा :
sudo apt-get install बिल्ड-एसेंशियल पायथन-देव पायथन-पाइप
और रास्पबेरी पाई GPIO लाइब्रेरी स्थापित करें
sudo pip ने RPi.GPIO को स्थापित किया
चरण 4: पायथन इमेजिंग लाइब्रेरी और smbus पुस्तकालय स्थापित करें
अंत में, हमें दिए गए कमांड का उपयोग करके रास्पबेरी पाई में पायथन इमेजिंग लाइब्रेरी और स्मबस लाइब्रेरी स्थापित करने की आवश्यकता है:
sudo apt-get install अजगर-इमेजिंग python-smbus
चरण 5: Adafruit SSD1306 अजगर पुस्तकालय स्थापित करें
अब दिए गए आदेशों का उपयोग करके Adafruit SSD1306 अजगर पुस्तकालय कोड और उदाहरणों को स्थापित करने का समय:
apt-मिल स्थापित Git sudo Git क्लोन https://github.com/adafruit/Adafruit_Python_SSD1306.git सीडी Adafruit_Python_SSD1306 sudo अजगर setup.py स्थापित
अब उपयोगकर्ता रास्पबेरी पाई में ओएलईडी इंटरफेसिंग का कोड पा सकते हैं और आप इसे सीधे खेल सकते हैं या इसे स्वयं अनुकूलित कर सकते हैं। यहां हमने प्रदर्शन के लिए एक उदाहरण कोड अनुकूलित किया है। आप लेख के अंत में पूर्ण पायथन कोड पा सकते हैं ।
प्रोग्रामिंग स्पष्टीकरण:
RPI प्रोजेक्ट के साथ OLED को इंटरफ़ेयर करने के लिए प्रोग्रामिंग भाग आसान है। सबसे पहले, हमें कुछ आवश्यक पुस्तकालयों को आयात करने की आवश्यकता है।
आयात समय आयात Adafruit_GPIO.SPI SPI के रूप में आयात करें PIL आयात से Adafruit_SSD1306
इसके बाद डिस्प्ले को इनिशियलाइज़ करें
RST = 0 disp = Adafruit_SSD1306.SSD1306_128_64 (rst = RST) disp.begin () disp.clear () disp.display () चौड़ाई = disp.width height-disp.height image1 = Image.new ('1'), (चौड़ाई), ऊंचाई) ड्रा = ImageDraw.Draw (image1) draw.rectangle ((0,0, चौड़ाई, ऊंचाई), रूपरेखा = 0, भरें = 0) पैडिंग = -2 शीर्ष = पैडिंग बॉटम = ऊंचाई-पैडिंग x = 0 फ़ॉन्ट = ImageFont.load_default () इसके बाद, हम दिए गए कोड का उपयोग करके ओएलईडी पर डेटा या छवि भेज सकते हैं
# पाठ की दो पंक्तियाँ लिखिए। disp.clear () disp.display () draw.text ((x, top), "OLED Interfacing", font = font, fill = 255) draw.text ((x, top + 8), "सर्किट डाइजेस्ट", font = font, fill = 255) draw.text ((x, top + 16), "For more Videos", font = font, fill = 255) draw.text ((x, top + 25), "पर जाएँ", font = font, fill = 255) draw.text ((x, top + 34), "www.circuitdigest.com", font = font, fill = 255) # प्रदर्शन छवि। disp.image (image1) disp.display () time.sleep (2) if disp.height == 64: image = Image.open ('img1.png')। Convert ('1') : image = Image open ('img1.png')। Convert ('1') disp.image (छवि) विवाद ।प्रदर्शन () time.sleep (2) यदि disp.height == 64: image = Image.open ('img3.jpg')। Convert ('1') और: image = Image.open ('img3.jpg')। Convert ('1')
यह OLED दो वेरिएंट में आता है एक 128 * 32 और दूसरा 128 * 64 है, इसलिए उपयोगकर्ता OLED को इनिशियलाइज़ करते हुए किसी को भी अपने अनुसार चुन सकता है। यहां हमने दोनों के लिए यह कोड लिखा है। उपयोगकर्ता को केवल 128 * 64 पिक्सेल के लिए OLED को इनिशियलाइज़ करने की आवश्यकता है जैसे:
disp = Adafruit_SSD1306.SSD1306_128_64 (rst = RST)
सभी कोड और फ़ंक्शन समझने में आसान हैं और आगे स्पष्टीकरण की आवश्यकता नहीं है। बस ऊंचाई, चौड़ाई और छवियों के साथ खेलना शुरू करें और कुछ और कार्य करें और कुछ और अच्छे ज्यामितीय आंकड़े बनाने की कोशिश करें।
पूर्ण पायथन कोड और डिमॉन्स्ट्रेशन वीडियो नीचे दिया गया है और यहां आप उन छवियों को ढूंढते हैं जो हमने इस कार्यक्रम में उपयोग किए हैं।
इसके अलावा Arduino के साथ OLED Interfacing की जाँच करें।