Πίνακας περιεχομένων:

Ένας ακόμη Μετεωρολογικός Σταθμός Arduino (ESP-01 & BMP280 & DHT11 & OneWire): 4 Βήματα
Ένας ακόμη Μετεωρολογικός Σταθμός Arduino (ESP-01 & BMP280 & DHT11 & OneWire): 4 Βήματα

Βίντεο: Ένας ακόμη Μετεωρολογικός Σταθμός Arduino (ESP-01 & BMP280 & DHT11 & OneWire): 4 Βήματα

Βίντεο: Ένας ακόμη Μετεωρολογικός Σταθμός Arduino (ESP-01 & BMP280 & DHT11 & OneWire): 4 Βήματα
Βίντεο: Weather station,❄️🌫️⛈️🌨️🌨️🌤️#arduino #nodemcu #electronics 2024, Ιούλιος
Anonim
Ένας ακόμη Μετεωρολογικός Σταθμός Arduino (ESP-01 & BMP280 & DHT11 & OneWire)
Ένας ακόμη Μετεωρολογικός Σταθμός Arduino (ESP-01 & BMP280 & DHT11 & OneWire)

Εδώ μπορείτε να βρείτε μια επανάληψη χρήσης του OneWire με τις πολύ λίγες ακίδες ενός ESP-01. Η συσκευή που δημιουργήθηκε σε αυτό το εκπαιδευτικό συνδέεται με το δίκτυο Wifi της επιλογής σας (πρέπει να έχετε τα διαπιστευτήρια…) Συλλέγει αισθητήρια δεδομένα από ένα BMP280 και ένα DHT11 και στέλνει τα συλλεγόμενα δεδομένα στο παρεχόμενο κανάλι ThingSpeak. Υποθέτω ότι γνωρίζετε πώς να ανεβάσετε ένα σκίτσο στο ESP-01 σας, οπότε δεν θα μπω σε αυτές τις λεπτομέρειες. Χωρίς ρυθμιστή τάσης, το κύκλωμα πρέπει να τροφοδοτηθεί με μέγιστο 3,3V DC. Δεν προστίθεται πολύ κείμενο, το σεμινάριο θα πρέπει να είναι απλό από αυτό το σημείο.

Βήμα 1: Βήμα 1: BOM

Βήμα 1: BOM
Βήμα 1: BOM
Βήμα 1: BOM
Βήμα 1: BOM
Βήμα 1: BOM
Βήμα 1: BOM
Βήμα 1: BOM
Βήμα 1: BOM

Σκεύη, εξαρτήματα:

1 x μονάδα Wifi: ESP-01 (χρησιμοποιώ την έκδοση 1024 KB)

1 x Αισθητήρας πίεσης και θερμοκρασίας: BMP280

1 x Αισθητήρας υγρασίας και θερμοκρασίας: DHT11

1 x Ρυθμιστής Τάσης AMS1117 (προαιρετικό για άμεση τροφοδοσία ή μπορείτε να χρησιμοποιήσετε οποιοδήποτε άλλο ικανό να ρυθμίσει την τάση εισόδου σας σε σταθερό 3,3V)

Βήμα 2: Βήμα 2: Καλωδίωση

Βήμα 2: Καλωδίωση
Βήμα 2: Καλωδίωση

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.3VBMP280ND

Βήμα 3: Βήμα 3: Κωδικός

#include #include #include // CHECK #define BMP280_ADDRESS δουλεύει με (0x76) #include #define DHTPIN 1 // GPIO1 (Tx) #define DHTTYPE DHT11 #define ONE_WIRE_BUS 3 // GPIO3 = Rx const char* "; // ΣΑΣ WIFI SSID const char* password = "asd"; // ΤΟ WIFIPASS ΣΑΣ const char* host = "api.thingspeak.com"; const char* writeAPIKey = "asd"; // ΤΟ 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"); // while (1) {}} // Σύνδεση σε δίκτυο WiFi WiFi.begin (ssid, password); while (WiFi.status ()! = WL_CONNECTED) {καθυστέρηση (500); }} void loop () {// DHT11 υγρασία πλωτήρα = dht.readHumidity (); θερμοκρασία πλωτήρα = dht.readTemperature (); εάν (ισνάνη (υγρασία) || ισνάνη (θερμοκρασία)) {επιστροφή? } // BMP280 String t = String (bmp.readTemperature ()); String p = String (bmp.readPressure ()); // TCP CONNECTION πελάτης WiFiClient; const int httpPort = 80; if (! client.connect (host, httpPort)) {return? } String url = "/update? Key ="; url += writeAPIKey; url += "& field1 ="; url += String (θερμοκρασία); // DHT11 CELSIUS url += "& field2 ="; url += String (υγρασία); // DHT11 ΣΧΕΤΙΚΗ ΥΓΡΑΣΙΑ 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 ((θερμοκρασία +bmp.readTemperature ())/2); // DHT11 + BMP280 AVELAGE CELSIUS url + = "\ r / n"; // Αποστολή αιτήματος στο διακομιστή client.print (String ("GET") + url + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "Connection: close / r / n / r / n "); καθυστέρηση (1000)? }

Συνιστάται: