شاشة OLED 0.96 بوصة هي شاشة مضغوطة موفرة للطاقة مثالية لعرض بيانات النص والرسومات وبيانات المستشعر في مشاريع Arduino. سيوجهك هذا البرنامج التعليمي من خلال إعداد واستخدام شاشة OLED 0.96 "مع Arduino.
ماذا ستحتاج
- لوحة أردوينو (على سبيل المثال ، UNO ، Mega ، Nano)
- 0.96 "وحدة عرض OLED (مع واجهة I2C أو SPI)
- الأسلاك الأسلاك والبلوز
- جهاز كمبيوتر مع Arduino IDE مثبت
- المكتبات: Adafruit SSD1306 ومكتبة Adafruit GFX
الخطوة 1: فهم شاشة OLED
عادةً ما تستخدم شاشة OLED 0.96 بوصة برنامج تشغيل SSD1306 ويدعم إما اتصال I2C أو SPI. في أكثرها شيوعًا ، يعمل عبر بروتوكول I2C ، والذي يتطلب فقط دبابيس بيانات (SDA و SCL).
i2c pinout
دبوس OLED | وظيفة | Arduino Uno Pin |
---|---|---|
VCC | مزود الطاقة (3.3V أو 5V) | 5V |
GND | أرضي | GND |
SDA | خط البيانات | A4 |
SCL | خط الساعة | A5 |
ملحوظة: تحقق من ورقة بيانات وحدة OLED الخاصة بك لتأكيد pinout.
الخطوة 2: تثبيت المكتبات المطلوبة
للعمل مع شاشة OLED ، تحتاج إلى المكتبات التالية:
- Adafruit SSD1306 مكتبة
- مكتبة Adafruit GFX
خطوات لتثبيت المكتبات
- افتح Arduino IDE.
- اذهب إلى رسم > تشمل المكتبة > إدارة المكتبات.
- ابحث عن "Adafruit SSD1306" وانقر فوق ثَبَّتَ.
- ابحث عن "مكتبة Adafruit GFX" وانقر ثَبَّتَ.
الخطوة 3: توصيل شاشة OLED
قم بتوصيل OLED بالأردوينو على النحو التالي:
دبوس OLED | دبوس أردوينو |
---|---|
VCC | 5V |
GND | GND |
SDA | A4 |
SCL | A5 |
الخطوة 4: تحميل الرمز
فيما يلي نموذج رسم لعرض النص والرسومات على شاشة OLED:
رمز المثال: إعداد OLED الأساسي
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels
// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
#define OLED_RESET -1 // Reset pin not used
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
void setup() {
// Initialize the display
if (!display.begin(SSD1306_I2C_ADDRESS, 0x3C)) { // Address 0x3C for most modules
Serial.println(F("SSD1306 allocation failed"));
for (;;);
}
display.clearDisplay(); // Clear the buffer
// Display Welcome Message
display.setTextSize(1); // Set text size (1 = small)
display.setTextColor(SSD1306_WHITE); // Set text color
display.setCursor(0, 10); // Set cursor position (x, y)
display.println(F("Hello, OLED!"));
display.display(); // Display the message
delay(2000);
// Draw a rectangle
display.clearDisplay();
display.drawRect(10, 10, 50, 30, SSD1306_WHITE); // x, y, width, height, color
display.display();
delay(2000);
}
void loop() {
// Update screen with dynamic content if needed
}
الخطوة 5: استكشاف وظائف إضافية
توفر مكتبة Adafruit GFX مجموعة واسعة من الوظائف للرسومات والنص. فيما يلي بعض الأمثلة:
1. عرض النص
display.setTextSize(2); // Larger text size
display.setTextColor(SSD1306_WHITE);
display.setCursor(0, 0);
display.println("Arduino");
display.display();
2. أشكال الرسم
-
المستطيل:
display.drawRect(x, y, width, height, color);
-
دائرة:
display.drawCircle(x, y, radius, color);
-
خط:
display.drawLine(x1, y1, x2, y2, color);
3
display.invertDisplay(true); // Invert colors
delay(1000);
display.invertDisplay(false); // Revert colors
القضايا الشائعة واستكشاف الأخطاء وإصلاحها
-
OLED لا تظهر:
- تأكد من استخدام عنوان I2C الصحيح (0x3C أو 0x3D) في الكود.
- تحقق من الأسلاك والاتصالات.
-
أخطاء المكتبة:
- تأكد من تثبيت مكتبات ADAFRUIT SSD1306 و GFX.
-
شاشة الخفقان:
- يستخدم
display.clearDisplay()
فقط عند الضرورة لتقليل وميض.
- يستخدم
-
pinout غير صحيح:
- تحقق من ورقة بيانات الوحدة النمطية لاتصالات SDA و SCL الصحيح.
تطبيقات شاشات OLED
- عرض بيانات المستشعر (على سبيل المثال ، درجة الحرارة ، الرطوبة)
- واجهات المستخدم للأنظمة المضمنة
- ردود الفعل المرئية لأجهزة إنترنت الأشياء
- عروض رسومية للإلكترونيات المحمولة
خاتمة
شاشة OLED 0.96 بوصة هي إضافة متعددة الاستخدامات وجذابة بصريًا لمشاريع Arduino. باتباع هذا الدليل ، يمكنك عرض النصوص والرسومات والبيانات في الوقت الفعلي على شاشة OLED الخاصة بك. جرب وظائف ومكتبات مختلفة لإنشاء شاشات ديناميكية وتفاعلية لمشاريعك!