Мазмұны:

Тағы бір 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 қадам
Бейне: Урок №6. Аналоговые датчики. Beyond Robotics 2024, Қараша
Anonim
Тағы бір Arduino метеостанциясы (ESP-01 және BMP280, DHT11 және OneWire)
Тағы бір Arduino метеостанциясы (ESP-01 және BMP280, DHT11 және OneWire)

Мұнда сіз ESP-01 түйреуіштері аз OneWire қолданудың бір қайталануын таба аласыз. Бұл нұсқаулықта жасалған құрылғы сіз таңдаған 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 КБ нұсқасын қолданамын)

1 x Қысым мен температура сенсоры: BMP280

1 x Ылғалдылық пен температура сенсоры: DHT11

1 x AMS1117 кернеу реттегіші (тікелей ток үшін міндетті емес, немесе сіз кіріс кернеуін тұрақты 3.3В дейін реттей алатын кез келген басқа құрылғыны қолдана аласыз)

2 -қадам: 2 -қадам: Сымдарды жалғау

2 -қадам: Сымдарды жалғау
2 -қадам: Сымдарды жалғау

ESP-01 VCC-3.3VESP-01 GND-GNDESP-01 TX-DHT11 DATAESP-01 GPIO0-BMP280 SDAESP-01 GPIO2-BMP280

3 -қадам: 3 -қадам: Код

#include #include #include // CHECK #define BMP280_ADDRESS mine (0x76) жұмыс істейді #include #deine DHTPIN 1 // GPIO1 (Tx) #define DHTTYPE DHT11 #define ONE_WIRE_BUS 3 // GPIO3 = Rx const char* ssid = « «; // YOUR WIFI SSID const char* password = «asd»; // YOUR WIFIPASS const char* host = «api.thingspeak.com»; const char* writeAPIKey = «asd»; // СІЗДІҢ APIKEY // DHT11 заттары float temperatur_buiten; өзгермелі температура_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 («BMP280 жоқ»); // while (1) {}} // WiFi желісіне қосылу WiFi.begin (ssid, құпия сөз); while (WiFi.status ()! = WL_CONNECTED) {кешіктіру (500); }} void loop () {// DHT11 өзгермелі ылғалдылық = dht.readHumidity (); өзгермелі температура = dht.readTemperature (); if (isnan (ылғалдылық) || isnan (температура)) {қайтару; } // BMP280 Жол t = Жол (bmp.readTemperature ()); Жол p = Жол (bmp.readPressure ()); // TCP CONNECTION WiFiClient клиенті; const int httpPort = 80; if (! client.connect (хост, httpPort)) {қайтару; } Жолдың url = «/update? Key =»; url += writeAPIKey; url += «& өріс1 =»; url += Жол (температура); // DHT11 CELSIUS url += «& field2 =»; url += Жол (ылғалдылық); // DHT11 ҚАТЫСТЫ ЫЛҒАЛДЫҚ url += «& field3 =»; url += Жол (bmp.readTemperature ()); // BMP280 CELSIUS url += «& field4 =»; url += Жол (bmp.readPressure ()/100); // BMP280 MILLIBAR url += «& field5 =»; url += Жол (bmp.readAltitude (1013.25)); // BMP280 METER url += «& field6 =»; url += Жол ((температура +bmp.readTemperature ())/2); // DHT11 + BMP280 ORERAGE 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); }

Ұсынылған: