Meter shield per Wemos D1 – Progetto completo

Vediamo come realizzare un Meter shield per Wemos D1 mini, lo shield una volta collegato alla scheda Wemos D1 Mini o Wemos Pro permette di visualizzare su un piccolo display OLED la misura delle distanza in cm (sensore sonar tipo HC-SR04) che separa il sensore dall’oggetto posto frontalmente al sensore.

Wemos D1 - mini meter shield

Il PCB è stato progettato con il programma online EasyEDA, mentre stata realizzata tramite il servizio offerto dal sito JLCPCB.

Sito online per creazioni schemi e PCB  Sito produzione PCB

Descrizione

Il sensore utilizzato è di tipo sonar ad ultrasuoni tipo HC-SR04 il quale non misura direttamente la distanza, ma fornisce il tempo impiegato da segnale sonoro per raggiungere un ostacolo e ritornare di nuovo al sensore. In base al tempo viene calcolata la distanza.
Il circuito è il PCB è stato realizzato con il programma online EasyEDA

Ecco i componenti necessari

  • Scheda Wemos D1 mini – utilizzata per gestire il circuito
  • Sensore ad ultrasuoni HC-SR04
  • Display OLED
  • 2 resistenze 2,2kΩ e 4,7kΩ per partitore di tensione
  • pinstrip


Fasi della realizzazione

  • Progettazione dello shield;
  • Montaggio dello shield
  • Test dello shield montato.

Filmato illustrativo

Modulo WeMos D1 mini

Il Modulo WeMos D1 mini è basato sul microcontrollore Wi-Fi ESP8266 ESP-12F che può essere programmato utilizzando l’IDE di Arduino oppure NodeMCU.
La semplicità della programmazione che può essere effettuata anche in modalità wireless e l’ampia disponibilità di shield aggiuntivi permettono di sviluppare il proprio progetto di “Internet delle cose” in tempi estremamente rapidi.
Il modulo WeMos D1 mini  è dotato di una interfaccia USB realizzata tramite il convertitore seriale-USB CH340.
Dal connettore USB viene anche prelevata l’alimentazione a 5V, un regolatore interno (tipo RT9013) si occupa di generare l’alimentazione a 3,3V per il modulo ESP-12F.
Per evitare confusione tutti i pin di I/O sono chiaramente etichettati.
Nota: Tutti gli I/O supportano una tensione massima di 3,3V

Specifiche tecniche

  • 11 I/O digitali, tutti i pin sono provvisti di interrupt e supportano PWM, I2C , One-Wire (D1-SCL-D2 -SDA)

  • 1 Pin analogico (tensione massima di ingresso 3.2V)

  • Connessione Micro USB

  • Compatibile con Arduino e con nodemcu

  • Dimensioni (mm): 28x24x18

Interfaccia I2C

Il collegamento tramite interfaccia I2C può essere utilizzato per connettere fino a 127 nodi tramite un bus che richiede solo due cavi dati, noti come SDA e SCL.

  • SDA => D2.

  • SCL => D1

Interfaccia SPI

Il collegamento SPI è molto più semplice di I2C. Master e slave sono collegati da tre fili di dati, solitamente chiamati MISO, (Master in, Slave out), MOSI (Master out, Slave in) e M-CLK.

  • M-CLK => D5

  • MISO => D6

  • MOSI => D7

(SPI Bus SS (CS) è D8.)

Pinout Completo

PinFunctionESP-8266 Pin
TXTXDTXD
RXRXDRXD
A0Analog input-max 3.3V inputA0
D0IOGPIO16
D1IO-SCLGPIO5
D2IO-SDAGPIO4
D3IO-10k Pull-upGPIO0
D4IO-10k Pull-up-BUILTIN_LEDGPIO2
D5IO-SCKGPIO14
D6IO-MISOGPIO12
D7IO-MOSIGPIO13
D8IO-10k Pull-down-SSGPIO15
GGroundGND
5V5V5V
3V33.3V3.3V
RSTResetRST

Foto del modulo

Modulo WeMos D1 mini – Contenuto della bustina antistatica

"<yoastmark

Sensore ad ultrasuoni HC-SR04

Il sensore ad ultrasuoni HC-SR04 ha un campo di misura che si estende da due centimetri a quatto metri e la precisione arriva a 1 cm.Il modulo comprende il trasmettitore a ultrasuoni, il ricevitore e il circuito di controllo.
Questi sensori ad ultrasuoni non misurano direttamente la distanza, ma forniscono il tempo impiegato da un segnale sonoro per raggiungere un ostacolo e ritornare di nuovo al sensore.

Quando Arduino setta a 1 il Pin Trigger, il sensore invia 8 impulsi ad ultrasuoni. Quando questi poi sono ricevuti, il sensore setta a 1 il pin Echo, viene quindi misurato il tempo che passa tra l’attivazione del pin Trigger ed il settaggio del pin Echo.  Infine, nota la velocità del suono, converte il tempo misurato in una lunghezza e ricava quindi la distanza dell’ostacolo.

 

Caratteristiche

Tensione di alimentazione5V
Frequenza ultrasuoni40 kHz
Distanza massima di lettura400 cm
Distanza minima di lettura2 cm
Risoluzione1 cm
Angolo di misura:< 30°
Dimensioni43x20x15 millimetri

HC-SR04 - Foto del sensore LATO FRONTALE

HC-SR04 – Foto del sensore LATO FRONTALE

HC-SR04 - Foto del sensore - LATO POSTERIORE

HC-SR04 – Foto del sensore – LATO POSTERIORE

Dove trovare il sensore Sonar HC-SR04

Il sensore Sonar HC-SR04  può essere acquistato presso il sito FUTURA ELETTRONICA. Il codice prodotto è 2846-MISDIST04.

Il sensore singolo può essere trovato anche sul sito TechMaker, il codice prodotto è SE482050, ricordate di inserire il codice “ADRIROBOT”  per ottenere uno sconto del 3%.

Display monocromo OLED 0,49″risoluzione 64×32

Questo display monocromo OLED presenta una diagonale di 0,49″ e una risoluzione di 64×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 è un single-chip CMOS driver.  L’integrato comunica tramite il protocollo I2C, sono necessari solo 2 pin, linea dati / clock. È disponibile per Arduino IDE l’apposita libreria. Per altre informazioni ed esempi di utilizzo vedere la pagina dedicata.

Caratteristiche

Dimensioni:
PCB :15 x 16 mm
Area di visualizzazione :~ 6 x 12mm
Spessore :4mm
Alimentazione3.0-5.5V
Dettagli del display:
Diagonale del monitor :0.49 "
Numero di pixel :64 ? 32
Profondità colore :Monocromatico (Bianco-Blu)
Modulo di costruzione :COG
Interfaccia:I2C (High Level 2.2V-5.5V)
Indirizzo I2C:7 bit 0x3

Librerie per gestione display OLED

Prima di utilizzare il display OLED è necessario installare le librerie Adafruit SSD1306, in questo caso opportunamente modificate per adattarsi alla ridotta risoluzione.
Per cui occorre scaricare la libreria di supporto presente su GitHub, oppure fare clic su questo link per scaricare il file zip.
Per il giusto funzionamento del display, occorrerà modificare o verificare che all’interno del file Adafruit_SSD1306.h della libreria, la linea che definisce la dimensione del display, l’unica linea senza commento, sia quella #define SSD1306_64_32

per gestire la parte grafica del modulo occorre inoltre scaricare le librerie grafiche Adafruit-GFX-Library presenti su  GitHub, oppure fare clic su questo link per scaricare il file zip.

Progettazione dello shield

Per la progettazione del circuito del Wemos D1 – mini meter shield, si è scelto un tool EDA, Electronic Design Automation online gratuito chiamato EasyEDA, maggiori informazioni in questo articolo.

il programma non richiede alcuna installazione in quanto basato sul cloud; è stato progettato per fornire ad ingegneri elettronici, insegnanti, studenti di ingegneria e hobbisti, un facile strumento di lavoro.
Il programma permette di disegnare e simulare circuiti, è facile da usare e consente altresì, il disegno di circuiti stampati, direttamente dal proprio browser.
All’interno dell’Editor sono presenti un gran numero di librerie di componenti, in modo da poter facilmente e rapidamente trovare le parti desiderate.
Il sito offre anche un servizio di alta qualità ma a basso costo per la realizzazione di PCB personalizzati.

È possibile accedere allo schema attraverso questo link

Schema di collegamento con scheda Wemos D1 Mini

Schema di collegamento con display OLED

Sensore Sonar, dettaglio schema di collegamento con

Test preliminare del progetto

Prima di realizzare il circuito stampato il progetto è stato testato su breadboard, per cui i vari componenti sono stati montati come in figura

Wemos D1 - mini meter shield

Come saprete, i pin digitali della scheda Wemos D1 Mini non sono adatti a ricevere segnali con una tensione superiore a 3,3V, dato che il sensore ad ultrasuoni HC-SR04  funziona a 5V anche i suoi segnali in uscita saranno a questo valore massimo.

Nel nostro circuito si è scelto di utilizzare i seguenti valori standard. come valore di R1=2,2 kΩ per R2 un valore di 4,7 kΩ, da cui applicando le formula si avrà che la tensione in uscita sarà di circa 3,4 V, la piccola differenza è ancora tollerabile.

Studio del PCB con il programma EasyEDA

PCB lato TOP SIDE

Wemos D1 - mini meter shield

PCB lato BOTTOM SIDE

Wemos D1 - mini meter shield

Dopo aver completo la progettazione del  PCB, è possibile fare clic sull’icona PCB order.
in questa pagina è possibile scaricare file Gerber del vostro PCB e inviarli a qualsiasi produttore, oppure ancora più facile (e meno costoso) ordinarlo direttamente al servizio offerto dal sito JLCPCB
Qui è possibile selezionare il numero di PCB che volete ordinare, personalizzando eventualmente il vostro ordine, come eventualmente variare il colore del PCB. Dopo aver selezionato tutte le opzioni, si farà clic su “Salva nel carrello” e si completerà l’ordine, in questo modo si riceveranno i PCB pochi giorni dopo, nel caso si utilizzi il corriere.


Per altre informazioni su come realizzare un PCB vedere la seguente pagina

Wemos D1 - mini meter shield

Ecco i PCB pronti per il montaggio

Montaggio dello shield

Vediamo sotto le varie fasi del montaggio dello shield che è limitato alle pin strip e alle due resistenze del partitore

Wemos D1 - mini meter shield

Test dello shield montato

Per il test del Wemos D1 meter shield, occorrerà ora collegare la scheda appena realizzata al PC e scaricare il programma (scaricabile da questo link) sul WEMOS D1 mini ed eseguirlo.
Se si desidera, è possibile clonare lo schema Wemos D1 meter shield  del PCB, questo è possibile da questo link.

Wemos D1 - mini meter shield

Wemos D1 - mini meter shield

Wemos D1 - mini meter shieldWemos D1 - mini meter shield

Download Sketch
Sketch testato con versione IDE 1.8.5