CONTENUTO ►
Il display OLED da 0,96 pollici di Arduino consente di creare progetti interessanti con uno schermo, mantenendo le dimensioni miniaturizzate di un dispositivo DIY. I moduli OLED basati su SSD1306 sono molto popolari grazie alla facilità di connessione al microcontrollore e all’elevata risoluzione dello schermo di 128×64 pixel. Consideriamo le caratteristiche degli OLED con I2C, la connessione ad Arduino e comprendiamo i comandi delle librerie: OLED_I2C.
Per questa attività sono necessari:
- Arduino Uno / Arduino Nano / Arduino Mega
- modulo display OLED i2c 128×64
- sensore DHT11
- cavi di collegamento
- libreria OLED_I2C.h e DHT.h
Display OLED i2c 128×64 SSD1306 datasheet, pinout
L’OLED (Organic Light-Emitting Diode) è un dispositivo semiconduttore che emette luce quando viene attraversato da una corrente elettrica. Il modulo OLED display 0,96″ è controllato dal chip SSD1306, che supporta cinque diversi protocolli di comunicazione. Esistono moduli non solo con il protocollo IIC, ma anche con il protocollo SPI, e persino display SSD1306 con la possibilità di scegliere (commutare) tra questi due protocolli.
Caratteristiche del OLED SSD1306 Arduino:
- Tensione di alimentazione: 3 – 5 V
- Colore dello schermo: monocromatico
- Risoluzione: 128×64 o 128×32
- Chip grafico: SSD1306
- Interfaccia: I2C o SPI
- Dimensioni modulo: 27 x 27 x 4 mm
Il vantaggio principale dell’OLED 128×64 iic è che il modulo funziona senza retroilluminazione, il che garantisce un basso consumo di corrente. Inoltre, l’alta risoluzione dell’OLED 128×64 px di Arduino consente di visualizzare più informazioni, a differenza dello schermo di testo 1602. Per il collegamento al microcontrollore Arduino Uno vengono utilizzati quattro connettori: due fili per l’alimentazione (5V e GND) e due fili per il bus IIC Arduino (SDA e SCL).
Come collegare display OLED 128×64 iic Arduino
OLED i2c 0,96 | Arduino Uno | Arduino Nano | Arduino Mega |
GND | GND | GND | GND |
VDD | 5V | 5V | 5V |
SDA | A4 | A4 | 20 |
SCL | A5 | A5 | 21 |
L’immagine qui sopra mostra lo schema di collegamento I2C OLED-microcontrollore. I connettori SDA e SCL del modulo sono collegati ai pin corrispondenti. Per Arduino Uno e Nano SDA è il pin A4, SCL è il pin A5, mentre per Arduino Mega i pin 20 e 21 rispettivamente. Il modulo è alimentato a 3,3 o 5 Volt. Successivamente esamineremo una libreria popolare per il controllo del display dalla scheda Arduino OLED SSD1306: la libreria OLED_I2C.h.
Programma Arduino per utilizzare display OLED i2c
#include "OLED_I2C.h" OLED myOLED(SDA, SCL, 8); extern uint8_t TinyFont[]; extern uint8_t SmallFont[]; extern uint8_t MediumNumbers[]; extern uint8_t BigNumbers[]; void setup(){ myOLED.begin(); } void loop(){ myOLED.setFont(TinyFont); myOLED.print("ABCDEFGHIJKLMNOPQRSTUVWXYZ", LEFT, 10); myOLED.update(); delay(1000); myOLED.setFont(SmallFont); myOLED.print("ABCDEFG", CENTER, 25); myOLED.update(); delay(1000); myOLED.clrScr(); myOLED.update(); myOLED.invert(true); delay(1000); myOLED.setFont(MediumNumbers); myOLED.print("123456789", RIGHT, 5); myOLED.update(); delay(1000); myOLED.setFont(BigNumbers); myOLED.print("123456789", 5, 30); myOLED.update(); delay(1000); myOLED.clrScr(); myOLED.update(); myOLED.invert(false); delay(1000); }
Spiegazione del codice per utilizzare display OLED i2c Arduino:
- la libreria utilizza molta memoria del microcontrollore per caricare i font, quindi lavorare con lo schermo OLED 0.96 sulla scheda Arduino Nano non funzionerà, poiché il codice non verrà caricato a causa della mancanza di memoria;
- gli altri comandi della libreria si trovano negli esempi.
Come collegare display OLED 128×64 e sensore DHT11
La libreria OLED_I2C.h può essere utilizzata per modificare il carattere (dimensione) del testo e la sua posizione sullo schermo (sinistra, destra o centro). Il programma seguente dimostra la possibilità di visualizzare sullo schermo la temperatura e l’umidità utilizzando il sensore di temperatura DHT11. Collegare lo schermo OLED e il sensore DHT11 al microcontrollore come mostrato nello schema precedente e caricare il programma sulla scheda Arduino Uno.
Programma Arduino per schermo OLED i2c e sensore DHT11
#include "OLED_I2C.h" OLED myOLED(SDA, SCL, 8); #include "DHT.h" DHT dht(2, DHT11); extern uint8_t MediumNumbers[]; void setup(){ myOLED.begin(); dht.begin(); } void loop(){ float h = dht.readHumidity(); float t = dht.readTemperature(); myOLED.setFont(MediumNumbers); myOLED.print(String(t), LEFT, 5); myOLED.update(); myOLED.setFont(MediumNumbers); myOLED.print(String(h), LEFT, 25); myOLED.update(); delay(1000); }
Spiegazione del codice per schermo OLED 128×64 i2c e sensore DHT11:
- le variabili vengono mappate nell’OLED 0.96 utilizzando un oggetto String.
Conclusioni. Abbiamo cercato di esaminare lo schema di collegamento dell’OLED 0.96 ad Arduino e di smontare i comandi della libreria per lo schermo. È piuttosto difficile descrivere tutte le possibilità di lavoro con l’OLED in un’unica rassegna. Potete studiare queste informazioni sulla base di esempi tratti dall’archivio con le librerie per conto vostro. Se avete ancora domande sull’argomento, scrivetele nei commenti a questo post.
Lascia un commento