Display OLED 128×32 I2C Adafruit

Questo display monocromo 128×32 I2C OLED prodotto dalla Adafruit (codice prodotto 931) presenta diagonale di 1″ , ma è molto leggibile grazie all’alto contrasto di un display OLED.
Il modulo è simile a quello presente nell’articolo Display OLED 0.91″ 128×32 pixel – SSD1306

OLED 128x32 I2C Adafruit

Descrizione

Il display presenta 128×32 singoli pixel bianchi OLED, ciascuno è acceso o spento dal chip controller. In questo caso non è richiesta alcuna retroilluminazione e questo riduce l’assorbimento di potenza necessaria.
L’integrato pilota è il modello SSD1306 (datasheet) che comunica tramite il protocollo I2C. Sono necessari solo 3 pin per comunicare con il chip sul display OLED, due dei quali sono il pin I2C dati / clock. Il display OLED e il driver richiedono un’alimentazione di 3,3 V e 3,3 V sono i livelli logici per la comunicazione.

Caratteristiche

Dimensioni:PCB : 20mm x 35mm ( 0.8 " x 1.4" )
Area di visualizzazione :7 x 25 mm
Spessore : 4mm
Diagonale del monitor : 0.91 "
Numero di pixel :128 × 32
Profondità colore :Monocromatico (Bianco)
Modulo di costruzione :COG
Modulo Dimensioni ( mm ) : 46.30 × 11.50 × 1.45
Dimensioni del pannello ( mm ) : 30.00 × 11.50 × 1.45
Area attiva ( mm ) : 22,384 × 5,584
Pixel Pitch ( mm ) : 0.175 × 0.175
Formato Pixel ( mm ) : 0,159 × 0,159
Duty : 1/32
Luminosità ( cd/m2 ) : 150 ( Typ ) @ 7.25V
Interfaccia: I2C
Indirizzo I2C: 7 bit 0x3C - 0x3D , selezionabile con ponticelli

Modulo compatibile

Un modulo compatibile all’OLED 128×32 I2C Adafruit  è quello analizzato in questo articolo Display OLED 0.91″ 128×32 pixel – SSD1306

OLED 0.91 128x32 pixel

Circuito elettrico

Per rendere più semplice il collegamento del display OLED 128×32 I2C Adafruit, è stato aggiunto un regolatore di tensione a 3.3V e un traslatore di livello, questo lo rende compatibile con qualsiasi microcontrollore a 5V come Arduino, resta comunque possibile alimentarlo a 3.3V utilizzando il pin disponibile sul connettore.
I requisiti di alimentazione dipendono un po’ da quanto del display è acceso ma in media il display assorbe circa 20mA dalla rete di alimentazione 3.3V

OLED 128x32 I2C Adafruit

La sezione del display/processore è basata sull’integrato SSD1306 (Datasheet) che è un single-chip CMOS driver per display tipo OLED / PLED ( Organic Light Emitting Diode, Polymer light-emitting diodes).

OLED 128x32 I2C Adafruit

Questa sezione del circuito permette di traslare i livelli tra i 3.3 e i 5V. Sono utilizzati dei transistor FET tipo BSS138 (Datasheet)

OLED 128x32 I2C Adafruit

La sezione alimentatrice formata dal regolatore tipo RT9193 (Datasheet) di tipo LDO Ultra-Low Noise, Ultra-Fast che fornisce in uscita 3,3V con 300mA di corrente

OLED 128x32 I2C Adafruit

Connettore d’ingresso con i pin di alimentazione e d’interfaccia

OLED 128x32 I2C Adafruit

OLED 128x32 I2C Adafruit

Collegamento del display ad Arduino

Il collegamento è molto semplice, basterà seguire quanto visibile nella foto sottostante

OLED 128x32 I2C Adafruit

OLED 128x32 I2C Adafruit

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 potete leggere Arduino – Tutorial, come installare una libreria

OLED 0.91 128x32 pixel libreria

Semplice programma di test

Tra gli esempi della libreria potrete trovare un programma test che mostrerà molti effetti visivi. L’immagine seguente è un breve programma che mostra dei testi, l’effetto è visibile nel breve video

Creazione bitmap

È possibile creare un’immagine bitmap  da visualizzare utilizzando il programma LCD Assistant.
LCD Assistant è uno strumento gratuito per la conversione di bitmap monocromatici per matrici di dati di facile utilizzo con programmi per sistemi embedded con microcontrollori e display grafici LCD monocromatici.

In primo luogo si dovrà creare la vostra immagine utilizzando un qualsiasi tipo di software di grafica come Photoshop o Paint, il formato dovrà essere di 128×32, e salvare come Monocrome Bitmap (bmp).

Per convertire un’immagine da un file bitmap in array di dati selezionare dal comando di menu File “Load image“.

Nel campo Size deve apparire le dimensioni del display, nel nostro caso Width 128 e Height 32, nel campo Pixel/byte lasciare indicato 8.
Nel capo Table name indicare il nome che sarà poi da indicare nel programma.

A questo punto si potrà salvare il file selezionando il comando dal menu “File ” “Salva output” . L’array di dati sarà salvato con il nome del file specificato


Quindi, basterà copiare il file nel progetto e utilizzare il nome dell’array come parametro per la funzione che visualizza bitmap sul display LCD.

OLED 128x32 I2C Adafruit

Esempio di utilizzo – Articoli in cui si parla del display

Tra i vari articoli che ho scritto per il blog Elettronica Open Source, due hanno avuto tra i protagonisti il display  OLED 128×32 I2C Adafruit, sotto una breve riassunto del contenuto

L’Evaluation Kit XMC 2GO di Infineon come scheda sensori per i robot ROBI

Molti lettori sapranno che dal 16 gennaio 2014 è in vendita, presso le edicole, l’opera ROBI edita dalla DeAgostini, la cui vendita on-line, invece, era già iniziata l’11 novembre 2013. Venduta a fascicoli, permette la costruzione di un piccolo robot umanoide alto 34 cm, i movimenti del corpo sono dati da 20 servomotori digitali, mentre una scheda di riconoscimento vocale, gli permette di comprendere dei comandi e rispondere a tono in lingua italiana.
Il robot non dispone, però, di sensori quali: temperatura, luminosità, controllo del consumo della batteria, una possibilità era di realizzare un piccolo modulo da inserire all’interno del corpo del robot.
L’occasione è arrivata con il contest dal titolo “50 schede in regalo basate su ARM Cortex: Infineon premia le vostre idee” che offre l’opportunità di ricevere scheda XMC 2GO un Evaluation Kit per microcontrollore basata su un XMC1100.

INA219: il sensore di corrente/tensione per monitorare un motore al lavoro

Il sensore tipo INA219 prodotto dalla Texas Instruments, permette di misurare la tensione e la corrente fornite da una fonte di energia, nel nostro caso una batteria, comunicando i dati mediante un’interfaccia I2C.
L’integrato controlla sia la caduta shunt sia la tensione di alimentazione, con tempi di conversione e filtraggio programmabili. I dati vengono mostrati su un piccolo display di tipo OLED, anch’esso connesso tramite l’interfaccia I2C.
Nell’articolo, ne vedremo l’utilizzo per controllare il funzionamento di un piccolo motore elettrico. Per la sua gestione, si è utilizzato un modulo Arduino, rendendo il dispositivo facile da programmare usufruendo delle librerie già disponibili. Vedere anche l’articolo Come misurare corrente/tensione con il sensore INA219