Daftar Isi:
- Langkah 1: Persyaratan
- Langkah 2: Blynk
- Langkah 3: Arduino IDE
- Langkah 4: Bangun Itu
- Langkah 5: Kode
Video: Plant Monitor Menggunakan ESP32 Thing dan Blynk: 5 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:54
Gambaran
Tujuan dari proyek ini adalah untuk membuat perangkat kompak yang dapat memantau kondisi tanaman hias. Perangkat ini memungkinkan pengguna untuk memeriksa tingkat kelembaban tanah, tingkat kelembaban, suhu, dan suhu "terasa seperti" dari smartphone menggunakan Aplikasi Blynk. Selain itu, pengguna akan menerima peringatan email ketika kondisi menjadi tidak cocok untuk pabrik. Misalnya, pengguna akan menerima pengingat untuk menyirami tanaman ketika tingkat kelembaban tanah turun di bawah tingkat yang sesuai.
Langkah 1: Persyaratan
Proyek ini menggunakan hal Sparkfun ESP32, sensor DHT22, dan Sensor Kelembaban Tanah Bata Elektronik. Selain itu, jaringan wifi dan aplikasi Blynk diperlukan. Lebih disukai, penutup kedap air harus dibuat untuk menampung benda ESP32. Meskipun contoh ini menggunakan stopkontak standar untuk sumber daya, penambahan baterai isi ulang, panel surya, dan pengontrol pengisian daya akan memungkinkan perangkat diberi daya melalui energi terbarukan.
Langkah 2: Blynk
Untuk menjadi, unduh aplikasi Blynk dan buat proyek baru. Catat token autentikasi--ini akan digunakan dalam kode. Buat widget tampilan baru di aplikasi Blynk dan pilih pin virtual terkait yang ditentukan dalam kode. Atur interval penyegaran ke push. Setiap widget harus diberi pin virtualnya sendiri.
Langkah 3: Arduino IDE
Unduh Arduino IDE. Ikuti petunjuk pengunduhan untuk driver hal ESP32 dan demo untuk memastikan konektivitas wifi. Unduh pustaka Blynk dan DHT yang disertakan dalam kode. Isi token otentikasi, kata sandi wifi, nama pengguna wifi, dan email di kode terakhir. Gunakan kode demo untuk sensor kelembaban tanah untuk menemukan nilai minimum dan maksimum untuk jenis tanah. Catat dan ganti nilai-nilai ini dalam kode akhir. Ganti nilai minimum untuk suhu, kelembaban tanah, dan kelembaban untuk tanaman dalam kode akhir. Unggah kode.
Langkah 4: Bangun Itu
Pertama, hubungkan sensor kelembaban tanah ke 3.3V, ground, dan pin input 34. Perhatikan, sakelar diset ke A karena pengaturan analog untuk sensor ini akan digunakan. Selanjutnya, sambungkan sensor DHT ke 3.3V, ground, dan pin input 27. Sensor DHT22 membutuhkan resistor 10K Ohm antara VCC dan pin data out. Pastikan untuk memeriksa diagram DHT untuk memastikannya terhubung dengan benar. Konfigurasikan ESP32 di dalam selungkup kedap air dengan sensor kelembapan di dalam tanah dan sensor DHT di atas permukaan. Hubungkan ke sumber listrik dan nikmati data di lingkungan pabrik Anda.
Langkah 5: Kode
//Termasuk perpustakaan
#tentukan Serial BLYNK_PRINT
#include #include #include #include "DHT.h"
//informasi sensor DHT
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321 #define DHTPIN 27 // Pin digital terhubung ke sensor DHT DHT dht(DHTPIN, DHTTYPE); // Inisialisasi sensor DHT.
//menentukan pin input dan output
int sensor_tanah = 34; // tentukan nomor pin input analog yang terhubung ke sensor kelembaban
int output_value;//define sebagai output
int moisturelevel;//define as output
int diberitahu = 0; //tentukan notifikasi sebagai 0
int waktu tunda = 60000L; //set timer untuk menjalankan dapatkan data sekali setiap menit atau 60.000 milidetik
//set nilai minimum untuk plant
int min_kelembaban =20; int suhu_min =75; int min_kelembaban =60;
// Anda harus mendapatkan Token Auth di Aplikasi Blynk.
char auth = "Auth_Token_Di Sini";
// Kredensial WiFi Anda.
char ssid = "Wifi_Network_Here"; char pass = "Wifi_Password_Here";
Timer BlynkTimer;
// Fungsi ini mengirimkan waktu aktif Arduino setiap detik ke Pin Virtual (5).
// Dalam aplikasi, frekuensi membaca Widget harus disetel ke PUSH. Ini berarti // bahwa Anda menentukan seberapa sering mengirim data ke Aplikasi Blynk.
void Sensors () //fungsi utama untuk membaca sensor dan push to blynk
{ output_value = analogRead(soil_sensor);// Baca sinyal analog dari soil_sensor dan tentukan sebagai output_value //Petakan output_vlaue dari min, nilai maks ke 100, 0 dan batasi antara 0, 100 //Gunakan kode sampel dan monitor serial untuk menemukan min dan nilai maks untuk masing-masing sensor dan jenis tanah untuk kalibrasi yang lebih baik tingkat kelembaban = kendala (peta(nilai_output, 1000, 4095, 100, 0), 0, 100); float h = dht.readHumidity(); // Baca kelembaban float t = dht.readTemperature(); // Baca suhu sebagai Celsius (default) float f = dht.readTemperature(true); // Baca suhu sebagai Fahrenheit (isFahrenheit = true) // Hitung indeks panas dalam Fahrenheit (default) float hif = dht.computeHeatIndex(f, h); // Periksa apakah ada pembacaan yang gagal dan keluar lebih awal (untuk mencoba lagi). if (isnan(h) || isnan(t) || isnan(f)) { Serial.println(F("Gagal membaca dari sensor DHT!")); kembali; } //Ini menghubungkan vales ke pin virtual yang ditentukan dalam widget di aplikasi Blynk Blynk.virtualWrite(V5, moisturelevel);// Kirim tingkat kelembapan ke pin virtual 5 Blynk.virtualWrite(V6, f);// Kirim suhu ke virtual pin 6 Blynk.virtualWrite(V7, h);// Kirim kelembapan ke pin virtual 7 Blynk.virtualWrite(V8, hif);// Kirim indeks panas ke pin virtual 8
jika (diberitahu==0)
{ if (tingkat kelembaban <= min_moisture) // Jika tingkat kelembaban sama dengan atau di bawah nilai min { Blynk.email("Email_Here", "Plant Monitor", "Water Plant!"); // Kirim email ke water plant } delay (15000); // Email Blynk harus berjarak 15 detik. Delay 15000 milidetik if (f <= min_temperature) // Jika suhu sama dengan atau di bawah nilai min { Blynk.email("Email_Here", "Plant Monitor", "Temperature Low!"); // Kirim email bahwa suhunya rendah
}
penundaan (15000); // Email Blynk harus berjarak 15 detik. Delay 15000 milidetik if (h <= min_humidity) // Jika kelembaban sama dengan atau di bawah nilai min { Blynk.email("Emial_Here", "Plant Monitor", "Humidity Low!"); // Kirim email bahwa kelembapan rendah } notified = 1; timer.setTimeout(penundaan waktu *5, resetNotified); // mengalikan waktu tunda dengan jumlah menit yang diinginkan antara email peringatan berulang } }
void resetNotified() //fungsi dipanggil untuk mereset frekuensi email
{ diberitahu = 0; }
batalkan pengaturan()
{ Serial.begin(9600); // Debug konsol Blynk.begin(auth, ssid, pass); // terhubung ke blynk timer.setInterval(penundaan waktu, Sensor); // Atur fungsi yang akan dipanggil setiap menit atau waktu tunda yang diatur ke dht.begin(); //jalankan sensor DHT }
//Void loop seharusnya hanya berisi blynk.run dan timer
void loop() { Blynk.run(); // Jalankan blynk timer.run(); // Memulai BlynkTimer }
Direkomendasikan:
Arduino Keyboard Joystick Extender Box dan Sound Controller Thing Menggunakan Deej: 8 Langkah
Arduino Keyboard Joystick Extender Box dan Sound Controller Thing Using Deej: WhyUntuk sementara saya ingin menambahkan joystick kecil ke keyboard saya untuk mengontrol elemen antarmuka, atau tugas kecil lainnya dalam game dan simulator (MS Flight Sim, Elite: Dangerous, Star Wars: Skuadron, dll). Juga, untuk Elite: Dangerous, saya telah
Pemantauan Suhu dan Kelembaban Menggunakan NODE MCU DAN BLYNK: 5 Langkah
Pemantauan Suhu dan Kelembaban Menggunakan NODE MCU DAN BLYNK: Hi GuysDalam instruksi ini mari kita belajar bagaimana mendapatkan suhu dan kelembaban atmosfer menggunakan DHT11-Sensor Suhu dan Kelembaban menggunakan Node MCU dan aplikasi BLYNK
Peringatan Suhu dan Kelembaban Menggunakan AWS dan ESP32: 11 Langkah
Peringatan Suhu dan Kelembaban Menggunakan AWS dan ESP32: Dalam tutorial ini, kita akan mengukur data suhu dan kelembaban yang berbeda menggunakan sensor Suhu dan kelembaban. Anda juga akan mempelajari cara mengirim data ini ke AWS
PEMANTAUAN PENCEMARAN MQ7 MENGGUNAKAN THING SPEAK DAN NODEMCU: 4 Langkah
MQ7-POLLUTION MONITORING MENGGUNAKAN THING SPEAK AND NODEMCU: Polusi adalah masalah utama dunia kita saat ini.tetapi bagaimana kita dapat memantau polusi kita di dekat, sekarang sangat mudahSO LET'S START:
8 Kontrol Relay Dengan NodeMCU dan Penerima IR Menggunakan WiFi dan IR Remote dan Aplikasi Android: 5 Langkah (dengan Gambar)
8 Kontrol Relay Dengan NodeMCU dan Penerima IR Menggunakan WiFi dan IR Remote dan Aplikasi Android: Mengontrol 8 sakelar relai menggunakan nodemcu dan penerima ir melalui wifi dan ir remote dan aplikasi android.Remote ir bekerja terlepas dari koneksi wifi.INI VERSI TERBARU KLIK DI SINI