Taula de continguts:

Una estació meteorològica més Arduino (ESP-01 i BMP280 i DHT11 i OneWire): 4 passos
Una estació meteorològica més Arduino (ESP-01 i BMP280 i DHT11 i OneWire): 4 passos

Vídeo: Una estació meteorològica més Arduino (ESP-01 i BMP280 i DHT11 i OneWire): 4 passos

Vídeo: Una estació meteorològica més Arduino (ESP-01 i BMP280 i DHT11 i OneWire): 4 passos
Vídeo: ESP32 Tutorial - DHT11/DHT22 (Temperature and Humidity Sensor) 2024, Desembre
Anonim
Una estació meteorològica més Arduino (ESP-01 i BMP280 i DHT11 i OneWire)
Una estació meteorològica més Arduino (ESP-01 i BMP280 i DHT11 i OneWire)

Aquí podeu trobar una iteració d’utilitzar OneWire amb els pocs pins d’un ESP-01. El dispositiu creat en aquest instructiu es connecta a la xarxa Wifi que trieu (heu de tenir les credencials …) Recopila dades sensorials d’un BMP280 i un DHT11 i envia les dades recollides al canal ThingSpeak proporcionat. Suposo que sabeu com penjar un esbós al vostre ESP-01, de manera que no entraré en aquests detalls. Sense un regulador de voltatge, el circuit ha d’estar alimentat. amb un màxim de 3,3 V CC. No s’afegeix gaire text, el tutorial hauria de ser senzill a partir d’aquest moment.

Pas 1: pas 1: llista de material

Pas 1: llista de material
Pas 1: llista de material
Pas 1: llista de material
Pas 1: llista de material
Pas 1: llista de material
Pas 1: llista de material
Pas 1: llista de material
Pas 1: llista de material

Maquinari:

1 x mòdul Wifi: ESP-01 (estic fent servir la versió de 1024 KB)

1 x sensor de pressió i temperatura: BMP280

1 sensor d'humitat i temperatura: DHT11

1 x regulador de tensió AMS1117 (opcional per a l'alimentació directa, o podeu utilitzar qualsevol altre capaç de regular la vostra tensió d'entrada fins a un 3.3V fix)

Pas 2: pas 2: cablejat

Pas 2: cablejat
Pas 2: cablejat

ESP-01 VCC a 3.3 VESP-01 GND a GNDESP-01 TX a DHT11 DATAESP-01 GPIO0 a BMP280 SDAESP-01 GPIO2 a BMP280 SCLDHT11 VCC a 3.3VDHT11 GND a GNDBMP280 VCC a 3.3VBMP280 GND a GND

Pas 3: Pas 3: Codi

#include #include #include // CHECK #define BMP280_ADDRESS mine works with (0x76) #include #define DHTPIN 1 // GPIO1 (Tx) #define DHTTYPE DHT11 #define ONE_WIRE_BUS 3 // GPIO3 = Rx const char * ssid = "asd "; // EL VOSTRE SSID WIFI const char * password = "asd"; // YOUR WIFIPASS const char * host = "api.thingspeak.com"; const char * writeAPIKey = "asd"; // EL SEU APIKEY // Material DHT11 float temperature_buiten; temperatura del flotador_buiten2; DHT dht (DHTPIN, DHTTYPE, 15); // BMP280 Adafruit_BMP280 bmp; void setup () {// I2C stuff Wire.pins (0, 2); Wire.begin (0, 2); // DHT1 dht.begin (); // BMP280 if (! Bmp.begin ()) {// Serial.println ("No BMP280"); // while (1) {}} // Connecteu-vos a la xarxa WiFi WiFi.begin (ssid, contrasenya); while (WiFi.status ()! = WL_CONNECTED) {demora (500); }} void loop () {// Humitat flotant DHT11 = dht.readHumidity (); temperatura flotant = dht.readTemperature (); if (isnan (humitat) || isnan (temperatura)) {retorn; } // BMP280 String t = String (bmp.readTemperature ()); Cadena p = Cadena (bmp.readPressure ()); // TCP CONNECTION Client WiFiClient; const int httpPort = 80; if (! client.connect (host, httpPort)) {return; } String url = "/ update? Key ="; url + = writeAPIKey; url + = "& camp1 ="; url + = Cadena (temperatura); // DHT11 CELSIUS url + = "& field2 ="; url + = Cadena (humitat); // DHT11 RELATIVE HUMIDITY url + = "& field3 ="; url + = String (bmp.readTemperature ()); // BMP280 CELSIUS url + = "& field4 ="; url + = String (bmp.readPressure () / 100); // BMP280 MILLIBAR url + = "& field5 ="; url + = String (bmp.readAltitude (1013.25)); // URL BMP280 METER + = "& field6 ="; url + = String ((temperature + bmp.readTemperature ()) / 2); // DHT11 + BMP280 CELSIUS MITJANA url + = "\ r / n"; // Enviar sol·licitud al servidor client.print (Cadena ("GET") + url + "HTTP / 1.1 / r / n" + "Amfitrió:" + amfitrió + "\ r / n" + "Connexió: tancar / r / n / r / n "); retard (1000); }

Recomanat: