Il display OLED da 0,96 "è uno schermo compatto ed efficiente dal punto di vista energetico che è perfetto per la visualizzazione di dati di testo, grafica e sensore nei progetti Arduino. Questo tutorial ti guiderà attraverso la configurazione e l'utilizzo di un display OLED da 0,96" con un Arduino.
Cosa avrai bisogno
- Arduino Board (ad esempio, uno, mega, nano)
- Modulo di visualizzazione OLED da 0,96 " (con interfaccia I2C o SPI)
- Breadboard e fili jumper
- Un computer con l'IDE Arduino installato
- Biblioteche: Adafruit SSD1306 e Adafruit GFX Library
Passaggio 1: comprensione del display OLED
Il display OLED da 0,96 "utilizza in genere il driver SSD1306 e supporta la comunicazione I2C o SPI. Più comunemente, opera tramite il protocollo I2C, richiedendo solo due pin di dati (SDA e SCL).
Pinout i2c
Pin oled | Funzione | Arduino Uno Pin |
---|---|---|
VCC | Alimentazione (3.3V o 5V) | 5v |
GND | Terra | GND |
SDA | Riga di dati | A4 |
SCL | Linea dell'orologio | A5 |
Nota: Controlla la scheda tecnica del modulo OLED per confermare il pinout.
Passaggio 2: installazione delle librerie richieste
Per lavorare con il display OLED, sono necessarie le seguenti librerie:
- Biblioteca Adafruit SSD1306
- Biblioteca Adafruit GFX
Passaggi per installare librerie
- Apri l'IDE Arduino.
- Vai a Schizzo > Includi la libreria > Gestisci le biblioteche.
- Cerca "Adafruit SSD1306" e fai clic su Installare.
- Cerca "Adafruit GFX Library" e fai clic su Installare.
Passaggio 3: cablaggio del display OLED
Collega l'OLED all'Arduino come segue:
Pin oled | Arduino Pin |
---|---|
VCC | 5v |
GND | GND |
SDA | A4 |
SCL | A5 |
Passaggio 4: caricamento del codice
Ecco uno schizzo di esempio per visualizzare testo e grafica sullo schermo OLED:
Codice di esempio: configurazione di base 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
}
Passaggio 5: esplorare ulteriori funzioni
La libreria GFX Adafruit fornisce una vasta gamma di funzioni per grafica e testo. Ecco alcuni esempi:
1. Visualizzazione del testo
display.setTextSize(2); // Larger text size
display.setTextColor(SSD1306_WHITE);
display.setCursor(0, 0);
display.println("Arduino");
display.display();
2. Forme di disegno
-
Rettangolo:
display.drawRect(x, y, width, height, color);
-
Cerchio:
display.drawCircle(x, y, radius, color);
-
Linea:
display.drawLine(x1, y1, x2, y2, color);
3. INVERTIVI COLORI
display.invertDisplay(true); // Invert colors
delay(1000);
display.invertDisplay(false); // Revert colors
Problemi comuni e risoluzione dei problemi
-
OLED non visualizzato:
- Assicurarsi che l'indirizzo I2C corretto (0x3C o 0x3D) sia utilizzato nel codice.
- Controllare il cablaggio e le connessioni.
-
Errori della libreria:
- Assicurarsi che siano installate le librerie Adafruit SSD1306 e GFX.
-
Display tremolante:
- Utilizzo
display.clearDisplay()
Solo quando necessario per ridurre al minimo lo sfarfallio.
- Utilizzo
-
Pinout errata:
- Verificare il foglio dati del modulo per connessioni SDA e PIN SCL corrette.
Applicazioni di display OLED
- Visualizzazione dei dati del sensore (ad es. Temperatura, Umidità)
- Interfacce utente per sistemi incorporati
- Feedback visivo per dispositivi IoT
- Display grafici per elettronica portatile
Conclusione
Il display OLED 0.96 "è un'aggiunta versatile e visivamente accattivante ai progetti Arduino. Seguendo questa guida, è possibile visualizzare testo, grafica e dati in tempo reale sulla schermata OLED. Sperimenta diverse funzioni e librerie per creare display dinamici e interattivi Per i tuoi progetti!