L’OLED 0.96 Shield prodotto da Wemos è un piccolo display OLED da 128×64 pixel con una dimensione di 0,49 pollici; si connette tramite I2C e viene alimentato con una tensione di 3,3Vcc.
Il modulo Wemos D1 Mini disponeva già di un piccolo display OLED da 0.66″ con una risoluzione di 64×48 pixel e un display TFT 2.4″ a colori con funzione Touch , risoluzione di 340×240.
Indice
Descrizione del display
L’OLED 0.96 Shield V1.0.0 for LOLIN WEMOS D1 mini (vedi pagina del produttore) dispone di un piccolo display OLED da 128×64 pixel con una dimensione di 0,49 pollici, si connette tramite I2C e viene alimentato con una tensione di 3,3Vcc.
La tecnologia di visualizzazione OLED permette di ottenere un elevato contrasto ed una elevata luminosità con un consumo energetico estremamente ridotto.
Il modulo è stato progettato per essere utilizzato con le schede WeMos D1 mini, Wemos D1 mini Pro e Wemos D32.
Caratteristiche del display
Dimensione schermo | : 128x64 pixel 0.49" |
Tensione di funzionamento | : 3,3Vcc |
Driver IC: | : SSD1306 |
Interfaccia | : I2C |
indirizzi I2C | : 0x3C o 0x3D |
Schema elettrico
Il circuito elettrico (scarica pdf) del display è molto semplice, troviamo 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).
Sul PCB sono presenti alcune piazzole JP1, che permettono se cortocircuitate, di variare l’indirizzo I2C.
Nella parte posteriore del PCB sono visibili le due piazzole del JumerJP1. Se si deposita una goccia di stagno tra le due si cambia l’indirizzo del display da 0x3D a 0x3C.
Dove trovare L’OLED 0.96 Shield
L’OLED 0.96 Shield, può essere acquistato presso il sito Homotix, codice WEOLED96
Il suo costo è di 4,94€ al momento della pubblicazione di questo articolo. Se al momento dell’ordine inserirete il codice sconto “ADRIROBOT” avrete diritto ad uno sconto.
Libreria di gestione
Per utilizzare il display OLED è necessario installare l’apposita libreria, in questo si è utilizzata quella proposta dal costruttore. Questa può essere cercata tra le librerie installabili nell’IDE, basterà inserire nel campo “esp8266-oled-ssd1306“; in questo caso si è installata quella nella versione 4.1.0, una volta caricata sarà mostrata la dicitura “INSTALLED“.
Per maggiori informazioni sulla libreria vedere il link.
Per maggiori informazioni su come caricare un libreria vedere l’articolo Arduino – Tutorial, come installare una libreria
Test base del modulo OLED
Per il test base sono utilizzati i seguenti componenti
Modulo Wemos D1 mini | OLED 0.96 Shield |
TFT- &I2C Connector Shield |
Cavo 10 cm per I2C |
Immagine del risultato del test di base
Sketch minimo di test
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
#include "SSD1306Wire.h" SSD1306Wire display(0x3D, SDA, SCL); void setup() { display.init(); display.flipScreenVertically(); display.clear(); display.setTextAlignment(TEXT_ALIGN_LEFT); display.setFont(ArialMT_Plain_10); display.drawString(0, 0, "www.adrirobot.it"); display.setFont(ArialMT_Plain_16); display.drawString(0, 10, "www.adrirobot.it"); display.setFont(ArialMT_Plain_24); display.drawString(0, 26, "adrirobot"); display.display(); } void loop() { } |
Termometro con display OLED
Possiamo utilizzare l’OLED 0.96 Shield per realizzare un termometro/igrometro. Per fare questo occorrono
Modulo Wemos D1 mini | DHT11 Shield |
TFT- &I2C Connector Shield |
Cavo 10 cm per I2C
|
OLED 0.96 Shield |
Per maggiori informazioni sul DHT11 Shield e relative librerie vedere l’articolo DHT Shield – Wemos D1 mini. Il collegamento dei tre moduli avviene semplicemente sovrapponendoli. Per ultimo si collega il display OLED 0.96 Shield tramite il cavo 10 cm per I2C al modulo TFT- &I2C Connector Shield
Immagine del risultato del test come termoigrometro
Sketch per il termoigrometro
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 |
// Impostazione sensore DHT11 #include "DHT.h" #define DHTPIN D4 #define DHTTYPE DHT11 DHT dht(DHTPIN, DHTTYPE); // Impostazione Display #include "SSD1306Wire.h" SSD1306Wire display(0x3D, SDA, SCL); void setup() { Serial.begin(9600); dht.begin(); display.init(); display.flipScreenVertically(); display.clear(); } void loop() { int t = dht.readTemperature(); int h = dht.readHumidity(); display.setFont(ArialMT_Plain_16); display.setTextAlignment(TEXT_ALIGN_CENTER); display.drawString(64, 0, "Lettura DHT11"); display.drawString(64, 18, "Temp. " + String (t) + " °C"); display.drawString(64, 33, "Umid. " + String (h) + " %"); display.setFont(ArialMT_Plain_10); display.drawString(64, 52, "WWW.ADRIROBOT.IT"); display.display(); delay (1000); display.clear(); display.display(); } |
Wemos D1 mini – Raccolta Shield disponibili
Per la scheda Wemos D1 mini, prodotta dalla WEMOS/LOLIN sono disponibili vari shield che appartengono a diverse categorie: Display & Interactive Shield, Environment, Power, Control, Others.
Per l’elenco vedere articolo Wemos D1 mini – Raccolta Shield disponibili