კიდევ ერთი Arduino ამინდის სადგური (ESP-01 & BMP280 & DHT11 & OneWire): 4 ნაბიჯი
კიდევ ერთი Arduino ამინდის სადგური (ESP-01 & BMP280 & DHT11 & OneWire): 4 ნაბიჯი
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.3 ვ -მდე)

ნაბიჯი 2: ნაბიჯი 2: გაყვანილობა

ნაბიჯი 2: გაყვანილობა
ნაბიჯი 2: გაყვანილობა

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

ნაბიჯი 3: ნაბიჯი 3: კოდი

#ჩართეთ #ჩართეთ #ჩართეთ // შემოწმება #განსაზღვრეთ BMP280_ADDRESS ნაღმი მუშაობს (0x76) #მოიცავს #განსაზღვრეთ DHTPIN 1 // GPIO1 (Tx) #განსაზღვრეთ DHTTYPE DHT11 #განსაზღვრეთ ONE_WIRE_BUS 3 // GPIO3 = Rx const char* "; // თქვენი WIFI SSID const char* პაროლი = "asd"; // თქვენი WIFIPASS const char* host = "api.thingspeak.com"; const char* writeAPIKey = "asd"; // თქვენი APIKEY // DHT11 პერსონალი float temperature_buiten; float temperature_buiten2; DHT dht (DHTPIN, DHTTYPE, 15); // BMP280 Adafruit_BMP280 bmp; void setup () {// I2C პერსონალი 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, პაროლი); while (WiFi.status ()! = WL_CONNECTED) {დაგვიანებით (500); }} void loop () {// DHT11 float ტენიანობა = dht.readHumidity (); მცურავი ტემპერატურა = dht.readTemperature (); თუ (ისნანი (ტენიანობა) || ისნანი (ტემპერატურა)) {დაბრუნება; } // BMP280 სიმებიანი t = სიმებიანი (bmp.readTemperature ()); სიმებიანი p = სიმებიანი (bmp.readPressure ()); // TCP CONNECTION WiFiClient კლიენტი; const int httpPort = 80; if (! client.connect (მასპინძელი, httpPort)) {დაბრუნება; } სიმებიანი url = "/განახლება? გასაღები ="; url += ჩაწერეთAPIKey; url += "& field1 ="; url += სიმებიანი (ტემპერატურა); // DHT11 CELSIUS url += "& ველი 2 ="; url += სიმებიანი (ტენიანობა); // DHT11 RELATIVE HUMIDITY url += "& field3 ="; url += სიმებიანი (bmp.readTemperature ()); // BMP280 CELSIUS url += "& field4 ="; url += სიმებიანი (bmp.readPressure ()/100); // BMP280 MILLIBAR url += "& field5 ="; url += სიმებიანი (bmp.readAltitude (1013.25)); // BMP280 მეტრი url += "& field6 ="; url += სიმებიანი ((ტემპერატურა +bmp.readTemperature ())/2); // DHT11 + BMP280 საშუალო CELSIUS url + = "\ r / n"; // მოთხოვნის გაგზავნა სერვერზე client.print (სიმებიანი ("GET") + url + "HTTP/1.1 / r / n" + "მასპინძელი:" + მასპინძელი + "\ r / n" + "კავშირი: დახურვა / r / n / r / n "); დაგვიანება (1000); }

გირჩევთ: