İçindekiler:

Bir Arduino Hava İstasyonu Daha (ESP-01 & BMP280 & DHT11 & OneWire): 4 Adım
Bir Arduino Hava İstasyonu Daha (ESP-01 & BMP280 & DHT11 & OneWire): 4 Adım

Video: Bir Arduino Hava İstasyonu Daha (ESP-01 & BMP280 & DHT11 & OneWire): 4 Adım

Video: Bir Arduino Hava İstasyonu Daha (ESP-01 & BMP280 & DHT11 & OneWire): 4 Adım
Video: Proteus Arduino Hava Durumu İstasyonu & Esp8266 Part 1 2024, Kasım
Anonim
Bir Arduino Hava İstasyonu Daha (ESP-01 & BMP280 & DHT11 & OneWire)
Bir Arduino Hava İstasyonu Daha (ESP-01 & BMP280 & DHT11 & OneWire)

Burada, bir ESP-01'in çok az piniyle OneWire kullanmanın bir yinelemesini bulabilirsiniz. Bu talimatta oluşturulan cihaz, seçtiğiniz Wifi ağına bağlanır (kimlik bilgilerine sahip olmalısınız…) Bir BMP280'den duyusal verileri toplar ve bir DHT11 ve toplanan verileri sağlanan ThingSpeak kanalına gönderir. ESP-01'inize nasıl bir çizim yükleyeceğinizi bildiğinizi varsayıyorum, bu yüzden bu ayrıntılara girmeyeceğim. Voltaj regülatörü olmadan devreye güç verilmesi gerekir. max 3.3V DC ile. Çok fazla metin eklenmedi, bu noktadan itibaren öğretici basit olmalıdır.

Adım 1: Adım 1: Malzeme Listesi

1. Adım: Malzeme Listesi
1. Adım: Malzeme Listesi
1. Adım: Malzeme Listesi
1. Adım: Malzeme Listesi
1. Adım: Malzeme Listesi
1. Adım: Malzeme Listesi
1. Adım: Malzeme Listesi
1. Adım: Malzeme Listesi

Donanım:

1 x Wifi modülü: ESP-01 (1024 KB sürümünü kullanıyorum)

1 x Basınç ve Sıcaklık sensörü: BMP280

1 x Nem ve Sıcaklık sensörü: DHT11

1 x Voltaj Regülatörü AMS1117 (doğrudan güç sağlamak için isteğe bağlı veya giriş voltajınızı sabit bir 3,3V'a kadar ayarlayabilen başka herhangi birini kullanabilirsiniz)

Adım 2: Adım 2: Kablolama

Adım 2: Kablolama
Adım 2: Kablolama

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

Adım 3: Adım 3: Kodlama

#include #include #include //CHECK #define BMP280_ADDRESS madeni (0x76) ile çalışır #include #define DHTPIN 1 //GPIO1 (Tx) #define DHTTYPE DHT11 #define ONE_WIRE_BUS 3 // GPIO3=Rx const char* ssid = "asd "; //WIFI SSID'İNİZ const char* şifre = "asd"; //WIFIPASS const char* sunucunuz = "api.thingspeak.com"; const char* writeAPIKey = "asd"; //APIKEYİNİZ //DHT11 malzeme yüzdürme sıcaklığı_buiten; yüzer sıcaklık_buiten2; DHT dht(DHTPIN, DHTTYPE, 15); //BMP280 Adafruit_BMP280 bmp; void setup() { //I2C öğeleri Wire.pins(0, 2); tel.başla(0, 2); //DHT1 dht.begin(); //BMP280 if (!bmp.begin()) { // Serial.println("BMP280 Yok"); // while (1) {} } //WiFi ağına bağlan WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { gecikme(500); } } void loop() { //DHT11 float nem = dht.readHumidity(); kayan nokta sıcaklığı = dht.readTemperature(); if (isnan(nem) || isnan(sıcaklık)) { dönüş; } //BMP280 Dize t = Dize(bmp.readTemperature()); String p = String(bmp.readPressure()); //TCP BAĞLANTISI WiFiClient istemcisi; const int httpPort = 80; if (!client.connect(host, httpPort)) { return; } Dize url = "/update?key="; url += writeAPIKey; url += "&alan1="; url += Dize(sıcaklık); //DHT11 CELSIUS url += "&field2="; url += Dize(nem); //DHT11 BAĞIL NEM 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 METRE url +="&field6="; url +=String((sıcaklık+bmp.readTemperature())/2); //DHT11 + BMP280 ORTALAMA CELSIUS url += "\r\n"; // Sunucuya istek gönder client.print(String("GET ") + url + " HTTP/1.1\r\n" + "Ana Bilgisayar: " + ana bilgisayar + "\r\n" + "Bağlantı: kapat\r \n\r\n"); gecikme(1000); }

Önerilen: