Innehållsförteckning:

One More Arduino Weather Station (ESP-01 & BMP280 & DHT11 & OneWire): 4 steg
One More Arduino Weather Station (ESP-01 & BMP280 & DHT11 & OneWire): 4 steg

Video: One More Arduino Weather Station (ESP-01 & BMP280 & DHT11 & OneWire): 4 steg

Video: One More Arduino Weather Station (ESP-01 & BMP280 & DHT11 & OneWire): 4 steg
Video: Датчик давления, температуры и влажности BME280. Подключение к Arduino по I2C. 2024, November
Anonim
One More Arduino Weather Station (ESP-01 & BMP280 & DHT11 & OneWire)
One More Arduino Weather Station (ESP-01 & BMP280 & DHT11 & OneWire)

Här kan du hitta en iteration av att använda OneWire med de få få stiften på en ESP-01. Enheten som skapas i denna instruerbara ansluter till det valda wifi-nätverket (du måste ha autentiseringsuppgifterna …) Samlar in sensoriska data från en BMP280 och en DHT11 och skickar den insamlade informationen till den tillhandahållna ThingSpeak-kanalen. Jag antar att du vet hur du laddar upp en skiss till din ESP-01, så jag går inte in på dessa detaljer. Utan en spänningsregulator måste kretsen drivas med max 3.3V DC. Inte mycket text läggs till, handledning bör vara enkel från denna punkt.

Steg 1: Steg 1: BOM

Steg 1: BOM
Steg 1: BOM
Steg 1: BOM
Steg 1: BOM
Steg 1: BOM
Steg 1: BOM
Steg 1: BOM
Steg 1: BOM

Hårdvara:

1 x Wifi-modul: ESP-01 (jag använder versionen 1024 KB)

1 x Tryck- och temperatursensor: BMP280

1 x fukt- och temperatursensor: DHT11

1 x spänningsregulator AMS1117 (valfritt för direkt strömförsörjning, eller så kan du använda någon annan som kan reglera din ingångsspänning till en fast 3,3V)

Steg 2: Steg 2: Kabeldragning

Steg 2: Kabeldragning
Steg 2: Kabeldragning

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

Steg 3: Steg 3: Kod

#include #include #include // CHECK #define BMP280_ADDRESS min fungerar med (0x76) #include #define DHTPIN 1 // GPIO1 (Tx) #define DHTTYPE DHT11 #define ONE_WIRE_BUS 3 // GPIO3 = Rx const char* ssid = "asd "; // DIN WIFI SSID const char* password = "asd"; // DIN WIFIPASS const char* host = "api.thingspeak.com"; const char* writeAPIKey = "asd"; // DIN 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); Wire.begin (0, 2); // DHT1 dht.begin (); // BMP280 if (! Bmp.begin ()) {// Serial.println ("No BMP280"); // medan (1) {}} // Anslut till WiFi -nätverket WiFi.begin (ssid, lösenord); medan (WiFi.status ()! = WL_CONNECTED) {fördröjning (500); }} void loop () {// DHT11 flottörfuktighet = dht.readHumidity (); flottörtemperatur = dht.readTemperature (); if (isnan (fuktighet) || isnan (temperatur)) {retur; } // BMP280 String t = String (bmp.readTemperature ()); String p = String (bmp.readPressure ()); // TCP CONNECTION WiFiClient -klient; const int httpPort = 80; if (! client.connect (host, httpPort)) {return; } String url = "/update? Key ="; url += writeAPIKey; url += "& field1 ="; url += Sträng (temperatur); // DHT11 CELSIUS url += "& field2 ="; url += String (fuktighet); // DHT11 RELATIV 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)); // BMP280 METER url += "& field6 ="; url += String ((temperatur +bmp.readTemperature ())/2); // DHT11 + BMP280 MEDEL CELSIUS url + = "\ r / n"; // Skicka förfrågan till servern client.print (String ("GET") + url + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "Connection: close / r / n / r / n "); fördröjning (1000); }

Rekommenderad: