- شاشة OLED
- المكونات مطلوبة
- اتصالات SPI Pin بين NodeMCU وشاشة OLED
- برمجة NodeMCU للتفاعل مع OLED
- تحويل الصورة إلى قيم نقطية
في هذا البرنامج التعليمي ، سنقوم بواجهة شاشة OLED مع NodeMCU ESP8266. NodeMCU هي عبارة عن منصة إنترنت الأشياء مفتوحة المصدر تتضمن البرامج الثابتة التي تعمل على شبكة ESP8266 Wi-Fi SoC منخفضة التكلفة التي تدعم Wi-Fi من أنظمة Espressif يحتوي على دبابيس GPIO لتوصيل الأجهزة الطرفية الأخرى ويدعم الاتصال التسلسلي باستخدام دبابيس SPI و I2C و UART. كما أن لديها دبابيس لـ ADC و PWM. لقد قمنا سابقًا بتوصيل OLED مع متحكم آخر بما في ذلك وحدة التحكم في عائلة ESP (ESP32):
- واجهة عرض SSD1306 OLED مع Raspberry Pi
- واجهة عرض SSD1306 OLED مع Arduino
- أنشئ ساعة ذكية عن طريق ربط شاشة OLED بهاتف Android باستخدام Arduino
- ساعة الإنترنت باستخدام شاشة ESP32 و OLED
في هذا البرنامج التعليمي ، سنستخدم بروتوكول SPI لواجهة Monochrome 7-pin SSD1306 0.96 OLED Display مع NodeMCU وسنتعلم كيفية عرض الصورة على شاشة OLED باستخدام NodeMCU ESP8266.
شاشة OLED
الصمام الثنائي العضوي الباعث للضوء (OLED) هو نوع من الصمام الثنائي الباعث للضوء حيث تبعث طبقة انبعاث للضوء مصنوعة من مركب عضوي الضوء عند توفير التيار الكهربائي. يتم وضع هذه الطبقة بين قطبين. تُستخدم هذه التقنية في شاشات العرض مثل أجهزة الكمبيوتر وأجهزة التلفزيون والهواتف الذكية وما إلى ذلك. تتمتع شاشات OLED بإضاءة خاصة بها ولا تحتاج إلى أي إضاءة خلفية كما هو الحال في شاشات الكريستال السائل ، وبالتالي فهي موفرة للطاقة وتستخدم مع العديد من وحدات التحكم الدقيقة. ميزة أخرى لاستخدام شاشات OLED على شاشات الكريستال السائل هي عرض رسومات بجودة كبيرة وأفضل على شاشات OLED. تعرف على المزيد حول تقنية شاشة OLED هنا.
هناك أنواع مختلفة من شاشات OLED متوفرة في السوق. تتميز هذه الشاشات على أساس اللون ، وعدد المسامير ، و IC للتحكم وحجم الشاشة. على أساس اللون ، تتوفر شاشات OLED باللون الأزرق الأحادي ، واللون الأبيض الأحادي واللون الأصفر / الأزرق. وعلى أساس الاتصال ، يتوفر نوعان أساسيان من OLEDs - 3pin و 7pin. يمكن استخدام 3 سنون OLED في وضع الاتصال I2C ويمكن استخدام 7 دبوس OLED إما في وضع SPI أو في وضع I2C.
سنستخدم في هذا البرنامج التعليمي "شاشة OLED أحادية اللون ذات 7 أسنان SSD1306 0.96 بوصة بعرض 128 بكسل وطول 64 بكسل. يمكن أن تعمل هذه الشاشة على بروتوكولات الاتصال SPI و I2C. سنستخدم بروتوكول SPI في هذا البرنامج التعليمي. يوجد SSD1306 IC على هذا OLED مما يساعد على عرض وحدات البكسل على الشاشة.
المكونات مطلوبة
- شاشة OLED أحادية اللون ذات 7 سنون SSD1306 0.96 بوصة
- NodeMCU ESP8266
- كابل Micro USB
- اللوح
- ذكر إلى ذكر الأسلاك الطائر
اتصالات SPI Pin بين NodeMCU وشاشة OLED
يوجد أدناه مخطط الدائرة لتوصيل شاشة OLED ذات 7 سنون مع NodeMCU للتواصل باستخدام بروتوكول الاتصال التسلسلي SPI.
يوضح الجدول أدناه الاتصالات بين شاشة OLED و NodeMCU ESP8266. يذهب دبوس GND إلى NodeMCU GND ، ويمكن توصيل دبوس VDD بـ 3.3 فولت أو 5 فولت ، و SCK هو دبوس الساعة على شاشة OLED المتصل بـ D5 من NodeMCU لساعة SPI. ينتقل دبوس SDA وهو MOSI pin على واجهة OLED of SPI إلى D7 من NodeMCU. يذهب دبوس RESET إلى D3. DC ، دبوس أمر البيانات متصل بـ D2 من NodeMCU. آخر دبوس هو CS يذهب إلى D8 ، شريحة مختارة من NodeMCU.
لا. |
شاشة Oled |
NodeMCU |
1 |
GND |
GND |
2 |
VDD |
3.3 فولت |
3 |
SCK |
د 5 |
4 |
MOSI (SPI) أو SDA (I2C) |
د 7 |
5 |
إعادة تعيين |
د 3 |
6 |
العاصمة |
د 2 |
7 |
CS |
د 8 |
هنا سوف نستخدم مكتبة " Adafruit _SSD1306.h" و " Adafruit_GFX.h " لربط OLED مع NodeMCU. افتح Arduino IDE وقم بتثبيت أحدث إصدار من Arduino IDE ( Sketch> Include Library> Manage Libraries أو Ctrl + Shift_I ).
نظرًا لأن حجم البكسل لمعرف شاشة OLED الخاص بنا هو 128 × 64 ، لذلك يتعين علينا إجراء تغيير في ملف الرأس الخاص بـ Adafruit_SSD1306. افتح مكتبات Arduino ، وانتقل إلى Adafruit_SSD1306 وافتح ملف رأسه ( Adafruit _SSD1306.h ). قم بتعليق السطر " #define SSD1306_128_32 " وقم بإلغاء التعليق " #define SSD1306_128_64 " كما هو موضح في الصورة أدناه ثم احفظ الملف. بشكل افتراضي ، تأتي هذه المكتبة مع "# حدد SSD1306_128_32 ".
أخيرًا ، قم بتغيير أرقام الدبوس في مثال " ssd1306_128x64_spi " Adafruit SSD1306 وفقًا للجدول الموضح أعلاه. الآن عند تشغيل المخطط بعد إجراء اتصال مناسب لشاشة OLED مع NodeMCU ، سترى شعار Adafruit على شاشة OLED التي يتم حفظها افتراضيًا في المكتبة. بعد شعار Adafruit يعرض العديد من الرسومات الأخرى مثل الخطوط والمستطيلات والمثلث والدوائر والسلاسل والأرقام والرسوم المتحركة والصور النقطية. هنا في هذا البرنامج التعليمي سوف نتعلم كيفية عرض أي صورة على OLED باستخدام NodeMCU ESP8266.
برمجة NodeMCU للتفاعل مع OLED
كما هو الحال دائمًا يتم توفير الكود الكامل في النهاية ، فقد أوضحنا الكود بالتفصيل.
ابدأ الكود عن طريق استيراد المكتبات الضرورية. نظرًا لأننا نستخدم بروتوكول SPI ، فسنقوم باستيراد مكتبة "SPI.h" وكذلك استيراد "Adafruit_GFX.h" و "Adafruit_SSD1306.h" لعرض OLED.
#تضمن
حجم OLED الخاص بنا هو 128 × 64 ، لذلك نحن نضع عرض الشاشة وارتفاعها على 128 و 64 على التوالي. لذلك حدد متغيرات دبابيس OLED المتصلة بـ NodeMCU لاتصال SPI.
#define SCREEN_WIDTH 128 // عرض عرض OLED ، بالبكسل #define SCREEN_HEIGHT 64 // OLED display height ، بالبكسل // إعلان لعرض SSD1306 متصل باستخدام برنامج SPI (الحالة الافتراضية): # تعريف OLED_MOSI D7 # تعريف OLED_CLK D5 # تعريف OLED_DC D2 # تعريف OLED_CS D8 # تعريف OLED_RESET D3 Adafruit_SSD1306 عرض (SCREEN_WIDTH ، SCREEN_HEIGHT ، OLED_MOSI ، OLED_CLK ، OLED_DC ، OLED_RESET ، OLED_CS) ؛
قم ببدء تشغيل شاشة OLED باستخدام SSD1306_SWITCHCAPVCC لتوليد 3.3 فولت داخليًا لتهيئة العرض.
إذا (! display.begin (SSD1306_SWITCHCAPVCC)) { Serial.println (F ("فشل تخصيص SSD1306")) ؛ إلى عن على(؛؛)؛ // لا تتابع ، حلقة للأبد }
يتم مسح شاشة OLED قبل عرض أي شيء عن طريق استدعاء شاشة الوظيفة. ClearDisplay (). نحن تعيين حجم الخط إلى 2 من استدعاء الدالة setTextSize (حجم الخط)، و تعيين لون النص وموضع المؤشر باستخدام setTextColor و setCursor وظيفة . يتم استخدام الأمر Display.display () لنقل البيانات إلى الذاكرة الداخلية لوحدة التحكم SSD1306. بعد النقل ، يظهر البكسل على الشاشة. يمكننا الآن البدء في تمرير النص بعدة طرق من خلال استدعاء display.startscrollright (x-pos و y-pos) و display.startscrollleft (x-pos و y-pos) عن الوقت المحدد في وظيفة التأخير. يمكن إيقاف تمرير النص باستخدام وظيفة display.stopscroll ().
اختبارات باطلة (void) {display.clearDisplay ()؛ // امسح شاشة عرض شاشة OLED.setTextSize (2) ؛ // رسم عرض نصي بمقياس 2X.setTextColor (أبيض) ؛ display.setCursor (0، 0) ؛ display.println (F ("CIRCUIT")) ؛ display.println (F ("DIGEST")) ؛ display.display () ، // إظهار تأخير النص الأولي (100) ؛ // قم بالتمرير في اتجاهات مختلفة ، مع التوقف المؤقت بين: display.startscrollright (0x00، 0x0F) ؛ تأخير (2000) ؛ display.stopscroll () ، تأخير (1000) ؛ display.startscrollleft (0x00، 0x0F) ؛ تأخير (2000) ؛ display.stopscroll () ، تأخير (1000) ؛ display.startscrolldiagright (0x00 ، 0x07) ؛ تأخير (2000) ؛ display.startscrolldiagleft (0x00 ، 0x07) ؛ تأخير (2000) ؛ display.stopscroll () ، تأخير (1000) ؛ }
نسمي الدالة display.drawBitmap () التي تأخذ 6 معاملات (إحداثيات س ، إحداثيات ص ، صفيف نقطي ، عرض ، ارتفاع ولون) لرسم الصورة على OLED. نظرًا لأن حجم الشاشة 128 × 64 ، فقد قمنا بتعيين العرض والارتفاع على 128 و 64 على التوالي. هنا تحتوي مجموعة الصور النقطية على معلومات البكسل لرسم البكسل على الشاشة لإنشاء الصورة. يمكن إنشاء مجموعة الصور النقطية هذه عبر الإنترنت وهو موضح أدناه أو هناك العديد من البرامج المتاحة لتحويل الصورة إلى مصفوفة نقطية.
const أحرف myBitmap PROGMEM = { 0xff ، 0xff ، 0xff ، 0xe0 ، 0x0f ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xc0 ، 0x00 ، 0x7f ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xf7 ، 0xc0 ، 0x00 ، 0x1f ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xc7 ، 0x80 ، 0x00 ، 0x03 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0x0f ، 0x01 ، 0xc0 ، 0x00 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xfe ، 0x0f ، 0x03 ، 0xff ، 0xc0 ، 0x7f ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xf8 ، 0x1e ، 0x03 ، 0x3f ، 0xf8 ، 0x1f ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، عشرية 0xFF، 0xf0، 0x3e، 0x03، 0x3f، 0xfc، 0x0f، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، 0xe0، 0x3c، 0x03، 0x7f، 0xfe، 0x07، عشرية 0xFF، عشرية 0xFF، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xc0 ، 0x7c ، 0x03 ، 0xf0 ، 0x3f ، 0x83 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0x80 ، 0x78 ، 0x00 ، 0xc0 ، 0x0f ، 0xc1 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0x00 ، 0xf8 ، 0x00 ، 0x00 ، 0x07 ، 0xe0 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xfe ، 0x01 ، 0xf0 ، 0x00 ، 0x00 ، 0x03 ، 0xf8 ، 0x7f ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xfc ، 0x01 ، 0xf0 ، 0x00 ، 0x00 ، 0x00 ، 0xfc ، 0x3f ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xfc ، 0x03 ، 0xe0 ، 0x00 ، 0x0f ، 0x00 ، 0x7e ، 0x3f ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xf8 ، 0x07 ، 0xc0 ، 0x3f ، 0xff ، 0x80 ، 0 x3f ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xc0 ، 0x7f ، 0xf9 ، 0x80 ، 0x0f ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0x80 ، 0xff ، 0xf9 ، 0x80 ، 0x07 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0x80 ، 0xff ، 0xff ، 0x80 ، 0x03 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0x01 ، 0xf0 ، 0x1f ، 0x80 ، 0x00 ، 0x07 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xc0 ، 0x00 ، 0x03 ، 0xe0 ، 0x06 ، 0x00 ، 0x00 ، 0x07 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xc0 ، 0x00 ، 0x03 ، 0xc0 ، 0x00 ، 0x00 ، 0x00 ، 0x03 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xc0 ، 0x00 ، 0x07 ، 0xc0 ، 0x00 ، 0x00 ، 0x00 ، 0 x03 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0x80 ، 0x00 ، 0x07 ، 0x80 ، 0x00 ، 0x00 ، 0x00 ، 0x03 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0x80 ، 0x00 ، 0x0f ، 0x80 ، 0x00 ، 0x00 ، 0x00 ، 0x01 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0x80 ، 0x00 ، 0x0f ، 0x00 ، 0x80 ، 0x00 ، 0x00 ، 0x01 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0x80 ، 0x00 ، 0x1e ، 0x01 ، 0xe0 ، 0x00 ، 0x00 ، 0x01 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0x00 ، 0x00 ، 0x1e ، 0x03 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0x00 ، 0x00 ، 0x3c ، 0x03 ، 0x3f ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0x00 ، 0x00 ، 0x7c ، 0x03 ، 0x3f ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xf8 ، 0x03 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xf8 ، 0x01 ، 0xe0 ، 0x00 ، 0x00 ، 0x00 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xf0 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xf0 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0x00 ، 0x00 ، 0x00 ، 0xc0 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0x80 ، 0x00 ، 0x01 ، 0xf0 ، 0x00 ، 0x00 ، 0x00 ، 0x01 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0x80 ، 0x00 ، 0x03 ، 0xb0 ، 0x00 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0x80 ، 0x00 ، 0x03 ، 0x18 ، 0x01 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0x80 ، 0x00 ، 0x03 ، 0xbc ، 0x07 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xc0 ، 0x00 ، 0x01 ، 0xfe ، 0x1f ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xc0 ، 0x00 ، 0x00 ، 0xff ، 0xff ، 0x80 ، 0x00 ، 0x03 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xf0 ، 0x00 ، 0x1f ، 0xff ، 0x00 ، 0x00 ، 0x03 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xfe ، 0x00 ، 0x07 ، 0xfc ، 0x00 ، 0x00 ، 0x07 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0x80 ، 0x03 ، 0xf0 ، 0x00 ، 0x00 ، 0x07 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xe0 ، 0x01 ، 0xc0 ، 0x00 ، 0x00 ، 0x0f ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xf8 ، 0x00 ، 0x00 ، 0x00 ، 0x00 ، 0x0f ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xf8 ، 0x03 ، 0xff ، 0xc0 ، 0x00 ، 0x00 ، 0x00 ، 0x1f ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xf8، 0x00، عشرية 0xFF، 0xe0، 0x00، 0x07، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، 0xfc، 0x00، 0x3f، 0xe0، 0x00، 0x1f، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، 0xfe، 0x00، 0x0e، 0x30، 0x00، 0x7f، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، 0x00، 0x07، 0x70، 0x00، عشرية 0xFF، 0x01، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، 0x80، 0x03، 0xe0، 0x1b، 0xfc، 0x01، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، 0xc0، 0x01، 0xc0، 0x7f، 0xf0، 0x03، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، 0xe0، 0x00، 0x00، 0x7f ، 0xc0 ، 0x07 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، عشرية 0xFF، 0xf0، 0x00، 0x00، 0x67، 0x00، 0x0f، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، 0xf8، 0x00، 0x00، 0x66، 0x00، 0x1f، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، 0xfe، 0x00، 0x00، 0x7e، 0x00، 0x7f، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، 0x00، 0x00، 0x3c، 0x01، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، 0xc0، 0x00، 0x00، 0x03، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، 0xf0، 0x00، 0x00، 0x1f، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، عشرية 0xFF، 0xfe، 0x00، 0x00 ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xf8 ، 0x1f ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff ، 0xff } ؛ display.drawBitmap (35 ، 0 ، myBitmap ، 128 ، 64 ، أسود ، أبيض) ؛ display.display () ،
تحويل الصورة إلى قيم نقطية
يمكن إنشاء صورة نقطية على الإنترنت من http://javl.github.io/image2cpp/. قم بتحميل ملف الصورة الذي تريد عرضه على OLED واضبط الحجم على 128 × 64. سيتم عرض صورة معاينة ثم سيتم إنشاء مصفوفة نقطية.
تظهر لقطات الشاشة أدناه عملية إنشاء قيمة الصورة النقطية لأي صورة.
أخيرًا قم بتحميل الكود الكامل إلى NodeMCU ESP8266 وسترى الصورة معروضة على شاشة OLED. نحن هنا نعرض شعار CircuitDigest على شاشة OLED.