- الأجهزة المطلوبة:
- التعرف على شاشات OLED:
- مخطط الرسم البياني:
- توصيل OLED بـ Raspberry Pi:
- شرح البرمجة:
سيكون معظمنا على دراية بشاشة LCD ذات مصفوفة نقطية مقاس 16 × 2 تُستخدم في معظم المشاريع لعرض بعض المعلومات للمستخدم. لكن شاشات LCD هذه بها الكثير من القيود. في هذا البرنامج التعليمي ، سوف نتعرف على شاشة OLED وكيفية استخدامها مع Raspberry Pi. هناك الكثير من أنواع شاشات OLED المتاحة في السوق وهناك الكثير من الطرق لجعلها تعمل. لقد استخدمنا بالفعل 7 Pin OLED مع Arduino.
الأجهزة المطلوبة:
- وحدة عرض OLED 128 × 64 (SSD1306)
- فطيرة التوت
- اللوح
- توصيل الأسلاك
- مزود الطاقة
التعرف على شاشات OLED:
يرمز المصطلح OLED إلى " الصمام الثنائي الباعث للضوء العضوي" ، وهو يستخدم نفس التقنية المستخدمة في معظم أجهزة التلفزيون لدينا ولكن بها عدد أقل من وحدات البكسل مقارنة بها. من الممتع حقًا أن يتم ربط وحدات العرض الرائعة هذه مع Raspberry Pi لأنها ستجعل مشاريعنا تبدو رائعة. لقد قمنا بتغطية مقال كامل حول شاشات OLED وأنواعها هنا. هنا ، نحن نستخدم شاشة OLED أحادية اللون ذات 4 أسنان SSD1306 0.96 بوصة. يمكن لشاشة LCD هذه أن تعمل فقط مع وضع I2C.
فيما يلي اتصالات OLED مع Raspberry pi:
OLED دبوس | RPI دبوس |
VCC | 3.3 فولت |
GND | GND |
SDA | SDA (دبوس مادي 3) |
SCL | SCL (دبوس مادي 5) |
مخطط الرسم البياني:
توصيل OLED بـ Raspberry Pi:
لقد قدم لنا مجتمع RPI بالفعل الكثير من المكتبات التي يمكن استخدامها بشكل مباشر لجعل هذا الأمر أكثر بساطة. لقد جربت بعض المكتبات ووجدت أن مكتبة Adafruit_SSD1306 OLED كانت سهلة الاستخدام للغاية ولديها عدد قليل من الخيارات الرسومية ومن ثم سنستخدمها في هذا البرنامج التعليمي.
الخطوة 1: تمكين اتصال I2C
قبل تثبيت مكتبة Adafruit SSD1306 ، نحتاج إلى تمكين اتصال I2C في Raspberry Pi.
للقيام بهذا النوع في وحدة تحكم Raspberry Pi:
سودو raspi -config
وبعد ذلك ستظهر شاشة زرقاء. الآن حدد خيار الواجهة
بعد ذلك ، نحتاج إلى تحديد I2C
بعد ذلك ، نحتاج إلى تحديد نعم والضغط على إدخال ثم موافق
بعد ذلك ، نحتاج إلى إعادة تشغيل raspberry pi بإصدار الأمر التالي:
إعادة تشغيل sodo
الخطوة 2: ابحث عن عنوان OLED I2C وقم بتحديثه
ثم نحتاج إلى العثور على عنوان OLED I2C باستخدام أمر معين وسترى العنوان السداسي.
sudo i2cdetect –y 1
ثم قم بتحديث Raspberry Pi باستخدام الأمر المحدد:
sudo apt-get update
الخطوة 3: قم بتثبيت python-pip و GPIO Library
بعد ذلك نحتاج إلى تثبيت النقطة باستخدام الأمر المعطى:
sudo apt-get install build-basic python-dev python-pip
وقم بتثبيت مكتبة Raspberry Pi GPIO
تقوم sudo pip بتثبيت RPi.GPIO
الخطوة 4: تثبيت التصوير بيثون المكتبة و مفتاح البعثة مكتبة
أخيرًا ، نحتاج إلى تثبيت مكتبة Python Imaging ومكتبة smbus في Raspberry Pi باستخدام الأمر المحدد:
sudo apt-get install python-imaging python-smbus
الخطوة 5: قم بتثبيت مكتبة Adafruit SSD1306 python
حان الوقت الآن لتثبيت كود مكتبة Adafruit SSD1306 python وأمثلة باستخدام أوامر معينة:
sudo apt-get install git git clone https://github.com/adafruit/Adafruit_Python_SSD1306.git cd Adafruit_Python_SSD1306 sudo python setup.py install
الآن يمكن للمستخدم العثور على كود واجهة OLED في Raspberry Pi ويمكنك اللعب مباشرة أو تخصيصه بنفسك. هنا قمنا بتخصيص رمز مثال للتوضيح. يمكنك العثور على كود Python الكامل في نهاية المقال.
شرح البرمجة:
جزء البرمجة لربط OLED بمشروع RPi سهل. أولاً ، نحتاج إلى استيراد بعض المكتبات الضرورية.
استيراد وقت الاستيراد Adafruit_GPIO.SPI مثل SPI استيراد Adafruit_SSD1306 من استيراد PIL صورة من استيراد PIL ImageDraw من استيراد عملية استيراد ImageFont من PIL
بعد ذلك ، قم بتهيئة العرض
RST = 0 disp = Adafruit_SSD1306.SSD1306_128_64 (rst = RST) disp.begin () disp.clear () disp.display () width = عرض ارتفاع العرض = عرض ارتفاع الصورة 1 = صورة جديدة ('1' ، (العرض ، الارتفاع)) رسم = ImageDraw.Draw (صورة 1) رسم مستطيل ((0،0 ، عرض ، ارتفاع) ، مخطط تفصيلي = 0 ، تعبئة = 0) الحشو = -2 أعلى = الحشو السفلي = حشوة الارتفاع س = 0 خط = ImageFont.load_default () بعد ذلك ، يمكننا إرسال البيانات أو الصورة إلى OLED باستخدام كود معين
# اكتب سطرين من النص. disp.clear () disp.display () draw.text ((x، top)، "OLED Interfacing"، font = font، fill = 255) draw.text ((x، top + 8)، "Circuit Digest" ، font = font، fill = 255) draw.text ((x، top + 16)، "For more Videos"، font = font، fill = 255) draw.text ((x، top + 25)، "Visit at" ، font = font، fill = 255) draw.text ((x، top + 34)، "www.circuitdigest.com"، font = font، fill = 255) # Display image. disp.image (image1) disp.display () time.sleep (2) إذا كان disp.height == 64: image = Image.open ('img1.png'). تحويل ('1') else: image = Image. فتح ('img1.png'). تحويل ('1') disp.image (صورة) توزيع .display () time.sleep (2) إذا كان الارتفاع == 64: image = Image.open ('img3.jpg'). تحويل ('1') else: image = Image.open ('img3.jpg'). تحويل ('1')
يأتي OLED هذا في نوعين مختلفين أحدهما 128 * 32 والآخر 128 * 64 بحيث يمكن للمستخدم اختيار أي شخص وفقًا لذلك أثناء تهيئة OLED. هنا قمنا بكتابة هذا الرمز لكليهما. يحتاج المستخدم فقط إلى تهيئة OLED لـ 128 * 64 بكسل مثل:
disp = Adafruit_SSD1306.SSD1306_128_64 (rst = RST)
جميع الكود والوظائف سهلة الفهم ولا حاجة لمزيد من الشرح. فقط ابدأ وجرب اللعب بالطول والعرض والصور وجرب بعض الوظائف الأخرى لإنشاء بعض الأشكال الهندسية الرائعة.
يرد أدناه رمز Python الكامل وفيديو العرض التوضيحي ، وهنا تجد الصور التي استخدمناها في هذا البرنامج.
تحقق أيضًا من واجهة OLED مع Arduino.