באמצעות OLED 0.96 "עם הארדואינו

Using a 0.96" OLED with the Arduino

תצוגת ה- OLED בגודל 0.96 "היא מסך קומפקטי ויעיל באנרגיה המושלם להצגת נתוני טקסט, גרפיקה וחיישנים בפרויקטים של ארדואינו. הדרכה זו תדריך אתכם בהגדרת ותצוגת OLED של 0.96 אינץ 'עם ארדואינו.


מה תצטרך

  1. מועצת ארדואינו (למשל, אונו, מגה, ננו)
  2. 0.96 "מודול תצוגה של OLED (עם ממשק I2C או SPI)
  3. חוטי לחם וגשר
  4. מחשב עם Arduino IDE המותקן
  5. ספריות: Adafruit SSD1306 וספריית adafruit gfx

שלב 1: הבנת תצוגת OLED

תצוגת ה- OLED בגודל 0.96 אינץ 'משתמשת בדרך כלל במנהל ההתקן SSD1306 ותומכת בתקשורת I2C או SPI. לרוב, היא פועלת באמצעות פרוטוקול I2C, הדורשת רק שני סיכות נתונים (SDA ו- SCL).

I2c pinout

סיכת אולד פוּנקצִיָה סיכת ארדואינו אונו
VCC ספק כוח (3.3 וולט או 5 וולט) 5V
GND טָחוּן GND
SDA קו נתונים A4
SCL קו שעון A5

פֶּתֶק: בדוק את גיליון הנתונים של מודול ה- OLED שלך כדי לאשר את ה- PINOUT.


שלב 2: התקנת ספריות נדרשות

כדי לעבוד עם תצוגת OLED, אתה זקוק לספריות הבאות:

  1. ספריית Adafruit SSD1306
  2. ספריית adafruit gfx

שלבים להתקנת ספריות

  1. פתח את IDE Arduino.
  2. לך אל סְקִיצָה > כלול ספרייה > לנהל ספריות.
  3. חפש "Adafruit SSD1306" ולחץ לְהַתְקִין.
  4. חפש "ספריית adafruit gfx" ולחץ לְהַתְקִין.

שלב 3: חיווט תצוגת 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

סוגיות נפוצות ופתרון בעיות

  1. OLED לא מציג:

    • ודא שכתובת I2C הנכונה (0x3c או 0x3d) משמשת בקוד.
    • בדוק את החיווט והחיבורים.
  2. שגיאות בספריה:

    • ודא שמותקנים את Adafruit SSD1306 וספריות GFX.
  3. תצוגה מהבהבת:

    • לְהִשְׁתַמֵשׁ display.clearDisplay() רק במידת הצורך כדי למזער את הבהוב.
  4. פינאוט שגוי:

    • אמת את גיליון הנתונים של המודול לחיבורי SDA ו- SCL נכונים.

יישומים של תצוגות OLED

  1. הצגת נתוני חיישנים (למשל, טמפרטורה, לחות)
  2. ממשקי משתמש למערכות משובצות
  3. משוב חזותי למכשירי IoT
  4. תצוגות גרפיות עבור אלקטרוניקה ניידת

מַסְקָנָה

תצוגת ה- OLED בגודל 0.96 "היא תוספת רב-תכליתית ומושכת חזותית לפרויקטים של ארדואינו. על ידי ביצוע מדריך זה, תוכלו להציג טקסט, גרפיקה ונתונים בזמן אמת במסך OLED שלכם. ניסו בפונקציות וספריות שונות כדי ליצור תצוגות דינאמיות ואינטראקטיביות לפרויקטים שלך!

השאירו תגובה

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.