OLED I2C डिस्प्ले को ARDUINO से कैसे कनेक्ट करें

Pin
Send
Share
Send

परिचय: 128 * 64/128 * 32 ओएलईडी I2C प्रदर्शन का परिचय।

नमस्ते! एक शौकिया होने के नाते - एक इलेक्ट्रॉनिक्स उत्साही, मुझे यकीन है कि हम सभी इलेक्ट्रॉनिक खिलौने हैं - घर के बने उत्पाद, या बड़े प्रोजेक्ट, सभी जिज्ञासा और आलस्य से। जिज्ञासा को जानने और समझने की कोशिश करता है, ज्ञात नहीं, यह समझने के लिए कि यह वहां कैसे काम करता है, यह क्या करता है, कैसे चलता है। और आलस्य आक्रमण करता है, इस के साथ आने के लिए, ताकि न उठें, न फिट हों, न उठें, न गंदे हों और न ही कुछ और महत्वपूर्ण।
चूंकि जानकारी देखना हमारे डिवाइस पर क्या होने वाला है, यह समझने से बेहतर है, या पहले से ही हुआ है या हो रहा है, हम निश्चित रूप से अपने माइक्रोकंट्रोलर, सेंसर या अन्य उपकरणों से यह बहुत उपयोगी जानकारी प्राप्त करना चाहेंगे। और मैं, किसी भी मामले में, किसी भी संदेश को प्राप्त करना चाहता हूं, जैसे कि प्रश्न, चेतावनी, अनुस्मारक, इमोटिकॉन्स, तारांकन, दिल और इसी तरह।
जिन लोगों की भी इसी तरह की इच्छा है, उनके लिए यहां छोटे और सस्ते OLED डिस्प्ले को जोड़ने और जांचने की एक त्वरित मार्गदर्शिका है।
अगला, हम SSD1306 चिप द्वारा नियंत्रित OLED डिस्प्ले के हैम रेडियो मॉडल के लिए व्यापक रूप से उपलब्ध में से एक के बारे में बात करेंगे, जिसका स्क्रीन आकार 0.96 इंच और 128 * 64 या 128 * 32 पिक्सल का एक संकल्प है। ये डिस्प्ले छोटे शौकिया रेडियो डिज़ाइन और होममेड उत्पादों के लिए आदर्श हैं।

चरण 1: मुख्य अवधारणाओं


हम इसे क्रमशः Arduino UNO / NANO, और प्रोग्राम से कनेक्ट करेंगे, हम इसे Arduino के माध्यम से भी जोड़ेंगे।
  • ओएलईडी एक ऑर्गेनिक लाइट-एमिटिंग डायोड है, यानी, कार्बनिक यौगिकों से बना एक अर्धचालक उपकरण, जो एक विद्युत प्रवाह से गुजरने पर प्रकाश का उत्सर्जन करना शुरू कर देता है।
  • ARDUINO प्रशिक्षण और स्वचालन और रोबोटिक्स प्रणालियों के निर्माण के लिए एक मंच है।
  • ArduinoIDE एक विकास का वातावरण है। यह एक मुफ्त Arduino प्रोग्रामिंग टूल है।
  • I2C - इंटर-इंटीग्रेटेड सर्किट, इंटर-माइक्रो-सर्कुलेट संचार लाइन।
  • एक स्केच, यह एक कोड है, यह एक कार्यक्रम है - Arduino शब्दावली।

ठीक से कनेक्ट करने और Arduino के लिए OLED प्रदर्शन कॉन्फ़िगर करने और अपने प्रदर्शन पर अपना संदेश कैसे दिखाया जाए, यह समझने के लिए निर्देशों का पालन करें।
हम सब कुछ चरणों में करते हैं।

चरण 2: सहायक उपकरण


हमें केवल चार चीजों की आवश्यकता होगी:
  • 1. ओएलईडी डिस्प्ले केवल 0.96 ”है (इसे एलिएक्सप्रेस या ईबे पर खरीदा जा सकता है, - लंबा, लेकिन सस्ता)।
  • 2. Arduino UNO / नैनो (प्रदर्शन के रूप में एक ही स्थान पर)।
  • 3. कनेक्टिंग तार (ibid।)।
  • 4. ArduinoIDE के साथ एक कंप्यूटर या लैपटॉप स्थापित।

सामान्य तौर पर, Aliexpress और Ebay पर विभिन्न परियोजनाओं के लिए भागों को खरीदना एक बहुत ही अच्छी बात है, जबकि आप एक प्रोजेक्ट कर रहे हैं, दूसरे के लिए पार्ट्स पहले से ही रास्ते में हैं। मुख्य बात यह है कि ऑर्डर देना न भूलें।

चरण 3: प्रदर्शन कनेक्ट करें


डिस्प्ले SSD1306 चिप द्वारा नियंत्रित किया जाता है, जो पांच संचार प्रोटोकॉल का समर्थन करता है और जिनमें से एक I2C है। इस प्रोटोकॉल पर डेटा सिर्फ दो तारों में प्रसारित किया जाता है, और मामले में कम तार, बेहतर, इसलिए यह हमें अच्छी तरह से सूट करता है। लेकिन! एसपीआई प्रोटोकॉल और यहां तक ​​कि प्रोटोकॉल स्विचिंग के साथ मॉड्यूल हैं, इसलिए इस मॉड्यूल को खरीदते समय सावधान रहें।

प्रयुक्त निष्कर्ष:
OLED प्रदर्शन - SCL / SCK (घड़ी) और SDA (डेटा), "प्लस" पावर (VCC) और "माइनस" पावर (GND)।

प्रयुक्त निष्कर्ष:
Arduino UNO - A5 पर SCL / SCK और A4 पर SSD, "प्लस" पावर (+ 5 वी) और "माइनस" पावर (जीएनडी)।
डिस्प्ले को Arduino से कनेक्ट करें:
  • Vcc - 5V
  • GND - GND
  • एसडीए - ए 4
  • एससीएल - ए 5

चरण 4: I2C स्कैनर


I2C बस के प्रत्येक उपकरण में एक हेक्साडेसिमल पता होता है, आप इसे बदल नहीं सकते हैं, इसे कसकर सीवन किया जाता है, प्रत्येक जिम्मेदार निर्माता को इसे कहीं न कहीं मामले पर या निर्देशों में इंगित करना होगा। स्विच और जंपर्स के साथ मॉड्यूल हैं जिनके साथ आप पता बदल सकते हैं, लेकिन ... यदि उपकरण कुरूपता के लिए सस्ते हैं, तो निर्माता इस तरह के एक तिपहिया से निपटने के लिए परेशान नहीं कर सकता है, इसलिए आपको इसे स्वयं निर्धारित करना होगा।
कुल में, 127 पते तक का उपयोग बस पर किया जा सकता है - उपकरणों के लिए 119 और 8 सेवा पते। इन पतों पर संचार किया जाता है। एक मास्टर है, वह एक मास्टर है, लेकिन एक दास है, वह एक दास भी है - मास्टर्स पूछते हैं, अनुयायी जवाब देते हैं, सब कुछ सरल है।
चूंकि हमारा OLED डिस्प्ले I2C संचार प्रोटोकॉल का उपयोग करता है, और पते का संकेत नहीं दिया जा सकता है, इसलिए हम इसका पता लगाने की कोशिश करेंगे।
यह आपके Arduino बोर्ड के लिए एक छोटा स्केच डाउनलोड कर सकता है जिसमें OLED जुड़ा हुआ है। लेकिन!
अपने समय को तुरंत Arduino पर स्केच अपलोड करने के लिए ले जाएं! चलो पहले "ड्राइवर" डाउनलोड करें, अर्थात। हम पुस्तकालयों को कनेक्ट करेंगे, और इसके लिए हम सीधे "चरण 5" पर जाएंगे, और फिर हम वापस जाएंगे और जारी रखेंगे।

चरण 4: जारी:


CODE Finder_I2C_Hex_Address.ino डाउनलोड करें, Arduino पर अपलोड करें।
"पोर्ट मॉनिटर" खोलें, गति को 9600 पर सेट करें और यदि सब कुछ सही ढंग से जुड़ा हुआ है, तो प्रोग्राम 0x3F वाले पते के साथ मेरे डिवाइस OLED में प्रोग्राम को डिवाइस का पता दिखाएगा।

चरण 5: पुस्तकालयों को डाउनलोड करें और कनेक्ट करें


सब कुछ सही ढंग से काम करने के लिए, और आपको पहिया को फिर से स्थापित करने की आवश्यकता नहीं थी, आपको ArduinoIDE पर्यावरण के लिए पुस्तकालयों के एक जोड़े को जोड़ने की आवश्यकता है, अर्थात्: ADAFRUIT GFX और ADAFRUIT SSD1306, वे आवश्यक हैं कि Arduino OLED प्रदर्शन के साथ स्वतंत्र रूप से संवाद करने में सक्षम हो।
आप इन चरणों का पालन करके इन पुस्तकालयों को जोड़ सकते हैं।
  • 1. ArduinoIDE में, स्केच मेनू पर जाएं।
  • 2. "पुस्तकालयों को शामिल करें" / पुस्तकालयों का चयन करें।
  • 3. "मैनेज लाइब्रेरीज़" / प्रबंधित लाइब्रेरीज़ चुनें।
  • 4. ADAFRUIT GFX खोजें और उन्हें स्थापित करें।
  • 5. ADAFRUIT SSD1306 खोजें और उन्हें स्थापित करें।

पुस्तकालयों के नवीनतम संस्करणों के साथ, प्रदर्शन ने मेरे लिए कुटिलता से काम किया, शायद यह हाथों की वक्रता के कारण है, लेकिन जब मैंने इन पुस्तकालयों के पहले संस्करणों को स्थापित किया, तो सब कुछ सुचारू रूप से और खूबसूरती से दिखाई देने लगा। किसी कारण से, पुश्किन की लाइनें उनकी स्मृति में पॉप अप करती हैं:
... और अनुभव, मुश्किल गलतियों का बेटा,
और प्रतिभा, दोस्त विरोधाभास।

पुस्तकालयों को स्थापित करने का दूसरा तरीका इन पुस्तकालयों को स्वयं खोजना, डाउनलोड करना और स्थापित करना है।
गितुब के उदाहरण के लिए:
//github.com/adafruit/Adafruit-GFX-Library
//github.com/adafruit/Adafruit_SSD1306

ये एक ही Adafruit लाइब्रेरी हैं, लेकिन OLED I2C के अनुरोध पर समान लाइब्रेरियों को आसानी से सर्च इंजन में खोजा जाता है। कई उत्साही "खुद के लिए" पुस्तकालय लिखते हैं, और फिर उन्हें वेब पर डालते हैं। किस पुस्तकालय का उपयोग करना है, यह आप पर निर्भर है।
रूसी पत्रों को प्रदर्शित करने के लिए प्रदर्शन के लिए, विशेष पुस्तकालयों की भी आवश्यकता होती है, लेकिन यह एक अलग लेख के लिए एक अलग विषय है।
लाइब्रेरी स्थापित होने के बाद, आप चरण 4 पर लौट सकते हैं और अंत में अपने प्रदर्शन के हेक्साडेसिमल पते का पता लगा सकते हैं।

चरण 6: प्रदर्शन का परीक्षण


यह जांचने के लिए कि सब कुछ अपेक्षित रूप से काम कर रहा है या नहीं, ArduinoIDE से परीक्षण उदाहरण चलाएँ।
ऐसा करने के लिए:
File> EXAMPLES> SSD 1306> 128x64 i2c चुनें
यदि आपको "त्रुटि" मिलती है, तो SSD 1306> 128x32 i2c चुनने का प्रयास करें।
यदि त्रुटि फिर से होती है, तो डेमो कोड की लाइन 61 पर I2C पते को बदलने का प्रयास करें, और इसे अपने प्रदर्शन के पते से बदलें, जिसे आपने चरण # 4 में निर्धारित किया था।
यदि त्रुटि फिर से होती है, तो आप Adafruit_SSD1306.h फ़ाइल को संपादित करने का प्रयास कर सकते हैं, यह Arduino पुस्तकालयों के साथ फ़ोल्डर में स्थित है।

पाठ संपादक में Adafruit_SSD1306.h फ़ाइल खोलें और लाइनें ढूंढें:
// # परिभाषित SSD1306_128_64 #define SSD1306_128_32 // #define SSD1306_96_16

लाइन को रद्द करें:
#define SSD1306_128_64

यह इस तरह होना चाहिए:
#define SSD1306_128_64 // # SSD1306_128_32 // # परिभाषित करें SSD1306_96_16

यदि त्रुटि फिर से होती है, तो कनेक्शन की शुद्धता की जांच करना आवश्यक है।
डाउनलोड पूरा होने के बाद, आपको स्क्रीन पर एक परीक्षण एनीमेशन दिखाई देगा, जिसका अर्थ है कि आपने अपने OLED डिस्प्ले को सफलतापूर्वक कॉन्फ़िगर किया है।

जब आप इस एनीमेशन का आनंद लेते हैं, तो आप अगले चरण पर आगे बढ़ सकते हैं।

चरण 7: अपना संदेश लिखना


अपना संदेश लिखने के लिए, पहले ArduinoIDE प्रोग्रामिंग वातावरण में एक नया स्केच बनाएं।
शीर्ष लेख में, हम 4 लाइब्रेरी कनेक्ट करते हैं:
# किंकर्तव्यविमूढ़ होना 

फिर हम रीसेट प्रोटोकॉल लिखते हैं:
#define OLED_RESET 4 Adafruit_SSD1306 प्रदर्शन (OLED_RESET);

VOID SETUP में, हमारे 0x3C डिस्प्ले के हेक्साडेसिमल पते को निर्दिष्ट करें, जिसे हमने "चरण संख्या 4" में पाया था।
फिर, प्रदर्शन को इनिशियलाइज़ करें और उसे साफ़ करें:
display.begin (SSD1306_SWITCHCAPVCC, 0x3C); display.clearDisplay ();

अगला, VOID LOOP में, हम मुख्य कोड लिखते हैं, अर्थात हमारा संदेश, जिसे हम डिस्प्ले पर प्रदर्शित करना चाहते हैं।
ऐसा करने के लिए, हम टेक्स्ट साइज़, टेक्स्ट कलर, कर्सर पोजीशन और अंत में, प्रिंटलाइन कमांड का उपयोग करके एक संदेश प्रदर्शित करते हैं:
display.setTextSize (2); display.setTextColor (WHITE); display.setCursor (0,0); display.println ("शाबाश!"); display.display ();

आखिर में लिखना ना भूलें display.displayताकि स्क्रीन पर छवि दिखाई दे, अन्यथा आपको एक शून्य मिलेगा।
यदि आपने सब कुछ सही ढंग से किया है, तो डिस्प्ले पर एक संदेश दिखाई देगा।

यहाँ हमारे कार्यक्रम का CODE Start_with_Arduino_OLED.ino है:
code.zip 946 b (डाउनलोड: 1366)

Pin
Send
Share
Send

वीडियो देखें: How to Set Up and Program an LCD on the Arduino (सितंबर 2024).