Inhoudsopgave:

Nog een Arduino-weerstation (ESP-01 & BMP280 & DHT11 & OneWire): 4 stappen
Nog een Arduino-weerstation (ESP-01 & BMP280 & DHT11 & OneWire): 4 stappen

Video: Nog een Arduino-weerstation (ESP-01 & BMP280 & DHT11 & OneWire): 4 stappen

Video: Nog een Arduino-weerstation (ESP-01 & BMP280 & DHT11 & OneWire): 4 stappen
Video: Массимо Банци: Как Arduino пробуждает воображение 2024, November
Anonim
Nog een Arduino-weerstation (ESP-01 & BMP280 & DHT11 & OneWire)
Nog een Arduino-weerstation (ESP-01 & BMP280 & DHT11 & OneWire)

Hier vindt u een iteratie van het gebruik van OneWire met de weinige pinnen van een ESP-01. Het apparaat dat in deze instructable is gemaakt, maakt verbinding met het wifi-netwerk van uw keuze (u moet de inloggegevens hebben …) Verzamelt sensorische gegevens van een BMP280 en een DHT11 en stuurt de verzamelde gegevens naar het verstrekte ThingSpeak-kanaal. Ik neem aan dat je weet hoe je een schets naar je ESP-01 moet uploaden, dus ik ga niet in op die details. Zonder een spanningsregelaar moet het circuit worden gevoed met max. 3,3 V DC. Er wordt niet veel tekst toegevoegd, de tutorial zou vanaf dit punt eenvoudig moeten zijn.

Stap 1: Stap 1: Stuklijst

Stap 1: Stuklijst
Stap 1: Stuklijst
Stap 1: Stuklijst
Stap 1: Stuklijst
Stap 1: Stuklijst
Stap 1: Stuklijst
Stap 1: Stuklijst
Stap 1: Stuklijst

Hardware:

1 x Wifi-module: ESP-01 (ik gebruik de 1024 KB-versie)

1 x druk- en temperatuursensor: BMP280

1 x vochtigheids- en temperatuursensor: DHT11

1 x spanningsregelaar AMS1117 (optioneel voor directe voeding, of u kunt een andere gebruiken die uw ingangsspanning tot een vaste 3,3 V kan regelen)

Stap 2: Stap 2: Bedrading

Stap 2: Bedrading
Stap 2: Bedrading

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

Stap 3: Stap 3: Coderen

#include #include #include //CHECK #define BMP280_ADDRESS mine werkt met (0x76) #include #define DHTPIN 1 //GPIO1 (Tx) #define DHTTYPE DHT11 #define ONE_WIRE_BUS 3 // GPIO3=Rx const char* ssid = "asd "; //UW WIFI SSID const char* wachtwoord = "asd"; //UW WIFIPASS const char* host = "api.thingspeak.com"; const char* writeAPIKey = "asd"; //YOUR APIKEY //DHT11 stuff float temperature_buiten; vlottertemperatuur_buiten2; DHT dht(DHTPIN, DHTTYPE, 15); //BMP280 Adafruit_BMP280 bmp; void setup () {// I2C stuff Wire.pins (0, 2); Draad.begin(0, 2); //DHT1 dht.begin(); //BMP280 if (!bmp.begin()) { // Serial.println("Geen BMP280"); // while (1) {} } // Maak verbinding met wifi-netwerk WiFi.begin (ssid, wachtwoord); while (WiFi.status() != WL_CONNECTED) {vertraging (500); } } void loop () {// DHT11 float vochtigheid = dht.readHumidity (); float-temperatuur = dht.readTemperature(); if (isnan(vochtigheid) || isnan(temperatuur)) { terugkeer; } //BMP280 String t = String (bmp.readTemperature()); String p = String (bmp.readPressure()); //TCP VERBINDING WiFiClient-client; const int httpPort = 80; if (!client.connect(host, httpPort)) { return; } String url = "/update?key="; url += schrijfAPIKey; url += "&field1="; url += String (temperatuur); //DHT11 CELSIUS-url += "&field2="; url += String (vochtigheid); //DHT11 RELATIEVE VOCHTIGHEID 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((temperatuur+bmp.readTemperature())/2); //DHT11 + BMP280 GEMIDDELDE CELSIUS url += "\r\n"; // Verzend verzoek naar de server client.print(String("GET") + url + " HTTP/1.1\r\n" + "Host: " + host + "\r\n" + "Verbinding: close\r \n\r\n"); vertraging (1000); }

Aanbevolen: