شِفر (کود) و ویدئو آردوینو برای نمایشگر OLED SSD1306 با اندازه 128 x 64
در این آموزش، نحوه استفاده از نمایشگر SSD1306 OLED 128 x 64 با آردوینو را بررسی خواهیم کرد. SSD1306 یک نمایشگر چندمنظوره است که به شما امکان میدهد متن، گرافیک و اشکال مختلف را بهراحتی نمایش دهید. تا پایان این مقاله قادر خواهید بود نمایشگر را راهاندازی کرده و کدی را اجرا کنید که قابلیتهای آن را نشان میدهد.

ما شما را در انجام اتصالات سختافزاری لازم راهنمایی کرده و نمونهکدهایی ارائه میدهیم تا شناسههای کلیدی مورد استفاده در برنامه را بهتر درک کنید. برای توضیحی تصویریتر حتماً ویدیوی مرتبط را تماشا کنید (در ویدیو در 00:00).
سختافزار توضیح داده شده
اجزای اصلی این پروژه برد آردوینو و ماجیول نمایشگر OLED مدل SSD1306 هستند. نمایشگر SSD1306 از پروتکل ارتباطی I2C استفاده میکند که با نیاز داشتن تنها دو خط داده سیمکشی را ساده میکند: SDA برای داده و SCL برای سیگنال ساعت. این نمایشگر در ولتاژهای بین 3.3V و 5V کار میکند، که آن را با اکثر بردهای آردوینو سازگار میسازد.
علاوه بر نمایشگر، به سیمهای جامپر نیاز خواهید داشت تا ماجیول را به آردوینو وصل کنید. اتصالات شامل VCC برای تغذیه، GND برای زمین، SDA به پایهٔ دادهٔ آردوینو و SCL به پایهٔ کلاک هستند. این تنظیم امکان ارتباط آسان بین آردوینو و نمایشگر OLED را فراهم میکند.
جزئیات مشخصات فنی
| تولیدکننده | آدافروت |
|---|---|
| شماره قطعه | SSD1306 |
| ولتاژ منطقی/ورودی-خروجی | 3.3 ولت تا 5 ولت |
| ولتاژ تغذیه | 3.3 ولت - 5 ولت |
| رزولوشن صفحه نمایش | 128 در 64 پیکسل |
| آدرس I2C | 0x3C |
| رابط | آی2سی |
| بسته | ماجیول |
- از سیمکشی صحیح اطمینان حاصل کنید: VCC به 3.3V یا 5V، GND به زمین، SDA به A4، SCL به A5 (برای Arduino Uno).
- نمایشگر به مقاومتهای pull-up روی خطوط SDA و SCL نیاز دارد، در صورتی که این مقاومتها قبلاً تعبیه نشده باشند.
- اطمینان حاصل کنید که آدرس I2C در شِفر (کود) بهدرستی تنظیم شده است؛ معمولاً برای این نمایشگر 0x3C است.
- برای یکپارچهسازی آسان از یک کتابخانهٔ مناسب مانند Adafruit_SSD1306 استفاده کنید.
- قبل از ترسیم گرافیکهای جدید، صفحهنمایش را پاک کنید تا از ایجاد آثار همپوشانی جلوگیری شود.
دستورالعملهای سیمکشی

برای سیمکشی نمایشگر OLED مدل SSD1306 به آردوینو خود، مراحل زیر را دنبال کنید:
پایه VCC نمایشگر OLED را به پایه 5V (یا 3.3V) روی آردوینو متصل کنید. سپس پایه GND نمایشگر را به پایه زمین روی آردوینو متصل کنید. برای ارتباط I2C، پایه SDA نمایشگر را به پایه A4 آردوینو و پایه SCL را به پایه A5 متصل کنید. این تنظیمات به آردوینو امکان میدهد از طریق پروتکل I2C با نمایشگر OLED ارتباط برقرار کند.
اطمینان حاصل کنید که همهٔ اتصالات محکم هستند و دوباره بررسی کنید که از ولتاژ صحیح برای مدل نمایشگر خاص خود استفاده میکنید. اگر از مدل دیگری از آردوینو استفاده میکنید، پایههای SDA و SCL ممکن است متفاوت باشند (مثلاً در آردوینو مگا، SDA روی پایه 20 و SCL روی پایه 21 قرار دارد).
نمونههای شِفر (کود) و راهنمای گامبهگام
در شِفر (کود)، نمایشگر را مقداردهی اولیه کرده و پارامترهایی مانند آدرس I2C و ابعاد را تنظیم میکنیم. یکی از شناسههای کلیدی عبارت است ازdisplay، که نمایانگر نمونهای از نمایشگر SSD1306 است. در اینجا قطعهای از تابع setup آمده است:
void setup() {
Serial.begin(9600);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // initialize with the I2C addr 0x3C
}در این قطعه،display.beginتابع نمایشگر را با آدرس I2C مشخص مقداردهی اولیه میکند. ضروری است آدرس را با نمایشگر خود تطابق دهید تا ارتباط صحیح برقرار شود.
سپس، در تابع loop، ازdisplay.clearDisplay()روشی برای پاک کردن صفحه نمایش قبل از رسم محتوای جدید. میتوانیم اندازه و موقعیت متن را با استفاده ازsetTextSizeوsetCursorروشها:
void loop() {
display.clearDisplay();
display.setTextSize(2);
display.setCursor(2,1); // set cursor at top left corner
display.println("Robojax"); // display text
}در اینجا متن "Robojax" در مختصات (2,1) روی صفحه نمایش نشان داده میشود. این امکان قرارگیری دقیق متن روی نمایشگر OLED را فراهم میکند.
در نهایت، برای رندر کردن تغییرات روی نمایشگر، آن را فراخوانی میکنیمdisplay.display(). این تابع همهٔ دستورات ذخیرهشده در بافر را به نمایشگر ارسال میکند تا محتوای آن را بهروزرسانی کند:
display.display();این باید آخرین خط در تابع loop شما باشد تا مطمئن شوید که تمام دستورات رسم اجرا میشوند. اگر این مرحله را فراموش کنید، هیچ چیزی روی نمایشگر ظاهر نخواهد شد.
فراموش نکنید که شِفر (کود) کامل برای مراجعهی شما در پایین مقاله بارگذاری شده است.
نمایش / چه انتظاری داشته باشید
پس از آپلود شِفر (کود) روی آردوینو، باید متن Robojax روی صفحه OLED نمایش داده شود. شِفر (کود) همچنین اسکرول کردن متن و رسم خطوط، اشکال و دیگر گرافیکها را روی نمایشگر نشان میدهد. مراقب خطاهای رایج باشید، مانند سیمکشی نادرست یا آدرسهای I2C ناهماهنگ که میتوانند مانع عملکرد صحیح نمایشگر شوند (در ویدیو، در 10:00).
برچسبهای زمانی ویدیو
- 00:00- مقدمهای بر نمایشگر OLED SSD1306
- 02:30- سیمکشی نمایشگر
- 05:00- مرور شِفر (کود)
- ساعت 08:00- نمایش قابلیتهای نمایشگر
- 10:00- مشکلات رایج و عیبیابی
منابع و مراجع
فایلها📁
هیچ فایلی موجود نیست.