نمایشگر OLED 0.96 اینچ آبی و زرد SSD1306 | نمایشگر 128×64 با رابط I2C
نمایشگر OLED 0.96 اینچ آبی و زرد یکی از محبوبترین و پرکاربردترین نمایشگرهای گرافیکی در پروژههای الکترونیکی، رباتیک، اینترنت اشیا (IoT) و سیستمهای مبتنی بر میکروکنترلر است. این ماژول با بهرهگیری از فناوری OLED (Organic Light Emitting Diode)، تصاویر و متون را با وضوح بسیار بالا، کنتراست عالی و زاویه دید گسترده نمایش میدهد. برخلاف نمایشگرهای LCD، در فناوری OLED هر پیکسل بهصورت مستقل نور تولید میکند و به نور پسزمینه نیاز ندارد؛ بنابراین رنگ مشکی کاملاً واقعی بوده و کیفیت نمایش اطلاعات بهمراتب بهتر است. همچنین مصرف انرژی پایین این نمایشگر، آن را به گزینهای ایدهآل برای تجهیزات قابل حمل و پروژههای باتریخور تبدیل کرده است.
این نمایشگر معمولاً از کنترلر SSD1306 بهره میبرد و با رزولوشن 128×64 پیکسل، امکان نمایش متن، اعداد، آیکونها، لوگو، نمودار و تصاویر تکرنگ را با کیفیت بالا فراهم میکند. ارتباط با میکروکنترلر از طریق رابط I2C انجام میشود؛ بنابراین تنها با چهار پایه شامل VCC، GND، SDA و SCL میتوان نمایشگر را راهاندازی کرد. این ویژگی علاوه بر کاهش تعداد سیمهای مورد نیاز، باعث آزاد ماندن پایههای بیشتر میکروکنترلر برای سایر تجهیزات میشود و طراحی مدار را سادهتر میکند.
نمایشگر OLED 0.96 اینچ آبی و زرد با ولتاژ 3.3 تا 5 ولت کار میکند و بهطور مستقیم با بردهای Arduino Uno، Arduino Nano، Mega2560، ESP8266، ESP32، STM32، Raspberry Pi، AVR، PIC و سایر بردهای توسعه سازگار است. وجود کتابخانههای آماده و متنباز مانند Adafruit SSD1306، Adafruit GFX و U8g2 باعث شده است که راهاندازی این نمایشگر تنها با چند خط کدنویسی امکانپذیر باشد و حتی کاربران مبتدی نیز بتوانند بهراحتی از آن در پروژههای خود استفاده کنند.
یکی از مهمترین مزایای این نمایشگر، سرعت پاسخدهی بالا و کیفیت نمایش فوقالعاده است. متنها و گرافیکها بدون تأخیر و با وضوح بالا نمایش داده میشوند و زاویه دید بیش از 160 درجه باعث میشود اطلاعات از زوایای مختلف نیز بهخوبی قابل مشاهده باشند. از آنجا که نمایشگر فاقد نور پسزمینه است، ضخامت بسیار کمی داشته و در محیطهای کمنور یا تاریک نیز خوانایی بسیار خوبی ارائه میدهد. همین ویژگیها باعث شده است این نمایشگر در تجهیزات حرفهای و دستگاههای صنعتی نیز مورد استفاده قرار گیرد.
از دیگر ویژگیهای مهم نمایشگر OLED آبی و زرد 0.96 اینچ میتوان به مصرف جریان پایین، نصب آسان، ابعاد جمعوجور، وزن کم، طول عمر بالا، کیفیت ساخت مناسب و سازگاری با انواع کتابخانههای نرمافزاری اشاره کرد. همچنین به دلیل استفاده از رابط I2C، این نمایشگر بهراحتی در کنار سایر سنسورها و ماژولهای I2C روی یک گذرگاه مشترک قابل استفاده است و فضای کمی روی برد اشغال میکند.
کاربردها
• نمایش اطلاعات سنسورها (دما، رطوبت، فشار، نور و …)
• پروژههای آردوینو، ESP8266، ESP32 و STM32
• تجهیزات اینترنت اشیا (IoT)
• رابط کاربری (UI) دستگاههای الکترونیکی
• ساعت دیجیتال و تقویم هوشمند
• ولتمتر، آمپرمتر و تجهیزات اندازهگیری
• منابع تغذیه آزمایشگاهی و پاورساپلای دیجیتال
• تجهیزات پزشکی و آزمایشگاهی
• رباتیک و سیستمهای کنترل هوشمند
• نمایش وضعیت باتری، وایفای و بلوتوث
• پرینترهای سهبعدی و دستگاههای CNC
• تجهیزات قابل حمل و باتریخور
• سیستمهای مانیتورینگ و اتوماسیون صنعتی
• پروژههای آموزشی و تحقیقاتی
راهاندازی (Setup)
راهاندازی نمایشگر OLED بسیار ساده است و تنها به چهار سیم نیاز دارد.
1. پایه VCC را به ولتاژ 3.3 یا 5 ولت DC متصل کنید.
2. پایه GND را به زمین (GND) مدار واسط و یا میکروکنترلر وصل نمایید.
3. پایه SDA را به پایه SDA (داده I2C) میکروکنترلر متصل کنید.
4. پایه SCL را به پایه SCL (کلاک I2C) میکروکنترلر متصل نمایید.
5. کتابخانه Adafruit SSD1306 یا U8g2 را در محیط برنامهنویسی نصب کنید. البته نوع کتابخانه به میکروکنترلر مورد استفاده بستگی دارد و باید کتابخانه های مناسب همان میکروکنترلر و با توجه به آی سی کنترلر نمایشگر را نصب و در برنامه استفاده کنید. از جمله کتابخانه های پر کاربرد برای میکروکنترلرها عبارتند از:
کتابخانه کنترلر نمایشگر میکروکنترلرهای پشتیبانیشده توضیحات
Adafruit SSD1306 SSD1306 Arduino AVR (Uno, Nano, Mega)، ESP8266، ESP32، STM32، RP2040، SAMD و بسیاری از بردهای سازگار با Arduino یکی از محبوبترین کتابخانهها برای نمایشگرهای SSD1306
Adafruit GFX مستقل از کنترلر همان بردهای بالا کتابخانه گرافیکی است و همراه Adafruit SSD1306 یا سایر درایورها استفاده میشود. بهتنهایی نمایشگر را راهاندازی نمیکند.
U8g2 SSD1306، SH1106، SH1107، SSD1327، ST7565 و دهها کنترلر دیگر Arduino، ESP8266، ESP32، STM32، AVR، Teensy، Raspberry Pi Pico و سایر بردهای پشتیبانیشده کتابخانهای جامع با پشتیبانی از تعداد زیادی نمایشگر و فونتهای متنوع
Adafruit SH110X SH1106، SH1107 و SH110X Arduino، ESP8266، ESP32، STM32 و سایر بردهای سازگار با Arduino مخصوص نمایشگرهای مبتنی بر SH1106 و SH1107
کتابخانه ssd1306xled برای آردوینو
کتابخانه رسمی Adafruit SSD1306
کتابخانه رسمی Adafruit GFX
کتابخانه U8g2
بیش از ۹۰ درصد نمایشگرهای OLED 0.96 اینچ چهارپین I2C از کنترلر SSD1306 استفاده میکنند، اما نسخههای مبتنی بر SH1106 نیز وجود دارند. قبل از استفاده از کتابخانه حتما روی آی سی کنترل نمایشگر را اگر دسترسی دارید چک کنید .
6. برای تعیین آدرس I2C نمایشگر، برد را از پشت بررسی کنید و محل قرارگیری مقاومت صفر اهم (0Ω) یا جامپر لحیمی (Solder Blob) را مشاهده کنید.
• اگر مقاومت یا جامپر روی سمت “راست” قرار داشته باشد، آدرس I2C برابر 0x7A به صورت 8 بیتی خواهد بود ویا به صورت 0x3D در قالب هفت بیتی است.
• اگر مقاومت یا جامپر روی سمت “چپ” قرار داشته باشد، آدرس I2C برابر 0x78 به صورت 8 بیتی خواهد بود. ویا به صورت 0x3C در قالب هفت بیتی است.
• در Arduino، ESP32، STM32 HAL، Raspberry Pi و اکثر کتابخانههای امروزی، باید آدرس 7 بیتی مانند 0x3C را وارد کنید.
• این روش سادهترین راه برای تشخیص آدرس پیشفرض نمایشگر پیش از اتصال به میکروکنترلر است. در صورت نامشخص بودن، میتوانید با اجرای برنامه I2C Scanner نیز آدرس صحیح نمایشگر را شناسایی کنید.
7. پس از آپلود برنامه، متن یا گرافیک موردنظر روی نمایشگر نمایش داده خواهد شد.
8. برای تغییر رنگ نوشته مختصات Y را از حدود 16 پیکسل به پایین قرار دهید. مثلا display.setCursor(0,10);
لینک نمونه برنامه با آردوینو :
نمونه اتصال به Arduino UNO
پایه نمایشگر آردوینو UNO
VCC 5V
GND GND
SDA A4
SCL A5
نمونه اتصال به ESP32
پایه نمایشگر ESP32
VCC 3.3V
GND GND
SDA GPIO21
SCL GPIO22
نکات مهم در استفاده
• قبل از راهاندازی، نوع رابط نمایشگر I2C یا SPI را بررسی کنید؛ این راهنما مربوط به مدل I2C است.
• ولتاژ تغذیه را مطابق مشخصات ماژول 3.3 یا 5 ولتDC انتخاب کنید.
• آدرس I2C بیشتر مدلها 0x3C است، اما برخی نسخهها از آدرس 0x3D استفاده میکنند؛ در صورت عدم شناسایی، از برنامه I2C Scanner استفاده کنید.
• برای دستیابی به بهترین کیفیت نمایش، از کتابخانههای Adafruit SSD1306 یا U8g2 استفاده کنید.
• از وارد کردن فشار زیاد به سطح نمایشگر خودداری کنید، زیرا پنل OLED نسبت به ضربه حساس است.
• از اتصال اشتباه پایههای VCC و GND خودداری کنید تا از آسیب به ماژول جلوگیری شود.
• هنگام استفاده طولانیمدت از نمایش تصاویر ثابت، ممکن است پدیده Burn-in ماندگاری تصویردر نمایشگرهای OLED ایجاد شود؛ برای کاهش این احتمال، از جابهجایی دورهای محتوا یا خاموش کردن نمایشگر در زمان عدم استفاده بهره ببرید.
• در محیطهای دارای نویز الکتریکی، از سیمهای کوتاه و تغذیه پایدار استفاده کنید تا ارتباط I2C بدون خطا برقرار بماند.
• این نمایشگر برای استفاده در محیطهای خشک طراحی شده است؛ از تماس مستقیم آن با آب، رطوبت یا مواد خورنده جلوگیری کنی
پرسش و پاسخ
نمایشگر OLED 0.96 اینچ برای چه پروژههایی مناسب است؟
این نمایشگر برای پروژههای آردوینو، ESP8266، ESP32، STM32، Raspberry Pi، اینترنت اشیا (IoT)، رباتیک، تجهیزات اندازهگیری، سیستمهای مانیتورینگ، منابع تغذیه، ساعتهای دیجیتال و انواع پروژههای الکترونیکی مناسب است.
آیا این نمایشگر با آردوینو سازگار است؟
بله. این نمایشگر با اکثر بردهای توسعه از جمله Arduino Uno، Nano، Mega، ESP8266، ESP32، STM32، AVR، PIC و Raspberry Pi سازگار است.
ولتاژ کاری نمایشگر چقدر است؟
ماژولهای OLED 0.96 اینچ با ولتاژ 3.3 تا 5 ولت DC کار میکنند.
رابط ارتباطی این نمایشگر چیست؟
این محصول از رابط I2C استفاده میکند و تنها به چهار پایه VCC، GND، SDA و SCL نیاز دارد. برخی نسخهها با رابط SPI نیز عرضه میشوند؛ بنابراین پیش از راهاندازی، نوع رابط ماژول را بررسی کنید.
آدرس I2C نمایشگر چیست؟
آدرس پیشفرض اکثر مدلها به صورت 7 بیتی0x3C است، اما در برخی نسخهها با تغییر جامپر روی برد، آدرس به 0x3D تغییر میکند. در صورت عدم اطمینان، میتوانید از برنامه I2C Scanner برای شناسایی آدرس استفاده کنید.
چگونه نوع کنترلر نمایشگر را تشخیص دهم؟
نوع کنترلر معمولاً از روی مشخصات سازنده، نوشته روی آیسی یا PCB قابل شناسایی است. در برخی مدلها از SSD1306، SSD1315 یا SH1106 استفاده میشود که انتخاب کتابخانه مناسب به آن بستگی دارد.
این مدل از کنترلر SSD1306 استفاده می کند.
آیا این نمایشگر دارای نور پسزمینه (Backlight) است؟
خیر. نمایشگرهای OLED به نور پسزمینه نیاز ندارند و هر پیکسل بهصورت مستقل نور تولید میکند؛ به همین دلیل کنتراست بالا و رنگ مشکی واقعی ارائه میدهند.
چرا نمایشگر چیزی نشان نمیدهد؟
این مشکل معمولاً به یکی از دلایل زیر رخ میدهد:
• آدرس I2C اشتباه است.
• سیمکشی SDA و SCL نادرست انجام شده است.
• کتابخانه یا درایور مناسب کنترلر نمایشگر انتخاب نشده است.
• ولتاژ تغذیه مناسب نیست.
آیا امکان نمایش متن و تصاویر وجود دارد؟
بله. این نمایشگر قادر به نمایش متن، اعداد، آیکونها، لوگو، اشکال گرافیکی و تصاویر تکرنگ (Monochrome) با وضوح 128×64 پیکسل است.
آیا نمایشگر OLED دچار ماندگاری تصویر (Burn-in) میشود؟
در صورت نمایش طولانیمدت یک تصویر ثابت، احتمال ایجاد ماندگاری تصویر (Burn-in) وجود دارد. برای افزایش طول عمر نمایشگر، بهتر است از نمایش مداوم تصاویر ثابت خودداری کرده یا محتوای نمایشگر را بهصورت دورهای تغییر دهید.
آیا میتوان چند نمایشگر OLED را همزمان به یک باس I2C متصل کرد؟
بله. در صورتی که نمایشگرها آدرس I2C متفاوت (مانند 0x3C و 0x3D) داشته باشند، میتوان آنها را بهطور همزمان روی یک باس I2C استفاده کرد.
نقد و بررسیها
هنوز بررسیای ثبت نشده است.