Daftar Isi:
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-13 06:57
Dalam tutorial ini, Anda akan membuat monitor udara yang memantau suhu, kelembapan, dan tekanan udara, semuanya menggunakan Blynk, esp32, DHT22, dan BMP180.
Perlengkapan
- esp32 Mikrokontroler
- DHT22
- BMP180
Langkah 1: Siapkan Blynk
Anda akan membutuhkan Blynk untuk proyek ini sehingga Anda dapat melihat hasilnya secara real time di mana saja di dunia. Anda dapat melihat cara mengatur Blynk di tutorial saya sebelumnya.
Langkah 2: Instal Perpustakaan
Perpustakaan pertama yang perlu Anda instal adalah Perpustakaan Arduino SparkFun RHT03, Anda dapat mengunduh ini dari https://learn.sparkfun.com/tutorials/rht03-dht22-humidity-and-temperature-sensor-hookup-guide?_ga= 2.53575016.1755727564.1559404402-688583549.1496066940#instalasi perpustakaan. Setelah mengunduhnya, buka Arduino IDE dan masuk ke Sketch > Include Library > Add. ZIP Library… dan pilih file.zip yang baru saja Anda unduh.
Pustaka kedua yang perlu Anda instal adalah Adafruit BMP085 Library, Anda dapat menginstal ini dengan masuk ke Sketch > Include Library > Manage Libraries… lalu cari 'BMP085'.
Langkah 3: Hubungkan Sirkuit
Sekarang Anda perlu memasang sirkuit, ini adalah sirkuit yang cukup mudah. Lihat skema rangkaian di atas.
Langkah 4: Bangun Aplikasi untuk Blynk
Anda akan memerlukan aplikasi di Blynk sehingga Anda dapat menerima data dan menunjukkannya kepada Anda di aplikasi, secara grafis. Untuk membangunnya gunakan gambar di atas.
Widget:
- 2x Pengukur
- 1x tingkat Horisontal
Pengaturan Pengukur Suhu:
- Nama: Suhu
- Warna: Oranye/Kuning
- Masukan: V5 0-100
- Label: /pin/°C
Refresh Interval: 1 detik
Pengaturan Pengukur Kelembaban:
- Nama: Kelembaban
- Warna: Biru Muda
- Masukan V6 0-100
- Label: /pin/%
- Refresh Interval: 1 detik
Pengaturan Tingkat Tekanan
- Nama: Tekanan
- Warna: Oranye/Kuning
- Masukan: V7 950-1050
- Sumbu Balik: Mati
- Refresh Interval: 1 detik
Langkah 5: Unggah Kode
Sekarang kita siap untuk kodenya. Sebelum mengupload kode, Anda perlu melakukan beberapa perubahan, cari baris char auth = "YourAuthToken"; dan ganti YourAuthToken dengan Auth Token yang Anda tulis sebelumnya dan jika Anda menggunakan wifi temukan baris char ssid = "YourNetworkName"; dan ganti YourNetworkName dengan nama jaringan Anda dan temukan baris char pass = "YourPassword"; dan ganti YourPassword dengan kata sandi Wifi Anda. Setelah melakukan ini, Anda sekarang dapat mengunggah kode.
#define BLYNK_PRINT Serial #include
#termasuk
#termasuk
#termasuk
#termasuk
#termasuk
/////////////////////
// Definisi Pin ///////////////////// const int DHT22_DATA_PIN = 27; // pin data DHT22 const int FLAME_SENSOR_DATA_PIN = 32; // Pin data Sensor Api ///////////////////////// // Pembuatan Objek RHT03 /////////// ///////////////// RHT03 rht; // Ini membuat objek RTH03, yang akan kita gunakan untuk berinteraksi dengan sensor ///////////////////////// // BMP180/BMP085 Pembuatan Objek ////////////////////////// Adafruit_BMP085 bmp; // Anda harus mendapatkan Token Auth di Aplikasi Blynk. // Masuk ke Pengaturan Proyek (ikon kacang). char auth = "YourAuthToken"; // Kredensial WiFi Anda. // Setel kata sandi ke "" untuk jaringan terbuka. char ssid = "NamaJaringanAnda"; char pass = "Kata Sandi Anda"; Timer BlynkTimer; void sendSensor() { int updateRet = rht.update(); if (updateRet == 1) { // Fungsi kelembaban(), tempC(), dan tempF() dapat dipanggil -- setelah // pembaruan berhasil() -- untuk mendapatkan kelembaban dan suhu terakhir // nilai float terbaruHumidity = rht.humidity(); float latestTempC = rht.tempC(); float latestTempF = rht.tempF(); float tekanan terbaru = bmp.readPressure()/100; Blynk.virtualWrite(V5, terbaruTempC); Blynk.virtualWrite(V6, Kelembaban terbaru); Blynk.virtualWrite(V7, Tekanan terbaru); } else { // Jika pembaruan gagal, coba tunda selama RHT_READ_INTERVAL_MS md sebelum // coba lagi. penundaan(RHT_READ_INTERVAL_MS); } } void setup() { // Debug console Serial.begin(9600); Blynk.begin(auth, ssid, pass); // Anda juga dapat menentukan server: //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80); //Blynk.begin(auth, ssid, pass, IPAddress(192, 168, 1, 100), 8080); rht.begin(DHT22_DATA_PIN); if (!bmp.begin()) { Serial.println("Could not find a valid BMP085/BMP180 sensor, check wiring!"); while (1) {} } // Siapkan fungsi yang akan dipanggil setiap detik timer.setInterval(1000L, sendSensor); } void loop() { Blynk.run(); timer.run(); }
Langkah 6: Selesai
Bagus, rangkaiannya sekarang sudah selesai dan sekarang dapat ditempatkan di lokasi yang dialiri daya dan akan mengirimkan data suhu, kelembapan, dan tekanan ke ponsel Anda!