Scheda di sviluppo con ESP12F – Lettura DHT11

In un precedente articolo Scheda di sviluppo con ESP8266 (ESP-12F) è stata presentata la scheda, e sono state mostrate le sue caratteristiche.
Vediamo ora come leggere tramite il modulo ESP-12F e il sensore DHT11, i valori di temperatura e umidità rilevati e come mostrarli sul piccolo display OLED con interfaccia I2C.

ESP-12F dht11 temperatura umidità

Materiale occorrente.

Il nostro progetto prevede l’utilizzo dei seguenti componenti, tutti inclusi nella confezione del kit:

  • Scheda di sviluppo IOT con ESP8266
  • Un cavo di collegamento USB
  • Display OLED 0,96″ 128×64 pixel
  • Sensore DHT11 Temperatura e umidità

Dove trovare il kit

Il kit della scheda sviluppo ESP8266 con ESP-12F che abbiamo testato, è stata acquistata sul sito Banggood ad un costo di poco superiore ai 10 € più spese di spedizione.

Caratteristiche principali della scheda

  • Tensione di lavoro: 5 V (alimentato tramite USB)
  • Chip principale: modulo ESP8266 (ESP-12F)
  • Interfaccia di espansione: 4Pin per OLED, 3 pin per DHT11

1Led indicatore di stato
2Chip USB/Porta seriale
3Led presenza tensione
4Chip alimentazione da 5V a 3.3V
5Porta USB
6Porte I/O Alimentazione
7Modulo ESP 8266 (ESP-12F)
8Porte I/O Alimentazione
9Connettore interfaccia DHT11
10Connettore OLED
11Pulsante RESET
12Pulsante BOOT
Ourpcb

Scheda sviluppo ESP8266 ESP-12F

Pin di interfaccia

Sulla scheda sono presenti due pin strip che permettono di accedere ai vari pin del modulo ESP-12F e due pin strip per il collegamento del Display OLED e del sensore di temperatura.
Per quanto riguarda il connettore P4 utilizzato per collegare il sensore, il pin dati è collegato al pin GPIO5 dell’ESP-12.
Per il connettore P3 a cui sarà collegato il display, i due pin SCL e SDA sono collegati ai pin GPIO12 e GPIO2 dell’ESP-12.

Scheda sviluppo ESP8266 ESP-12F

Display OLED

Nel kit è presente un display OLED (Organic Light-Emitting Diode) quindi diodo organico a emissione di luce. A differenza dei display LCD che hanno bisogno di una fonte luminosa esterna per essere visibili, questi OLED sono in grado di emettere luce propria.
Il display da 0,96″ ha una risoluzione di 128 x 64 pixel e utilizza il driver SSD1306 e deve essere interfacciato tramite una connessione I2C.
Per altre informazioni sul display leggete l’articolo Display OLED 0.96″ 128×64 pixel – interfaccia I2C

ESP-12F dht11 temperatura umidità

Sensore DHT11 Temperatura e umidità

Il kit è completato con un sensore di temperatura e umidità tipo DHT11 con uscita dei dati in formato digitale di facile gestione.  Il sensore utilizza una tecnica digitale esclusiva che unita alla tecnologia di rilevamento dell’umidità, ne garantisce l’affidabilità e la stabilità. I suoi elementi sensibili sono connessi con un processore 8-bit single-chip.

Schema elettrico del modulo sensore

Il modulo fornito è simile al modulo KY-015 Temperature and humidity sensor module,  di cui ne esistono varie versioni. Occorre fare attenzione alla disposizione dei pin che non è standard ma  varia a seconda del produttore, in quello fornito, i pin di alimentazione sono ai due lati e quello di uscita dei dati è posto centralmente.

ESP-12F dht11 temperatura umidità

Schema di collegamento

In realtà non sarà necessario effettuare dei reali collegamenti tra il modulo ESP-12F e il sensore DHT11 (temperatura e umidità) in quanto questi risultano già effettuati tramite le piste presenti sul PCB.  Ci si limiterà ad inserire nei rispettivi connettori il sensore e il display.
Comunque sotto è riportato lo schema equivalente.

ESP-12F dht11 temperatura umidità

ESP-12F dht11 temperatura umidità

Programmazione della scheda

Per programmare la scheda si potrà fare uso di ARDUINO IDE (scaricabile gratis dal sito di Arduino), dopo aver scaricato il SW IDE di ARDUINO , occorre configurare come da istruzioni seguenti.
Cliccare su File->Impostazioni

e inserire nel campo URL il seguente indirizzo

Una volta riavviato il programma che procederà a caricare i file necessari, cliccare su Strumenti e scegliere la scheda NodeMCU 1.0 (ESP-12E module) come da foto seguente

In questo modo il programma imposterà automaticamente i parametri necessari.
Verificate che la porta selezionata sia quella a cui è collegata la scheda

Programma utilizzato

Segue il programma utilizzato; per il suo funzionamento sono necessarie alcune librerie.
Per l’installazione delle librerie vedete anche l’articolo Arduino – Tutorial, come installare una libreria

Libreria per gestione OLED

La libreria utilizzata è stata realizzata dalla Adafruit. Per utilizzarla si può cercarla tra le librerie installabili nell’IDE, basterà inserire nel campo “ssd1306“, e si dovrà installare quella realizzata da Adafruit + mcauser. Una volta caricata sarà mostrata la dicitura “INSTALLED“.

Vedere a tale proposito l’articolo Display OLED 0.96″ 128×64 pixel – interfaccia I2C

Libreria per gestione del sensore DHT11,

Per la gestione del sensore DHT11, è sufficiente andare in Sketch > #include libreria > Gestione libreria , quindi inserite nel campo di ricerca “DHT” e selezionate la libreria fornita da  Adafruit.  Adesso nella versione 1.4.2.

A questo punto si effettuerà il download nella memoria del modulo del programma riportato sotto, finito il caricamento, se non vi saranno errori dovrebbero apparire i dati letti come nella foto.

ESP-12F dht11 temperatura umidità