תוכן עניינים:

תחנת מזג אוויר נוספת של 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 שלבים
וִידֵאוֹ: Flipper Zero DHT11 & BMP280 Weather Station module... 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: בום

שלב 1: בום
שלב 1: בום
שלב 1: בום
שלב 1: בום
שלב 1: בום
שלב 1: בום
שלב 1: בום
שלב 1: בום

חוּמרָה:

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.3VBMP280 GND ל- GND

שלב 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* ssid = "asd "; // WIFI SSID שלך const char* password = "asd"; // WIFIPASS שלך const char* host = "api.thingspeak.com"; const char* writeAPIKey = "asd"; // אפיקי שלך // DHT11 דברים לצוף temperature_buiten; float temperature_buiten2; DHT dht (DHTPIN, DHTTYPE, 15); // BMP280 Adafruit_BMP280 bmp; הגדרת void () {// I2C דברים Wire.pins (0, 2); Wire.begin (0, 2); // DHT1 dht.begin (); // BMP280 if (! Bmp.begin ()) {// Serial.println ("אין BMP280"); // while (1) {}} // התחבר לרשת WiFi WiFi.begin (ssid, סיסמה); בעוד (WiFi.status ()! = WL_CONNECTED) {עיכוב (500); }} לולאת חלל () {// DHT11 לחות צפה = dht.readHumidity (); טמפרטורת מצוף = dht.readTemperature (); אם (isnan (לחות) || isnan (טמפרטורה)) {החזרה; } // BMP280 מחרוזת t = מחרוזת (bmp.readTemperature ()); מחרוזת p = מחרוזת (bmp.readPressure ()); // לקוח TCP Connection WiFiClient; const int httpPort = 80; if (! client.connect (host, httpPort)) {return; } כתובת אתר מחרוזת = "/עדכון? Key ="; url += writeAPIKey; url += "& field1 ="; url += מחרוזת (טמפרטורה); // DHT11 CELSIUS url += "& field2 ="; url += מחרוזת (לחות); // כתובת URL RELATIVE HUMIDITY += "& 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 + כתובת URL ממוצעת של CELSIUS BMP280 + = "\ r / n"; // שלח בקשה לשרת client.print (מחרוזת ("GET") + url + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "חיבור: close / r / n / r / n "); עיכוב (1000); }

מוּמלָץ: