توصيل شاشة OLED مع الاردوينو



مقدمة

سنقوم في هذه التجربة بـ…

الأدوات المستخدمة

الأداة العددملاحظات
اردوينو اونو١
شاشة OLED I2C١
لوحة توصيلحسب الحاجة
أسلاك توصيل (ذكر-أنثى)حسب الحاجة

الجزء النظري

خطوات التوصيل

اتبع الصورة التالية لتتمكن من توصيل الدائرة

الكود البرمجي

نحتاج إلى تحميل المكتبتين (Adafruit_SSD1306.h و Adafruit-GFX.h) ليعمل الكود بدون أخطاء

قبل أن نقوم بتشغيل الكود البرمجي يجب علينا أن نغير بعض الإعدادات لتعمل الشاشة بشكلٍ صحيح.

بدايةً يجب علينا تعديل حجم الشاشة في الكود ليتناسب مع حجم الشاشة التي نستخدمها، وتستطيع معرفة إذا ما كان الحجم المذكور في الكود مناسبًا أم لا عن طريق تشغيل الكود، فإذا ظهر هذا الخطأ:

#error (“Height incorrect, please fix Adafruit_SSD1306.h!”);

فهذا يعني أن الحجم غير متطابق ويجب عليك أن تقوم بالخطوات التالية:

  • قم بفتح ملف المكتبة Adafruit_SSD1306 بعد تحميلها وافتح الملف (Adafruit_SSD1306.h) بواسطة برنامج Notepad.
  • ابحث عن العنوان (SSD1306 Displays) ثم ضع الجملة الأولى كتعليق بإضافة الرمز (//) قبل الجملة، كالتالي:

بعد التعديلقبل التعديل
// #define SSD1306_128_32 #define SSD1306_128_64#define SSD1306_128_32 // #define SSD1306_128_64

أي سيصبح الكود البرمجي لهذا الجزء كالتالي:

/*=========================================================================
   SSD1306 Displays
   ———————————————————————–
   The driver is used in multiple displays (128×64, 128×32, etc.).
   Select the appropriate display below to create an appropriately
   sized framebuffer, etc.

   SSD1306_128_64  128×64 pixel display

   SSD1306_128_32  128×32 pixel display

   SSD1306_96_16

   ———————————————————————–*/
  #define SSD1306_128_64
//   #define SSD1306_128_32
//   #define SSD1306_96_16
/*=========================================================================*/

  • بعد ذلك قم بفتح المثال االتالي لتغير العنوان من 0x3D الى 0x3C

File → Examples → Adafruit SSD1306ssd1306_128x64_i2c

لتصبح الدالة هكذا:

void setup()   {  
 Serial.begin(9600);

 // by default, we’ll generate the high voltage from the 3.3v line internally! (neat!)
 //display.begin(SSD1306_SWITCHCAPVCC, 0x3D);  // initialize with the I2C addr 0x3D (for the 128×64)
 display.begin(SSD1306_SWITCHCAPVCC, 0x3C);  // changed this to 0x3C to make it work
 // init done

بعد ذلك قم بنسخ الكود ولصقه في برنامج الاردونيو وتشغيله

الكود البرمجي

ستظهر النتيجة بهذا الشكل

المصدر

https://startingelectronics.org/tutorials/arduino/modules/OLED-128×64-I2C-display/

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *