Questo display di tipo OLED da 0.91 ” ha una risoluzione di 128×32 pixel, sfrutta il driver SSD1306 e si interfaccia tramite la connessioni I2C.
Il modulo è disponibile con la colorazione dei contenuti di colore bianco oppure nella versione blu.
Indice
Descrizione
La tipologia OLED (Organic Light Emitting Diode) indica che non solo il display è molto luminoso e chiaro con un elevato rapporto di contrasto, ma ha un consumo energetico molto inferiore rispetto ad altri display e tecnologie come l’LCD retroilluminato; è anche molto visibile sia in condizioni di oscurità totale che di luce intensa.
Per interfacciare il modulo, il display utilizza un’interfaccia seriale I2C che richiede solo due pin di dati. Il circuito di reset è a bordo e significa che non è necessario un pin di reset aggiuntivo.
Schema elettrico
Il circuito del display OLED da 0.96 ” da 128×64 pixel, è molto semplice in quanto il tutto è gestito dal driver tipo SSD1306.
L’altro componente presente è un regolatore CMOS a basso dropout tipo 662K (Q1) che fornisce l’alimentazione a 3.3V, quando il modulo viene alimentato dal pin VCC magari con la tensione 5V fornita da Arduino. Il regolatore può fornire una corrente di uscita di 250 mA e consentire una tensione di ingresso fino a 6,5 V.
Caratteristiche
- Dimensione: 0.91 pollici
- Risoluzione:128×32
- Colore: Bianco, Blu, Giallo
- Chip di controllo: SSD1306
- Dimensioni del display: 22.4 x 5.6 (mm)
- Formato del pannello: 12×38(mm)
- Interfaccia I2C (indirizzo 0x3C)
- Dimensione dei Pixel: 0.175×0.175(mm)
- Pixel pitch:0.159×0.159(mm)
- Numero di pin: 4pin
- Temperatura di funzionamento:-20-70 °
- Tensione di funzionamento: 3,3 V-5 V DC
Pin Interfaccia
Il display dispone di 4 pin di collegamento, ecco la loro funzione:
- GND: terra
- VCC: 3,3 V ~ 5 V
- SCL: I2C Serial Clock (UNO: A5; MEGA: 21) – High level 2.2V-5.5V)
- SDA: I2C Serial Data (UNO: A4; MEGA: 20) – High level 2,2 V-5,5 V)
Dove acquistare l’OLED
l’OLED da 0,91”, 128×32 pixel può essere acquistato presso il sito FUTURA ELETTRONICA, il codice prodotto è 3085-I2COLED091
Il suo costo, al momento della pubblicazione di questo articolo è di 5,90 €.
Libreria di gestione
Per utilizzare il display OLED è necessario installare l’apposita libreria. Può essere cercata tra le librerie installabili nell’IDE, basterà inserire nel campo di ricerca “Adafruit_SSD1306“.
Sarà anche mostrata una finestra che segnala che la libreria ha una dipendenza con la libreria grafica “Adafruit GFX Library“. Procedete premendo “Install all”.
Per altre informazioni su come installare le librerie vedete l’articolo Arduino – Tutorial, come installare una libreria
Test del modulo
Per il test del display si è realizzato il semplice circuito sotto riportato utilizzando come scheda di controllo una scheda Arduino UNO, il display è stato montato su una piccola breadboard.
Scheda Arduino UNO |
Display OLED 0.91″ 128×32 – SSD1306 |
Bread board |
Cavi colorati M/M |
Schema dei collegamenti
Lo schema dei collegamenti è molto semplice limitandosi ai due cavi di alimentazione (+5V e GND) e ai due della linea I2C, SCL/SCK alla porta A5 e SDA alla porta A4.
Verifica dell’indirizzo I2C
Per prima cosa andiamo a scoprire e verificare l’indirizzo i2c del display tramite lo Sketch i2c_scan che troveremo nella sezione “File” –> “Esempi” –> “Wire”–> “i2c_scaner” dell’IDE di Arduino.
Carichiamolo sulla nostra scheda ed apriamo il monitor seriale con il tasto
Il risultato sarà simile al seguente:
Se non leggiamo nulla potremmo aver invertito i cavi del collegamento I2C , provate a scambiarli.
Se tutto è corretto, leggeremo il suo indirizzo che è 0x3C, comune ad altri display basati sul driver SSD1306, come quello citato nell’articolo Display bicolore OLED 0.96″ 128×64 – SSD1306
L’indirizzo non è possibile modificarlo nel caso si utilizzino più sensori o magari si abbiano altre periferiche I2C con lo stesso indirizzo.
Sketch per il test del modulo
Sotto è riportato lo Sketch utilizzato per testare il funzionamento del display
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
// Impostazione OLED #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define OLED_ADDR 0x3C #define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 32 Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire); void setup() { // initializza e pulisce display display.begin(SSD1306_SWITCHCAPVCC, OLED_ADDR); display.clearDisplay(); } void loop() { display.setTextSize(1); display.setTextColor(WHITE); // Draw white text display.clearDisplay(); display.setCursor(18, 0); display.println("WWW.ADRIROBOT.IT"); display.print(" OLED SSD1306 128x32"); display.setTextSize(2); display.setCursor(0, 18); display.print("24/03/2022"); display.display(); delay (3000); display.clearDisplay(); display.setTextSize(1); display.setTextColor(WHITE); display.setCursor(0, 0); display.print("1 - www.adrirobot.it "); display.print("2 - Test OLED 0.91' "); display.print("3 - 128x32 pixel "); display.print("4 - I2C address 0x3C"); display.display(); delay(3000); } |
Versione Adafruit del display
Del display OLED 0.91 128×32 pixel , ne esiste anche un modello prodotto dalla Adafruit Product ID: 931, per le sue caratteristiche vedere l’articolo Display monocromo OLED 128×32 interfaccia I2C
Questo è stato utilizzato nel progetto in cui un modulo Pro Micro viene utilizzato per monitorare il funzionamento di un piccolo motore elettrico DC. La tensione, la corrente e relativo assorbimento in potenza sono monitorate tramite un sensore INA219 e i valori sono mostrati su un piccolo display OLED 128×32 pixel monocromatico. Vedere articolo