Mündəricat:

Daha bir Arduino Hava İstasyonu (ESP-01 və BMP280 və DHT11 və OneWire): 4 addım
Daha bir Arduino Hava İstasyonu (ESP-01 və BMP280 və DHT11 və OneWire): 4 addım

Video: Daha bir Arduino Hava İstasyonu (ESP-01 və BMP280 və DHT11 və OneWire): 4 addım

Video: Daha bir Arduino Hava İstasyonu (ESP-01 və BMP280 və DHT11 və OneWire): 4 addım
Video: Умный домофон ESP8266 Arduino project ESP-01 2024, Noyabr
Anonim
Daha bir Arduino Hava İstasyonu (ESP-01 və BMP280 və DHT11 və OneWire)
Daha bir Arduino Hava İstasyonu (ESP-01 və BMP280 və DHT11 və OneWire)

Burada bir ESP-01-in çox az sancağı olan OneWire istifadə etmək üçün bir iterasiya tapa bilərsiniz. Bu təlimatda yaradılan cihaz seçdiyiniz Wifi şəbəkəsinə qoşulur (etimadnaməniz olmalıdır …) BMP280 və DHT11 və toplanan məlumatları ThingSpeak kanalına göndərir. ESP-01-ə bir eskiz yükləməyi bildiyinizi güman edirəm, buna görə də bu detallara girməyəcəyəm. Bir gərginlik tənzimləyicisi olmadan dövrə güc verilməlidir Maksimum 3.3V DC ilə çox mətn əlavə edilmirsə, dərslik bu nöqtədən sadə olmalıdır.

Addım 1: Adım 1: BOM

Addım 1: BOM
Addım 1: BOM
Addım 1: BOM
Addım 1: BOM
Addım 1: BOM
Addım 1: BOM
Addım 1: BOM
Addım 1: BOM

Avadanlıq:

1 x Wifi modulu: ESP-01 (1024 KB versiyasını istifadə edirəm)

1 x təzyiq və temperatur sensoru: BMP280

1 x Rütubət və temperatur sensoru: DHT11

1 x AMS1117 Voltaj Tənzimləyicisi (birbaşa güc üçün isteğe bağlıdır və ya giriş voltajınızı sabit 3.3V -ə qədər tənzimləyə bilən hər hansı digərini istifadə edə bilərsiniz)

Addım 2: Adım 2: Kabel çəkmə

Addım 2: Kabel çəkmə
Addım 2: Kabel çəkmə

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

Addım 3: Adım 3: Kod

#include #include #include // CHECK #define BMP280_ADDRESS mina (0x76) ilə işləyir #include #define DHTPIN 1 // GPIO1 (Tx) #define DHTTYPE DHT11 #define ONE_WIRE_BUS 3 // GPIO3 = Rx const char* ssid = " "; // WIFI SSID const char* password = "asd"; // WIFIPASS'INIZ const char* host = "api.thingspeak.com"; const char* writeAPIKey = "asd"; // SİZİN APİKEYİNİZ // DHT11 məhsulları float temperatur_buiten; üzmə temperaturu_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 yoxdur"); // while (1) {}} // WiFi şəbəkəsinə qoşul WiFi.begin (ssid, parol); while (WiFi.status ()! = WL_CONNECTED) {gecikmə (500); }} void loop () {// DHT11 float nem = dht.readHumidity (); üzmə temperaturu = dht.readTemperature (); if (isnan (rütubət) || isnan (temperatur)) {qayıt; } // BMP280 String t = String (bmp.readTemperature ()); String p = String (bmp.readPressure ()); // TCP BAĞLANTI WiFiClient müştəri; const int httpPort = 80; if (! client.connect (host, httpPort)) {return; } String url = "/update? Key ="; url += writeAPIKey; url += "& field1 ="; url += String (temperatur); // DHT11 CELSIUS url += "& field2 ="; url += String (rütubət); // DHT11 RELATİF Rütubət 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 ORTA CELSIUS url + = "\ r / n"; // Serverə sorğu göndərin.print (String ("GET") + url + "HTTP/1.1 / r / n" + "Host:" + host + "\ r / n" + "Connection: close / r / n / r / n "); gecikmə (1000); }

Tövsiyə: