Daftar Isi:

Satu Lagi Stasiun Cuaca Arduino (ESP-01 & BMP280 & DHT11 & OneWire): 4 Langkah
Satu Lagi Stasiun Cuaca Arduino (ESP-01 & BMP280 & DHT11 & OneWire): 4 Langkah

Video: Satu Lagi Stasiun Cuaca Arduino (ESP-01 & BMP280 & DHT11 & OneWire): 4 Langkah

Video: Satu Lagi Stasiun Cuaca Arduino (ESP-01 & BMP280 & DHT11 & OneWire): 4 Langkah
Video: Arduino projects weather 🌡️ station temperature humidity 2024, November
Anonim
Satu Lagi Stasiun Cuaca Arduino (ESP-01 & BMP280 & DHT11 & OneWire)
Satu Lagi Stasiun Cuaca Arduino (ESP-01 & BMP280 & DHT11 & OneWire)

Di sini Anda dapat menemukan satu iterasi menggunakan OneWire dengan pin yang sangat sedikit dari ESP-01. Perangkat yang dibuat dalam instruksi ini terhubung ke jaringan Wifi pilihan Anda (Anda harus memiliki kredensial…)Mengumpulkan data sensorik dari BMP280 dan DHT11, dan mengirimkan data yang dikumpulkan ke saluran ThingSpeak yang disediakan. Saya berasumsi bahwa Anda tahu cara mengunggah sketsa ke ESP-01 Anda, jadi saya tidak akan membahas detailnya. Tanpa pengatur tegangan, rangkaian harus diberi daya dengan maks 3.3V DC. Tidak banyak teks yang ditambahkan, tutorial harus langsung dari titik ini.

Langkah 1: Langkah 1: BOM

Langkah 1: BOM
Langkah 1: BOM
Langkah 1: BOM
Langkah 1: BOM
Langkah 1: BOM
Langkah 1: BOM
Langkah 1: BOM
Langkah 1: BOM

Perangkat keras:

1 x Modul Wifi: ESP-01 (saya menggunakan versi 1024 KB)

1 x Sensor Tekanan dan Suhu: BMP280

1 x Sensor Kelembaban dan Suhu: DHT11

1 x Pengatur Tegangan AMS1117 (opsional untuk memberi daya langsung, atau Anda dapat menggunakan yang lain yang mampu mengatur tegangan input Anda hingga 3.3V tetap)

Langkah 2: Langkah 2: Pengkabelan

Langkah 2: Pengkabelan
Langkah 2: Pengkabelan

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

Langkah 3: Langkah 3: Kode

#include #include #include //CHECK #define BMP280_ADDRESS milik saya bekerja dengan (0x76) #include #define DHTPIN 1 //GPIO1 (Tx) #define DHTTYPE DHT11 #define ONE_WIRE_BUS 3 // GPIO3=Rx const char* ssid = "asd "; // SSID WIFI ANDA const char* kata sandi = "asd"; //konst char* WIFIPASS ANDA = "api.thingspeak.com"; const char* writeAPIKey = "asd"; //APIKEY ANDA //DHT11 barang float temperature_buiten; mengapung temperature_buiten2; DHT dht(DHTPIN, DHTTYPE, 15); //BMP280 Adafruit_BMP280 bmp; void setup() { //I2C stuff Wire.pins(0, 2); Kawat.begin(0, 2); //DHT1 dht.begin(); //BMP280 if (!bmp.begin()) { // Serial.println("Tidak ada BMP280"); // while (1) {} } //Hubungkan ke jaringan WiFi WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); } } void loop() { //DHT11 float kelembaban = dht.readHumidity(); suhu float = dht.readTemperature(); if (isnan(kelembaban) || isnan(suhu)) { kembali; } //BMP280 String t = String(bmp.readTemperature()); String p = String(bmp.readPressure()); //Koneksi TCP klien WiFiClient; const int httpPort = 80; if (!client.connect(host, httpPort)) { kembali; } String url = "/update?key="; url += tulisAPIKey; url += "&bidang1="; url += String(suhu); //DHT11 CELSIUS url += "&field2="; url += String(kelembaban); //DHT11 KELEMBABAN RELATIF url +="&field3="; url +=String(bmp.readTemperature()); //BMP280 CELSIUS url +="&field4="; url +=String(bmp.readPressure()/100); //BMP280 milibar url +="&field5="; url +=String(bmp.readAltitude(1013.25)); //url BMP280 METER +="&field6="; url +=String((suhu+bmp.readTemperature())/2); //DHT11 + BMP280 RATA-RATA CELSIUS url += "\r\n"; // Kirim permintaan ke server client.print(String("GET") + url + " HTTP/1.1\r\n" + "Host: " + host + "\r\n" + "Connection: close\r \n\r\n"); penundaan (1000); }

Direkomendasikan: