Il Modulo WeMos D1 mini è basato sul microcontrollore Wi-Fi ESP8266 ESP-12 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 IOT “Internet delle cose” in tempi estremamente rapidi.
Indice
Dove trovare il modulo
Il modulo Wemos D1 mini e i suoi shield possono essere acquistati presso il sito Homotix, l’ultima versione del modulo la V 4.0 ha un costo, al momento della pubblicazione di questo articolo di 8.05€.
Questo articolo è stato pubblicato nella sezione Articoli del sito WWW.HOMOTIX.IT
Descrizione
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): 28 x 24 x 18
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
N° | Pin | Function | ESP-8266 Pin |
---|---|---|---|
1 | RST | Reset | RST |
2 | A0 | Analog input-max 3.3V input | A0 |
3 | D0 | IO | GPIO16 |
4 | D5 | IO-SCK | GPIO14 |
5 | D6 | IO-MISO | GPIO12 |
6 | D7 | IO-MOSI | GPIO13 |
7 | D8 | IO-10k Pull-down-SS | GPIO15 |
8 | 3V3 | 3.3V | 3.3V |
1 | TX | TXD | TXD |
2 | RX | RXD | RXD |
3 | D1 | IO-SCL | GPIO5 |
4 | D2 | IO-SDA | GPIO4 |
5 | D3 | IO-10k Pull-up | GPO0 |
6 | D4 | IO-10k Pull-up-BUILTIN_LED | GPIO2 |
7 | G | Ground | GND |
8 | 5V | 5V | 5V |
Foto del modulo
Nota: le foto si riferiscono ad una versione precedente di quella attuamene in vendita
Componenti presenti sul modulo
Sul modulo sono presenti, sul lato superiore:
- il modulo ESP-12, con antenna Wi-Fi e un LED blu.
Sul lato inferiore:
- un pulsante con funzione di RESET
- un regolatore di tensione tipo RT9013 per ridurre la tensione da 5V ai 3.3V con relativi condensatori di livellamento
- il chip CH340G utilizzato per la conversione seriale dei dati da USB a UART necessaria ad interfacciarti al chip ESP8266, la scelta del chip CH340 è probabilmente dovuta al fatto che il suo costo è decisamente inferiore al modello Atmega32U4. usato per esempio per la scheda Arduino/Genuino. Per il suo utilizzo è però necessario installare un driver lato computer per essere riconosciuto correttamente dal computer come interfaccia seriale.
- Due transistor NPN S8050 in package SOT23
- una porta micro USB, da cui è prelevata la tensione di alimentazione tramite un diodo di protezione B5819
- Varie resistenze
Datasheet componenti
Ultima versione disponibile V2.0.0
Il modulo ha raggiunto la versione 2.0.0 sono cambiate le sue dimensioni, anche se è rimasta la compatibilità con gli shield.
Vedere il post dove sono descritte in dettaglio le sue caratteristiche : Modulo D1 mini Pro V 2.0.0
Caratteristiche
Le caratteristiche sono simili a quelle della prima versione con alcune modifiche
- 16M bytes(128M bit) Flash
- Antenna PCB integrata o Connettore antenna esterna
- Connettore per batteria al litio e circuito per la sua ricarica – 500mA Max corrente di carica
- Connettore per collegamento dei moduli I2C
- Dimensione 48*25,4 mm
- Peso 4,5 g
- Compatibile con Arduino, MicroPython, NodeMCU
- Firmware di Default: lastest MicroPython
Wemos D1 mini – Raccolta Shield disponibili
Per la scheda Wemos D1 mini, prodotta dalla WEMOS/LOLIN sono disponibili vari shield che appartengono a varie categorie: Display & Interactive Shield, Environment, Power, Control, Others.
Per l’elenco vedere articolo Wemos D1 mini – Raccolta Shield disponibili
Impostazione dell’IDE di Arduino
Installazione del driver per il chip CH340G
Come spiegato la scheda utilizza come convertitore USB-seriale il chip CH340G invece che il più diffuso chip Atmega32U4, siccome Windows non supporta nativamente questo chip, il modulo non viene riconosciuto.
Per questo motivo è necessario scaricare il driver dal sito ufficiale del fornitore (sfortunatamente è in cinese). Una volta eseguito l’unzip del pacchetto, è possibile procedere con l’aggiornamento del driver per la periferica:
Per cui si dovrà lanciare il programma SETUP.EXE
Dopo l’apertura della finestra si effettuerà l’installazione dei driver, che avverrà in automatico premendo INSTALL. A fine procedura sarà mostra la seguente finestra
A questo punto collegando il modulo, questo sarà riconosciuto e Windows configurerà correttamente la nuova porta COM
Installazione del driver della scheda
Per programmare il modulo WeMos D1 mini utilizzeremo l’IDE di Arduino, per cui se non già installato occorrerà scaricare e installare l’ultima versione dal sito ufficiale.
A questo punto dovremmo aggiungere le informazioni per le schede ESP8266 all’Arduino. Per cui aperto l’IDE di Arduino, andare al menu:
File -> Impostazioni -> URL aggiuntive per il Gestore schede,
l’indirizzo da inserire è
https://arduino.esp8266.com/stable/package_esp8266com_index.json (Figura 1).
Per impostare la scheda WeMos D1 mini, andare al menu Strumenti -> Scheda -> Gestione schede (Figura 2)
Quando apparirà la scheda Gestore schede digitare ESP8266 e quindi installare i driver cliccando su Installa (figura 3)
A questo punto tornare al menù Strumenti – Gestore schede … quindi selezionare nella sezione ESP8266 Modules il modello WeMos D1 R2 & mini, (Figura 4). In questo modo sarà possibile programmare il modulo.
Esempi di utilizzo del modulo
Lettura di temperatura e umidità con sensore DH11
Tra i molti modelli di shield realizzati appositamente per il modulo WeMos D1 mini troviamo il Wemos DHT Shield che utilizza il sensore di umidità e temperatura DHT11, il sensore è calibrato dal costruttore e non richiede componenti aggiuntivi, è in grado di misurare la temperatura in una gamma compresa tra 0°C e +60°C con una precisione di ±2°C e l’umidità in una gamma compresa tra 20%RH e 90%RH con una precisione di ±5RH.
In questo esempio utilizziamo il modulo WeMos D1 mini per leggere i dati di temperatura ed umidità forniti dallo shield sensore DHT11 e invieremo i dati sul canale Thinkspeak, che è una piattaforma Internet che consente di raccogliere e memorizzare i dati del sensore nel cloud e di sviluppare applicazioni IoT.
Per maggiori informazioni, schema e programma vedere la relativa pagina.
Wemos D1 mini multi test shield
Se si possiede una scheda Wemos D1 mini e si vogliono sperimentare la serie di sensori contenuti nella confezione “37 in 1 Sensor Module Board Set” che è venduta da molti siti è possibile utilizzare questo Wemos D1 mini multi test shield.
Sullo shield sono disponibili molti connettori che risultano già opportunamente collegati con le porte digitali o analogiche della scheda Wemos D1 mini . Sulla scheda è inoltre già presente uno stadio di alimentazione che permette di alimentare il tutto per esempio con una batteria 9V.
In realtà, la scheda, oltre ai sensori presenti nel kit “37 in 1 Sensor Module Board Set” permette di testare altri sensori, servo, ecc per un totale di oltre 30 tipi, la presenza di un connettore bus I2C espande ulteriormente la tipologia di dispositivi che lo shield permette di testare.
Se si monta sul Wemos D1 mini il relativo OLED Shield si potranno visionare sul display da 0,66 “64 x 48 pixel i valori misurati oppure gli stati logici.
Gestione display OLED Shield
Il modulo Wemos D1 Mini può gestire un display OLED, in questo caso rappresentato montato su l’OLED Shield , nell’esempio si è utilizzato un DC Power Shield per l’alimentazione. Per maggiori informazioni, schema e programma vedere la relativa pagina.
Gestione MatrixLED Shield
Il modulo Wemos D1 Mini può gestire una matrice di led 8×8, il modulo è chiamato Matrix LED shield , nell’esempio si è utilizzato un Battery Shield per l’alimentazione. Per maggiori informazioni, schema e programma vedere l’articolo WEMOS Matrix LED shield – Wemos D1 Mini
Wemos D1 mini meter shield
Progetto per 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 che separa il sensore dall’oggetto posto frontalmente al sensore.
Il sensore utilizzato è di tipo ultrasuoni 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.
Sensore di luce TSL2561
Il sensore di luminosità TSL2561 prodotto dalla AMS è un sensore avanzato di luce digitale , ideale per l’uso in una vasta gamma di condizioni di luce. Rispetto alle cellule CdS a basso costo, questo sensore è più preciso, consentendo misure direttamente in lx e può essere configurato per differenti range di misura in modo da rilevare gamme di luce comprese tra 0,1 – 40.000 lx.
Nel programma di test tramite il modulo WeMos D1 mini del sensore TLS2561, il valore della luminosità viene mostrato all’interno della finestra del Monitor seriale. La lettura è effettuata ogni 250 ms.
I pin SCL e SDA del sensore sono collegati rispettivamente a D1 e D2 del modulo WeMos D1 mini e gestiti dalla libreria Wire.
Display 65k Colori OLED 96×64 interfaccia SPI
Questo display OLED da 0.95″risoluzione 96×64 pixel, 65536 Colori è basato sul driver SSD1331 ed è dotato di interfaccia di comando SPI, può essere alimentato con una tensione compresa tra i 3.3V – 5V.
Motor Controller per DC Motor FT-SMC-2CH
Il modulo driver per motori FT-SMC-2CH prodotto dalla FEETECH RC Model Co.,Ltd. è di piccole dimensioni, misurando solo 34×25 mm, permette di pilotare due motori a corrente continua, per esempio il modello FM90 prodotto sempre da FEETECH, con controllo di rotazione continua bidirezionale, la corrente massima è 1,3 A per una tensione consigliata di 6V.
Convertitore ADC 16-bit 4 Canali ADS1115
Il Modulo Convertitore ADC 16-bit 4 Canali ADS1115 può essere utilizzato per incrementare le porte analogiche del modulo Wemos D1 mini, permettendo di avere anche un ADC ad elevata precisione. L’integrato utilizzato tipo ADS1115 offre una precisione di 16-bit con 860 campionamenti al secondo, i 4 ingressi possono essere configurati come 4 canali single-ended oppure come 2 canali differenziali.
Il modulo si interfaccia tramite I2C e può funzionare con una tensione di alimentazione compresa tra 2Vcc e 5Vcc, all’interno del chip ADS1115 sono anche presenti un amplificatore con un guadagno programmabile fino a 16 volte ed un comparatore.
Modulo KY-009 RGB full color LED SMD
Gestione del modulo KY-009 RGB full color LED SMD module, che si presenta come una piccolo circuito che misura 18,5 millimetri x 15 mm, su di esso è montato un LED RGB tipo 5050 SMD e un connettore a 4 pin. Il LED può emette una ampia gamma di colori mescolando rosso, verde e blu.
Applicazione IOT con WeMos D1 Mini e App Blynk
Articolo dedicato ad un’applicazione IOT tramite l’app BLYNK e un modulo Wemos D1 mini collegato al modulo KY-001 su cui è presente il sensore 18B20 .