Programmi
con la libreria OLED.h |
A
causa dei pochi esempi e informazioni trovate per la
libreria Oled.h, per il
momento presentiamo un solo progetto per questa libreria.
Eventualmente in futuro aggiungeremo qualche altro esempio. |
Rilevazione locale di
temperatura e umidità con DHT11/DHT21/DHT22 |
Questo
programma utilizzaun ESP8266 OLED e un sensore di
temperatura DHT11 oppute DHT21, o ancora DHT22. Lo scopo è
quello di visualizzare l'umidità e temperatura sul display
Oled integrato. |
Schema
elettrico |
![]() |
Lo
schema elettrico del progetto. DHT11 connette il suo piedino dati (marcato "S") sul GPIO2 di ESP8266 Oled |
![]() Il rendering della basetta in scala 1:1 Si nota sulla sinistra DHT11, connesso allo zoccolo GPIO2 ed ESP8266 OLED. |
Il
programma |
Le
librerie necessarie: Nota: per quanto possibile, scaricare sempre le librerie più aggiornate. Solo in caso non le trovaste, utilizzare quelle proposte nel sito. Clicca qui per imformazioni sull'installazione delle librerie |
Wire.h OLED.h DHT.h Adafruit_Sensor.h |
Se
leggi sul display dati di temperaura e umidita sballati,
significa che non hai usato il sensore giusto. Togli le due
barre iniziali al sensore corretto. Nota: ho acquistato alcuni sensori come "DHT11", ma in effetti erano "DTH22. Selezionato il sensore corretto, tutto ha funzionato perfettamente. |
![]() Evidenziato il sensore usato |
ESP8266
usa porte diverse da ESP8266 standard per il protocollo I2C.
In questo caso, utilizza GPIO12 per SDA (dati) e GPIO14 per
SCL (clock). E' necessario dichiararlo nel programma. |
![]() Dichiarazione delle porte I2C |
Clicca
qui per visualizzare il programma Clicca qui per scaricare il programma in formato ".zip" |
|
Comandi
per la libreria Oled.h |
Ho
trovato pochissimo materiale per questa libreria.
Praticamente tutto quello che ho appreso, deriva dallo
studio dell'unico sketch di esempio per questa libreria,
ovvero "hello world". Questi sono i colmandi presenti nel file di esempio: |
OLED display(14, 12); | Dichiarazione
del display (SDL, SDA)
|
display.begin(); | inizializza
il
display
|
display.clear() |
pulisce
lo
schermo
|
display.on() |
avvia
(accende) lo schermo |
display.off(); |
arresta
(spegne) lo schermo |
display.print(t, r, c);
|
stampa
sullo schermo:
t: un "testo" (tra apici) o una variabile r: riga. Da: nessuna dichiarazione (riga 0) a 6 (riga 7) c: colonna da 0 a 15 |
Nota:
apparentemente questa libreria sembra fornisca solo
comandi di base, in quanto (se non esistono altri comandi
non documentati nell'esempio): - non c'è la possibilità di cambiare il tipo e le dimensioni dei caratteri; - la posizione delle righe può essere indicata solo con un numero intero, da nulla (che corrisponde a riga 0) a 6, e non, come per le altre librerie, indicando in modo più flessibile il valore relativo all'asse y in punti (dot). |