Piccolissimo display OLED con una risoluzione di 64×32 pixel, il driver è un SSD1306 (utilizzato anche per molti altri display) con una diagonale di 0,49″. Il display comunica con la scheda controllo tramite il protocollo I2C.
Indice
Caratteristiche principali del display
Il display presenta 64×32 singoli pixel bianchi OLED, ciascuno è acceso o spento dal chip controller, in questo caso non è richiesta alcuna retroilluminazione e questo riduce l’assorbimento della potenza necessaria.
L’integrato pilota è il modello SSD1306 (datasheet) che è un single-chip CMOS driver per display tipo OLED / PLED ( Organic Light Emitting Diode, Polymer light-emitting diodes).
L’integrato comunica tramite il protocollo I2C, sono necessari solo 2 pin, linea dati / clock.
Il display OLED deve essere alimentato con una tensione VCC di +5V, il regolatore U2 tipo LM6206N3 (datasheet) si occuperà di ridurla al valore di 3,3V massima tensione di funzionamento dell’integrato U1.
Per l’utilizzo è necessario un microcontrollore con più di 512 byte di RAM in quanto il display deve essere bufferizzato.
Misure PCB : | 15 x 16 mm |
Area di visualizzazione : | ~ 6 x 12mm |
Spessore : | 4 mm |
Alimentazione | 3.0-5.5V |
Diagonale del monitor : | 0.49 " |
Numero di pixel : | 64 × 32 |
Profondità colore : | Monocromatico (Bianco-Blu) |
Modulo di costruzione : | COG |
Interfaccia: | I2C (High Level 2.2V-5.5V) |
Indirizzo I2C: | 7 bit 0x3 |
Dove trovare il display
Il display OLED 0,49″64×32 SSD1306 I2C, può essere acquistato presso il sito AliExpress
Librerie per Arduino
È disponibile per Arduino l’apposita libreria, questa permette di stampare testo, bitmap , pixel , rettangoli, cerchi e linee . Utilizza 512 byte di RAM in quanto ha bisogno di bufferizzare l’intero schermo ma è molto veloce! Il codice è semplice da adattarsi a qualsiasi altro microcontrollore .
La libreria è derivata dalla Adafruit SSD1306, in questo caso opportunamente modificata per adattarsi alla ridotta risoluzione.
Occorre quindi scaricare la libreria di supporto presente su GitHub, oppure fare clic su questo link per scaricare il file zip.
Per il giusto funzionamento del display, occorrerà modificare o verificare che all’interno del file Adafruit_SSD1306.h della libreria, la linea che definisce la dimensione del display sia senza commento. (#define SSD1306_64_32)
1 2 3 4 | // #define SSD1306_128_64 // #define SSD1306_128_32 // #define SSD1306_96_16 #define SSD1306_64_32 |
Per gestire la parte grafica del modulo occorre inoltre scaricare le librerie grafiche Adafruit-GFX-Library presenti su GitHub, oppure fare clic su questo link per scaricare il file zip.
Test base di utilizzo
Per testare il display OLED 64×32 SSD1306 I2C, utilizzeremo una scheda Arduino Nano, collegata tramite alcuni cavi colorati che lo collegheranno al display.
I collegamenti riguardano l’alimentazione e le 2 linee I2C (abbreviazione di Inter Integrated Circuit), SDA (Serial DAta) per i dati e SCL (Serial CLock) per il clock.
Codice utilizzato
Sotto il codice utilizzato per il test.
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 39 | #include <SPI.h> #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define OLED_RESET 0 // GPIO0 Adafruit_SSD1306 display(OLED_RESET); void setup() { // Impostazione modulo display con indirizzo I2C addr 0x3C display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // Cancellazione schermo e buffer } void loop() { display.clearDisplay(); // Messaggio iniziale display.setTextSize(1); display.setTextColor(WHITE); display.setCursor(0, 0); display.println(" ADRIROBOT"); display.setTextColor(BLACK, WHITE); // Inverte il colore del testo display.println(" TEST "); display.println(" DISPLAY "); display.println("1234567891"); display.display(); delay(5000); display.clearDisplay(); display.setTextSize(2); display.setTextColor(WHITE); display.setCursor(0, 0); display.print("Value"); display.setCursor(0, 18); display.println("12345"); display.display(); delay(5000); } |
Video illustrativo
Esempio di utilizzo
In questo caso il display è stato utilizzato per realizzare un Meter shield per Wemos D1 mini, lo shield una volta collegato alla scheda Wemos D1 Mini o Wemos Pro permette di visualizzare sul display OLED la misura delle distanza in cm che separa il sensore dall’oggetto posto frontalmente al sensore.
Altri display basati sul driver SSD1306
Display OLED da 0.91 ” risoluzione di 128×32 pixel, il modulo è disponibile con la colorazione dei contenuti di colore bianco oppure nella versione blu.
OLED da 0.96 ” risoluzione di 128×64 pixel, Il display ha la particolarità di avere una parte superiore di colore giallo e quella inferiore di colore blu.
OLED 0.96 Shield prodotto da Wemos da 128×64 pixel con una dimensione di 0,49 pollici; si connette tramite I2C e viene alimentato con una tensione di 3,3Vcc.
Altri moduli display
Panoramica di altre tipologie di display utilizzati nei vari progetti presenti sul sito. Dai più semplici LCD 16×2, passando per i TFT con touch screen e quelli tipo OLED.