🖥️ راه‌اندازی نمایشگر OLED SSD1306 با آردوینو و کتابخانه‌ی Adafruit

✍️ تیم ووکوی فارسی ·

نمایشگر OLED SSD1306 یکی از محبوب‌ترین صفحه‌های کوچک دنیای آردوینو است: ارزان، خیلی واضح، کم‌مصرف و فقط با چهار سیم وصل می‌شود. در این آموزش یاد می‌گیری روی آن متن بنویسی، شکل بکشی و یک عدد زنده نشان بدهی. اگر در wokwi یا هر شبیه ساز آردوینو دیگری دنبال یک مثال کامل فارسی برای OLED می‌گشتی، این‌جا جای درستی است.

چه چیزی می‌سازیم؟

یک صفحه‌ی خوش‌آمد: کلمه‌ی «Salam!» با حروف درشت، یک خط توضیح، یک مستطیل و یک دایره‌ی توپر، و پایین صفحه یک شمارنده که ثانیه‌های گذشته از روشن شدن آردوینو را نشان می‌دهد.

قطعه‌ها

سیم‌کشی

پایه‌ی OLEDپایه‌ی آردوینو Uno
GNDGND
VCC5V (بیشتر ماژول‌ها رگولاتور دارند؛ 3.3V هم کار می‌کند)
SCLA5
SDAA4

روی آردوینو Uno، پایه‌های I2C همیشه A4 (داده) و A5 (ساعت) هستند. روی مگا این دو پایه 20 و 21‌اند.

کد کامل

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64

Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);

void setup() {
  Serial.begin(9600);
  if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
    Serial.println("OLED not found!");
    while (true) {}
  }

  display.clearDisplay();
  display.setTextColor(SSD1306_WHITE);

  display.setTextSize(2);
  display.setCursor(0, 0);
  display.println("Salam!");

  display.setTextSize(1);
  display.println("Wokwi.ir + Arduino");

  display.drawRect(0, 44, 60, 20, SSD1306_WHITE);
  display.fillCircle(100, 54, 9, SSD1306_WHITE);
  display.display();
}

void loop() {
  unsigned long sec = millis() / 1000;

  display.fillRect(0, 28, 128, 10, SSD1306_BLACK);  // پاک کردن فقط همین خط
  display.setCursor(0, 28);
  display.print("Time: ");
  display.print(sec);
  display.print(" s");
  display.display();

  delay(200);
}

خط‌های مهم

این کتابخانه حدود یک کیلوبایت از دو کیلوبایت RAM آردوینو Uno را برای تصویر صفحه برمی‌دارد. اگر برنامه‌ات بزرگ شد و رفتار عجیب دید، احتمالاً حافظه کم آمده است.

اجرا در شبیه‌ساز

در تینکرکد فارسی مثال آماده‌ی OLED: متن و شکل را باز کن. وقتی این را یاد گرفتی، سراغ نمودار زنده روی OLED برو. درس کاملش هم درس ۷۱: نمایشگر OLED است. OLED جزو ماژول‌های حرفه‌ای اشتراک پلاس است؛ مثال برای خواندن رایگان باز می‌شود و برای اجرا پلاس لازم داری. اگر کتابخانه‌ی دیگری لازم داری، در زبانه‌ی «کتابخانه‌ها» می‌توانی فایل zip یا .h/.cpp خودت را برای اجرای واقعی بارگذاری کنی. درباره‌ی کتابخانه‌ها در صفحه‌ی کتابخانه‌های شبیه‌ساز بیشتر خوانده‌ای.

اشکال‌های رایج

همین نمایشگر را با میکروپایتون روی پیکو هم راه انداخته‌ایم: OLED و نئوپیکسل روی پیکو. برای پروژه‌های بیشتر به صفحه‌ی شبیه‌ساز آردوینو سر بزن.

مثال OLED را در شبیه‌ساز باز کن 🖥️

مقاله‌های مرتبط

🌈

رنگین‌کمان نئوپیکسل با آردوینو و کتابخانه‌ی Adafruit_NeoPixel

🦾

سروو موتور با آردوینو: جاروب ۰ تا ۱۸۰ درجه و کنترل با پتانسیومتر

📟

نمایشگر LCD کاراکتری ۱۶×۲ با ماژول I2C در آردوینو

📈

سریال مانیتور و نمودار سریال آردوینو در شبیه‌ساز آنلاین

همه‌ی آموزش‌های سنسورها و ماژول‌ها ← · همه‌ی مقاله‌ها