Folosind un OLED de 0,96 "cu Arduino

Using a 0.96" OLED with the Arduino

Afișajul OLED de 0,96 "este un ecran compact, eficient din punct de vedere energetic, care este perfect pentru afișarea datelor de text, grafică și senzori în proiectele Arduino. Acest tutorial vă va ghida prin configurarea și utilizarea unui ecran OLED de 0,96" cu un Arduino.


Ce vei avea nevoie

  1. Board Arduino (de exemplu, Uno, Mega, Nano)
  2. Modul de afișare OLED de 0,96 " (cu interfața I2C sau SPI)
  3. Tablă de pâine și jumper
  4. Un computer cu IDE Arduino instalat
  5. Biblioteci: Adafruit SSD1306 și Adafruit GFX Library

Pasul 1: Înțelegerea afișajului OLED

Afișajul OLED de 0,96 "folosește de obicei driverul SSD1306 și acceptă fie comunicarea I2C sau SPI. Cel mai frecvent, funcționează prin protocolul I2C, necesitând doar doi pini de date (SDA și SCL).

I2C PINOUT

Pinul Oled Funcţie Arduino Uno Pin
VCC Sursă de alimentare (3,3V sau 5V) 5V
GND Sol GND
SDA Linie de date A4
SCL Linie de ceas A5

Nota: Verificați fișa tehnică a modulului OLED pentru a confirma PINOUT.


Pasul 2: Instalarea bibliotecilor necesare

Pentru a lucra cu afișajul OLED, aveți nevoie de următoarele biblioteci:

  1. Biblioteca Adafruit SSD1306
  2. Biblioteca Adafruit GFX

Pași pentru instalarea bibliotecilor

  1. Deschideți IDE Arduino.
  2. Du -te la Schiţa > Include biblioteca > Gestionați bibliotecile.
  3. Căutați „Adafruit SSD1306” și faceți clic pe Instala.
  4. Căutați „Adafruit GFX Library” și faceți clic pe Instala.

Pasul 3: Cablarea afișajului OLED

Conectați OLED la Arduino după cum urmează:

Pinul Oled Pinul Arduino
VCC 5V
GND GND
SDA A4
SCL A5

Pasul 4: Încărcarea codului

Iată un eșantion de schiță pentru a afișa text și grafică pe ecranul OLED:

Cod de exemplu: configurare OLED de bază

#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
}

Pasul 5: Explorarea funcțiilor suplimentare

Biblioteca Adafruit GFX oferă o gamă largă de funcții pentru grafică și text. Iată câteva exemple:

1. Afișarea textului

  display.setTextSize(2); // Larger text size
  display.setTextColor(SSD1306_WHITE);
  display.setCursor(0, 0);
  display.println("Arduino");
  display.display();

2. Forme de desen

  • Dreptunghi: display.drawRect(x, y, width, height, color);
  • Cerc: display.drawCircle(x, y, radius, color);
  • Linia: display.drawLine(x1, y1, x2, y2, color);

3. Culori inversând

  display.invertDisplay(true); // Invert colors
  delay(1000);
  display.invertDisplay(false); // Revert colors

Probleme comune și depanare

  1. OLED nu se afișează:

    • Asigurați -vă că adresa I2C corectă (0x3c sau 0x3D) este utilizată în cod.
    • Verificați cablarea și conexiunile.
  2. Erori de bibliotecă:

    • Asigurați -vă că sunt instalate bibliotecile AdaFruit SSD1306 și GFX.
  3. Afișare pâlpâitoare:

    • Utilizare display.clearDisplay() numai atunci când este necesar pentru a minimiza pâlpâirea.
  4. Pinut incorect:

    • Verificați fișa tehnică a modulului pentru conexiunile corecte SDA și SCL PIN.

Aplicațiile afișajelor OLED

  1. Afișarea datelor senzorului (de exemplu, temperatură, umiditate)
  2. Interfețe de utilizator pentru sisteme încorporate
  3. Feedback vizual pentru dispozitivele IoT
  4. Afișări grafice pentru electronice portabile

Concluzie

Afișajul OLED de 0,96 "este un plus versatil și atrăgător vizual la proiectele Arduino. Urmărind acest ghid, puteți afișa text, grafică și date în timp real pe ecranul OLED. Experimentați cu diferite funcții și biblioteci pentru a crea afișaje dinamice și interactive Pentru proiectele tale!

Lasă un comentariu

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.