در آموزش های قبلی نحوه راه اندازی OLED های با درایور SSD1306 توضیح داده شده . در این آموزش به راه اندازی OLED های با درایور SSD1106 خواهیم پرداخت . به طور معمول OLED های با سایز 1.3 اینچی دارای این درایور می باشند . SSD1106 امکان راه اندازی از طریق I2C ، SPI و ارتباط پارالل را دارد . برای راه اندازی این OLED ها تنها یک بار دیتای مربوط به هر فریم رو به OLED ارسال میکنید که درایور OLED تصویر را نمایش می دهد و نیازی به رفرش کردن توسط MCU نمی باشد . کتابخانه های زیادی برای راه اندازی OLED توسط آردوینو نوشته شده است که هر کتابخانه ویژگی خاص خود را دارد . در این بین کتابخانه U8g2 یکی از قوی ترین کتابخانه های موجود برای راه اندازی OLED های تک رنگ است . U8g2 از مدل های مختلف نمایشگر های تک رنگ چشتیبانی میکند و با وجود توابع مختلف و همچنین مدیریت منابع حافظه ، سرعت و عملکرد بهتری نسبت به سایر کتابخانه ها دارد . در این آموزش از کتابخانه U8g2 برای راه اندازی SSD1106 استفاده خواهیم کرد .
مشخصات :
– دارای ابعاد 1.3 اینچ
– وضوع 128×64 پیکسل
– درایور SSD1106
– رنگ سفید
– دارای رابط ارتباطی I2C
– ولتاژ تغذیه 3.3 تا 5 ولت
پایه های OLED با درایور SSD1106 :
تصویر فوق مربوط به مدل I2C که در این آموزش از آن استفاده خواهیم کرد . مدل های SPI پین های متفاوتی دارند .
پین های VCC و GND به ترتیب برای تغذیه و زمین ماژول هستند . همچنین پین های SCL و SDA نیز برای ارتباط I2C می باشند .
راه اندازی OLED SSD1106 با آردوینو :
برای راه اندازی این OLED ابندا از این لینک کتابخانه U8g2 را دانلود کنید .
OLED را همانند تصویر زیر به آردوینو یا NodeMCU متصل کنید :
#include <Arduino.h> #include <U8g2lib.h> #ifdef U8X8_HAVE_HW_SPI #include <SPI.h> #endif #ifdef U8X8_HAVE_HW_I2C #include <Wire.h> #endif U8G2_SH1106_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); void setup(void) { u8g2.begin(); } void loop(void) { u8g2.clearBuffer(); // clear the internal memory u8g2.setFont(u8g2_font_ncenB08_tr); // choose a suitable font u8g2.drawStr(0,10,"Hello World!"); // write something to the internal memory u8g2.sendBuffer(); // transfer internal memory to the display delay(1000); }