Membuat Sensor Kelembaban Tanaman DIY yang Terpercaya dengan Arduino UNO
Komponen dan Perlengkapan
Arduino UNO – 1 buah
Resistor 221 ohm – 3 buah
Resistor 10k ohm – 1 buah
LED RGB Diffused Common Anode – 1 buah
Baut dan Dadu – 2 set
Papan roti solderless setengah ukuran – 1 buah
Kabel jumper pria/pria – 8 buah
Aplikasi dan Layanan Online
Arduino IDE
Tentang Proyek Ini
Sensor Kelembaban Tanaman DIY
Lihat proyek ini di situs web saya!
Proyek ini akan menghitung kandungan air tanah di sekitar tanaman dengan mengukur konstanta dielektrik (kemampuan tanah untuk mentransmisikan listrik) dan akan memperingatkan Anda dengan LED merah ketika tanaman membutuhkan lebih banyak air atau LED biru ketika terlalu banyak.
Anda perlu mengumpulkan hal-hal berikut untuk membangun proyek ini:
Arduino UNO atau setara (x1): https://amzn.to/2DLjxR2
Resistor 10kΩ (x1) - coklat hitam oranye: https://amzn.to/2S2sV5R
LED RGB (x1) atau 3 LED berwarna berbeda: https://amzn.to/2Fzbusx
Kabel Jumper Panjang (x2): https://amzn.to/2Q7kiKc
Kabel Jumper (x6): https://amzn.to/2Q7kiKc
Papan roti (x1): https://amzn.to/2RYqiSK
Baut berukuran apa pun (x2): https://amzn.to/2qWLYTF
Dadu diameter yang sama dengan baut di atas (x2): https://amzn.to/2qWLYTF
Sebagai Amazon Associate saya menerima komisi dari pembelian yang memenuhi syarat.
Langkah 1: Membuat Tangga Sensor
Anda perlu mengulangi langkah ini dua kali (sekali untuk setiap tangga):
Mulai menegatkan dadu di sekitar baut
Geser ujung kabel jumper panjang di antara dadu dan kepala baut.
Terus menegatkan dadu sampai Anda tidak dapat menarik keluar kabel jumper
Langkah 2: Membuat Rangkaian
Ikuti skema atau gambar papan roti - mana saja yang lebih cocok untuk Anda. Kawat yang diberi label "out" adalah dua tangga yang baru saja Anda buat.
Langkah 3: Mengunggah Kode
Salin dan tempel kode ini ke dalam Arduino IDE:
int moistPin = 0; int moistVal = 0; int tooDry = 150; //set low parameter for plant int tooWet = 400; //set high parameter for plant void setup() { Serial.begin(9600); } void loop() { moistVal = analogRead(moistPin); Serial.println(moistVal); int percent = 2.718282 * 2.718282 * (.008985 * moistVal + 0.207762); //calculate percent for probes about 1 - 1.5 inches apart Serial.print(percent); Serial.println(" % Moisture "); if (moistVal <= tooDry) { digitalWrite(4, HIGH); //Red LED digitalWrite(3, LOW); digitalWrite(2, LOW); } else if (moistVal >= tooWet) { digitalWrite(4, LOW); digitalWrite(3, HIGH); //Blue LED digitalWrite(2, LOW); } else { digitalWrite(4, LOW); digitalWrite(3, LOW); digitalWrite(2, HIGH); //Green LED } delay(250); }
Langkah 4: Tempatkan Tangga Sensor
Masukkan tangga yang Anda buat sekitar 1" hingga 1.5" terpisah dalam tanah dekat dengan tanaman yang ingin Anda pantau.
Beri tanaman air yang cukup dan buka serial monitor
Ini seharusnya memberi Anda pembacaan sekitar 25 - 30% jika Anda memberi jumlah air yang tepat
Jika tidak, coba pindahkan tangga untuk mendapatkannya yang tepat (atau Anda baru saja menambahkan terlalu banyak air)
Catatan Lebih Lanjut:
Jika ini akan diletakkan di luar Anda akan ingin menempatkan rangkaian Anda di dalam wadah Tupperware atau wadah tahan air lainnya untuk melindunginya dari elemen. Kemudian lubangi beberapa lubang untuk kawat sensor keluar dan tambahkan kotak baterai untuk memberinya daya. Milik saya tidak akan diletakkan di luar dan akan baik-baik saja tanpa wadah.
Kode
Cuplikan kode #1
Cuplikan kode #1Plain text
int moistPin = 0; int moistVal = 0; int tooDry = 150; //set low parameter for plant int tooWet = 400; //set high parameter for plant void setup() { Serial.begin(9600); } void loop() { moistVal = analogRead(moistPin); Serial.println(moistVal); int percent = 2.718282 * 2.718282 * (.008985 * moistVal + 0.207762); //calculate percent for probes about 1 - 1.5 inches apart Serial.print(percent); Serial.println(" % Moisture "); if (moistVal <= tooDry) { digitalWrite(4, HIGH); //Red LED digitalWrite(3, LOW); digitalWrite(2, LOW); } else if (moistVal >= tooWet) { digitalWrite(4, LOW); digitalWrite(3, HIGH); //Blue LED digitalWrite(2, LOW); } else { digitalWrite(4, LOW); digitalWrite(3, LOW); digitalWrite(2, HIGH); //Green LED } delay(250); }