كيفية توصيل شاشة OLED I2C بأردوينو

Pin
Send
Share
Send

مقدمة: تقديم شاشة OLED I2C 128 * 64/128 * 32.

تحية! كوني هواة - متحمسًا للإلكترونيات ، أنا متأكد من أن كل ما نقوم به هو الألعاب الإلكترونية - المنتجات محلية الصنع ، أو المشاريع الكبيرة ، كل ذلك بسبب الفضول والكسل. يسعى الفضول لفهم وفهم الهائل ، غير المعروف ، لفهم كيف يعمل هناك ، ما الذي يفعله ، وكيف يتحرك. ويخترع الكسل ، من أجل الخروج بهذا ، حتى لا يستيقظ ، لا يصلح ، لا يرفع ، لا يتسخ أو شيء آخر مهم.
نظرًا لأن رؤية المعلومات أفضل من فهم ما سيحدث على أجهزتنا ، أو قد حدث بالفعل أو يحدث بالفعل ، فسنريد بالتأكيد الحصول على هذه المعلومات المفيدة للغاية من أدوات التحكم الدقيقة أو المستشعرات أو أجهزة أخرى. وأريد ، على أي حال ، تلقي أي رسائل ، مثل الأسئلة والتحذيرات والتذكيرات والرموز والمشاعر النجمية والقلوب وما شابه ذلك.
بالنسبة لأولئك الذين لديهم رغبة مماثلة ، إليك دليل سريع للاتصال والتحقق من شاشات OLED الصغيرة وغير المكلفة.
بعد ذلك ، سنتحدث عن واحد من النماذج المتاحة على نطاق واسع لحم الخنزير راديو من شاشات OLED التي تسيطر عليها رقاقة SSD1306 ، بحجم شاشة 0.96 بوصة ودقة 128 * 64 أو 128 * 32 بكسل. هذه الشاشات مثالية لتصميمات راديو الهواة الصغيرة والمنتجات محلية الصنع.

الخطوة 1: المفاهيم الأساسية


سنقوم بتوصيله إلى Arduino UNO / NANO ، جيدًا ، وإلى البرنامج ، على التوالي ، سنقوم أيضًا بتوصيله من خلال Arduino.
  • OLED عبارة عن ديود عضوي ينبعث من الضوء ، أي جهاز أشباه الموصلات مصنوع من المركبات العضوية ، والذي يبدأ في إصدار الضوء عندما يمر تيار كهربائي عبره.
  • ARDUINO هي عبارة عن منصة للتدريب وبناء نظم التشغيل الآلي والروبوتات.
  • اردوينايد بيئة تطوير. هذا هو أداة البرمجة اردوينو مجانية.
  • I2C - الدوائر المتكاملة ، خط الاتصال بين الدوائر الصغيرة.
  • رسم ، إنه رمز ، إنه برنامج - مصطلحات اردوينو.

اتبع الإرشادات لفهم كيفية توصيل شاشة OLED وتكوينها بطريقة صحيحة إلى Arduino وكيفية عرض رسالتك على عرضها.
نحن نفعل كل شيء في خطوات.

الخطوة 2: الملحقات


سنحتاج إلى أربعة أشياء فقط:
  • 1. شاشة OLED نفسها 0.96 "(يمكن شراؤها على Aliexpress أو Ebay ، - طويلة ، ولكنها رخيصة!).
  • 2. اردوينو UNO / نانو (في نفس مكان العرض).
  • 3. توصيل الأسلاك (المرجع نفسه).
  • 4. جهاز كمبيوتر أو كمبيوتر محمول مثبت عليه ArduinoIDE.

بشكل عام ، يعد شراء قطع غيار لمشاريع مختلفة على Aliexpress و Ebay أمرًا رائعًا للغاية ، بينما تقوم بمشروع واحد ، وقطع الغيار الخاصة بمشروع آخر في طريقها بالفعل. الشيء الرئيسي هو عدم نسيان وضع النظام.

الخطوة 3: توصيل الشاشة


يتم التحكم في العرض بواسطة شريحة SSD1306 ، والتي تدعم خمسة بروتوكولات اتصال وأحدها I2C. يتم نقل البيانات على هذا البروتوكول في سلكين فقط ، وكلما قل عدد الأسلاك في الحالة ، كان ذلك أفضل ، لذا فهو مناسب لنا. ولكن! هناك وحدات مع بروتوكول SPI وحتى تبديل البروتوكول ، لذا كن حذرًا عند شراء هذه الوحدة.

استنتاجات مستعملة:
شاشة OLED - SCL / SCK (ساعة) و SDA (بيانات) ، طاقة "Plus" (VCC) و "ناقص" (GND).

استنتاجات مستعملة:
Arduino UNO - SCL / SCK على A5 و SSD على A4 ، "Plus" (+ 5V) و "ناقص" (GND).
قم بتوصيل الشاشة بـ Arduino:
  • VCC - 5V
  • GND - GND
  • SDA - A4
  • SCL - A5

الخطوة 4: I2C الماسح الضوئي


كل جهاز على الحافلة I2C لديه عنوان سداسي عشري ، لا يمكنك تغييره ، مخيط بإحكام ، يجب أن تشير كل جهة تصنيع مسؤولة إلى مكان ما في العلبة أو في التعليمات. هناك وحدات ذات مفاتيح ومفاتيح يمكن من خلالها تغيير العنوان ، ولكن ... إذا كانت الأجهزة رخيصة ، إلى القبح ، فقد لا تهتم الشركة المصنعة بالتعامل مع مثل هذا التافه ، لذلك سيكون عليك تحديده بنفسك.
في المجموع ، يمكن استخدام ما يصل إلى 127 عنوانًا في الحافلة - 119 للأجهزة و 8 عناوين خدمة. يتم التواصل على هذه العناوين. يوجد سيد ، إنه سيد ، لكن هناك عبدًا ، كما أنه عبدًا - أسأل الماجستير ، أجاب المتابعين ، كل شيء بسيط.
نظرًا لأن شاشة OLED تستخدم بروتوكول اتصالات I2C ، وقد لا تتم الإشارة إلى العنوان ، فسوف نحاول معرفة هذا العنوان بالذات.
يمكن القيام بذلك عن طريق تنزيل رسم قصير على لوحة Arduino الخاصة بك مع OLED متصل. لكن!
خذ وقتك لتحميل الرسم إلى اردوينو على الفور! لنقم أولاً بتنزيل "برنامج التشغيل" ، أي سنقوم بتوصيل المكتبات ، ولهذا سننتقل مباشرة إلى "الخطوة 5" ، ثم سنعود ونستمر.

الخطوة 4: تابع:


قم بتنزيل CODE Finder_I2C_Hex_Address.ino ، قم بالتحميل إلى Arduino.
افتح "Port Monitor" ، واضبط السرعة على 9600 وإذا كان كل شيء متصلاً بشكل صحيح ، فسيعرض البرنامج عنوان الجهاز ، في حالتي OLED مع العنوان 0x3F.

الخطوة 5: قم بتنزيل المكتبات وتوصيلها


لكي يعمل كل شيء بشكل صحيح ، ولم يكن عليك إعادة ابتكار العجلة ، فأنت بحاجة إلى توصيل عدد من المكتبات ببيئة ArduinoIDE ، وهما: ADAFRUIT GFX و ADAFRUIT SSD1306 ، وهما ضروريان لأن تتمكن Arduino من التواصل بشكل مستقل مع شاشة OLED.
يمكنك توصيل هذه المكتبات باتباع هذه الخطوات.
  • 1. في ArduinoIDE ، انتقل إلى قائمة Sketch.
  • 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.
للقيام بذلك:
انتقل إلى ملف> أمثلة> SSD 1306> حدد 128 × 64 i2c
إذا حصلت على "خطأ" ، فحاول اختيار SSD 1306> 128x32 i2c.
إذا حدث خطأ مرة أخرى ، فحاول تغيير عنوان I2C في السطر 61 من رمز العرض التوضيحي ، واستبدله بعنوان العرض الذي حددته في الخطوة رقم 4.
إذا حدث الخطأ مرة أخرى ، يمكنك محاولة تحرير ملف Adafruit_SSD1306.h ، وهو موجود في المجلد مع مكتبات Arduino.

افتح الملف Adafruit_SSD1306.h في محرر نصوص وابحث عن السطور:
// # define SSD1306_128_64 # حدد SSD1306_128_32 // #define SSD1306_96_16

uncomment الخط:
#define SSD1306_128_64.

يجب أن يكون مثل هذا:
#define SSD1306_128_64 // # define SSD1306_128_32 // #define SSD1306_96_16

إذا كان الخطأ مرة أخرى ، فمن الضروري التحقق من الاتصالات الصحيحة.
بعد اكتمال التنزيل ، ستشاهد رسمًا متحركًا للاختبار على الشاشة ، مما يعني أنك قمت بتكوين شاشة OLED بنجاح.

عندما تستمتع بهذه الرسوم المتحركة ، يمكنك المتابعة إلى الخطوة التالية.

الخطوة 7: كتابة رسالتك الخاصة


لكتابة رسالتك الخاصة ، قم أولاً بإنشاء رسم جديد في بيئة برمجة ArduinoIDE.
في الرأس ، نربط 4 مكتبات:
# تشمل # تشمل # تشمل # تشمل 

ثم نكتب بروتوكول إعادة الضبط:
#define OLED_RESET 4 Adafruit_SSD1306 display (OLED_RESET)؛

في VOID SETUP ، حدد العنوان السداسي عشر للعرض 0x3C ، والذي اكتشفناه في "الخطوة رقم 4".
بعد ذلك ، قم بتهيئة العرض ومسحه:
display.begin (SSD1306_SWITCHCAPVCC، 0x3C)؛ display.clearDisplay () ؛

بعد ذلك ، في VOID LOOP ، نكتب الرمز الرئيسي ، أي رسالتنا ، التي نريد عرضها على الشاشة.
للقيام بذلك ، نصف حجم النص ولون النص وموضع المؤشر ، وأخيراً ، نعرض رسالة باستخدام أمر println:
display.setTextSize (2) ؛ display.setTextColor (WHITE) ؛ display.setCursor (0،0)؛ display.println ("حسناً!") ؛ display.display () ؛

في النهاية ، لا تنسى الكتابة display.displayبحيث يتم عرض الصورة على الشاشة ، وإلا ستحصل على فراغ.
إذا قمت بكل شيء بشكل صحيح ، فستظهر رسالة على شاشات العرض.

هنا هو CODE Starting_with_Arduino_OLED.ino من برنامجنا:
code.zip 946 b (التنزيلات: 1366)

Pin
Send
Share
Send