Table des matières:

Une station météo Arduino de plus (ESP-01 & BMP280 & DHT11 & OneWire): 4 étapes
Une station météo Arduino de plus (ESP-01 & BMP280 & DHT11 & OneWire): 4 étapes

Vidéo: Une station météo Arduino de plus (ESP-01 & BMP280 & DHT11 & OneWire): 4 étapes

Vidéo: Une station météo Arduino de plus (ESP-01 & BMP280 & DHT11 & OneWire): 4 étapes
Vidéo: Lesson 45: Measure temperature and Pressure with BME280 display on LCD1602 and LCD2004 with Arduino 2024, Novembre
Anonim
Une station météo Arduino de plus (ESP-01 & BMP280 & DHT11 & OneWire)
Une station météo Arduino de plus (ESP-01 & BMP280 & DHT11 & OneWire)

Ici vous pouvez trouver une itération d'utiliser OneWire avec les très peu de broches d'un ESP-01. DHT11 et envoie les données collectées au canal ThingSpeak fourni. Je suppose que vous savez comment télécharger un croquis sur votre ESP-01, je n'entre donc pas dans ces détails. Sans régulateur de tension, le circuit doit être alimenté avec max 3.3V DC. Pas beaucoup de texte est ajouté, le didacticiel devrait être simple à partir de ce point.

Étape 1: Étape 1: Nomenclature

Étape 1: nomenclature
Étape 1: nomenclature
Étape 1: nomenclature
Étape 1: nomenclature
Étape 1: nomenclature
Étape 1: nomenclature
Étape 1: nomenclature
Étape 1: nomenclature

Matériel:

1 x module Wifi: ESP-01 (j'utilise la version 1024 Ko)

1 x capteur de pression et de température: BMP280

1 x capteur d'humidité et de température: DHT11

1 x régulateur de tension AMS1117 (en option pour l'alimentation directe, ou vous pouvez utiliser n'importe quel autre capable de réguler votre tension d'entrée jusqu'à 3,3 V fixe)

Étape 2: Étape 2: Câblage

Étape 2: Câblage
Étape 2: Câblage

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

Étape 3: Étape 3: Coder

#include #include #include //CHECK #define BMP280_ADDRESS mine fonctionne avec (0x76) #include #define DHTPIN 1 //GPIO1 (Tx) #define DHTTYPE DHT11 #define ONE_WIRE_BUS 3 // GPIO3=Rx const char* ssid = "asd "; //VOTRE WIFI SSID const char* mot de passe = "asd"; //VOTRE WIFIPASS const char* host = "api.thingspeak.com"; const char* writeAPIKey = "asd"; // VOTRE APIKEY // DHT11 stuff float temperature_buiten; float temperature_buiten2; DHT dht (DHTPIN, DHTTYPE, 15); //BMP280 Adafruit_BMP280 bmp; void setup() { //I2C stuff Wire.pins(0, 2); Fil.begin(0, 2); //DHT1 dht.begin(); //BMP280 if (!bmp.begin()) { // Serial.println("No BMP280"); // while (1) {} } // Se connecter au réseau WiFi WiFi.begin(ssid, mot de passe); while (WiFi.status() != WL_CONNECTED) { delay(500); } } boucle vide() { //DHT11 float humidité = dht.readHumidity(); float temperature = dht.readTemperature(); if (isnan(humidité) || isnan(température)) { return; } //BMP280 Chaîne t = Chaîne(bmp.readTemperature()); Chaîne p = Chaîne(bmp.readPressure()); //CONNEXION TCP Client WiFiClient; const int httpPort = 80; if (!client.connect(host, httpPort)) { return; } Chaîne url = "/update?key="; url += writeAPIKey; url += "&field1="; url += Chaîne(température); //URL DHT11 CELSIUS += "&field2="; url += String(humidité); //URL HUMIDITÉ RELATIVE DHT11 +="&field3="; url +=String(bmp.readTemperature()); //URL BMP280 CELSIUS +="&field4="; url +=String(bmp.readPressure()/100); //URL BMP280 MILLIBAR +="&field5="; url +=String(bmp.readAltitude(1013.25)); //URL BMP280 METER +="&field6="; url +=String((temperature+bmp.readTemperature())/2); //DHT11 + BMP280 MOYENNE CELSIUS url += "\r\n"; // Envoie la requête au serveur client.print(String("GET ") + url + " HTTP/1.1\r\n" + "Host: " + host + "\r\n" + "Connection: close\r \n\r\n"); retard(1000); }

Conseillé: