NodeMCU ESP8266-12F, 100% compatibile con Wemos D1 mini Wifi
Sensore di umidità , temperatura e pressione basato su Bosch BME280
Scaricare l'IDE Arduino da questo link:
Dal menu File->Impostazioni inserire nel campo URL aggiuntive per il gestore schede la seguente URL:
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Installare la scheda esp8266 dal menu Strumenti->Scheda->Gestore schede
Scaricare lo zip del repository GitHub di questa libreria:
Quindi installare la libreria nell'IDE Arduino dal menu Sketch->#Include Libreria->Aggiungere Libreria da file ZIP
Dal menu Sketch->Gestione librerie installa la libreria Adafruit BME280 Library
Inserire la scheda D1 mini alla porta USB del PC
Dal menu Strumenti->Scheda seleziona:
Wemos D1 R1
Dal menu Strumenti->Porta selezionare la porta seriale su USB assegnata al D1 mini. E' possibile vedere l'assegnazione dal Pannello di controllo di Windows->Dispositivi->Bluetooth e altri dispositivi.
Con questa configurazione dovrebbe essere possibile compilare e trasferire sul D1 mini un programma Arduino.
Collegare i moduli AZ-Delivery D1 mini e AZ-Delivery GY-BME280 in questo modo
D1 mini | GY-BME280 |
---|---|
D1 | SCL |
D2 | SDA |
G | GND |
3V3 | VIN |
Scaricare questo sorgente:
Settare le credenziali di accesso alla propria WiFi combiando queste righe di codice:
//----WIFI CONFIG ----
#define WIFI_SSID "acmetest" //your Wifi SSID
#define WIFI_PASSWD "acmetest" //your wifi password
Settare l'IP del server MQTT sulla propria rete ed il topic in cui scrivere i valori rilevati:
//----MQTT CONFIG ----
#define MQTT_SERVER "192.168.4.31"
#define MQTT_UNAME ""
#define MQTT_PASSW ""
#define MQTT_BROKER_PORT 1883 //MQTT BROKER listening port
#define MQTT_CLIENT_ID "S1"
#define MQTT_TOPIC "S1"
#define MQTT_TOPIC_T "S1/T"
Pinout LCD WO1602I-TFH-AT# (pin 1 a sinistra guardando il display con i pin in basso)
1 5V
2 NC
3 NC
4 5V
5 GND
6 SDA ----> D2 con 10K verso 3V3
7 SCL ----> D1 con 10K verso 3V3
8 RST ----> 3V3
K GND
A 3V3
Pins
WeMos Arduino Use
D0 16 Red Led
D1 5
D2 4
D3 0 Blue button
D4 2
D5 14
D6 12
D7 13
D8 15
TX 1
RX 3
#define echoPin D7 // Echo Pin
#define trigPin D6 // Trigger Pin
long duration, distance; // Duration used to calculate distance
void setup()
{
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop()
{
/* The following trigPin/echoPin cycle is used to determine the
distance of the nearest object by bouncing soundwaves off of it. */
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
//Calculate the distance (in cm) based on the speed of sound.
distance = duration/58.2;
Serial.println(distance);
//Delay 50ms before next reading.
delay(50);
}
Pins
WeMos | Arduino | Use |
---|---|---|
D0 | 16 | Red Led |
D3 | 0 | Blue button |
Install the librariea:
2018 Ⓒ TanzoLab