Kapan Anda pergi ke suatu tempat yang jauh untuk jangka waktu tertentu? Tidak ada yang menyirami bunga dalam ruangan Anda, jadi Anda harus meminta bantuan tetangga Anda, yang, pada gilirannya, mungkin lalai tentang hal ini. Akibatnya, dengan kedatangan Anda, tanaman akan terasa tidak enak. Untuk mencegah hal ini terjadi, Anda dapat membuat sistem irigasi otomatis. Untuk tujuan ini, kita membutuhkan Arduino dan sensor kelembaban tanah. Dalam artikel ini, kami akan mempertimbangkan contoh menghubungkan dan bekerja dengan sensor FC-28. Dia telah membuktikan dirinya di sisi positif, dengan bantuan ribuan proyek telah dibuat.
Tentang FC-28
Ada banyak variasi sensor untuk menentukan kelembapan bumi, tetapi yang paling populer adalah model FC-28. Ini memiliki harga rendah, karena itu banyak digunakan oleh semua amatir radio dalam proyek mereka. Sensor kelembaban tanah dengan Arduino digunakan. Dia memiliki dua probe yang menghantarkan arus listrik melalui tanah. Ternyata jika tanahnya basah, maka resistansi antara probe lebih sedikit. Dengan tanah kering, masing-masing, hambatannya lebih besar. Arduino menerima nilai-nilai ini, membandingkan dan, jika perlu, menyalakan, misalnya, pompa. Sensor dapat bekerja dengan mode digital dan analog, kami akan mempertimbangkan kedua opsi koneksi. FC-28 digunakan terutama dalam proyek-proyek kecil, misalnya, ketika secara otomatis menyiram satu tanaman tertentu, karena tidak nyaman untuk menggunakannya dalam skala besar karena ukuran dan kerugiannya, yang juga akan kami pertimbangkan.
Beli dimana
Faktanya adalah bahwa di toko-toko Rusia, sensor untuk bekerja dengan Arduino relatif mahal. Harga rata-rata untuk sensor ini di Rusia bervariasi dari 200 hingga 300 rubel, sedangkan di Aliexpress sensor yang sama hanya berharga sekitar 30-50. Markupnya sangat besar. Tentu saja, Anda masih dapat membuat sensor untuk mengukur kelembaban tanah dengan tangan Anda sendiri, tetapi lebih lanjut tentang itu di bawah ini.
Tentang koneksi
Menghubungkan sensor kelembaban ke Arduino sangat mudah. Muncul dengan komparator dan potensiometer untuk menyesuaikan sensitivitas sensor, serta untuk mengatur nilai batas saat terhubung menggunakan output digital. Sinyal keluaran, seperti yang disebutkan di atas, dapat berupa digital dan analog.
Menghubungkan dengan keluaran digital
Terhubung dengan cara yang hampir sama dengan analog:
- VCC - 5V di Arduino.
- D0 - D8 di papan Arduino.
- GND -bumi.
Seperti disebutkan di atas, komparator dan potensiometer terletak di modul sensor. Semuanya berfungsi sebagai berikut: menggunakan potensiometer, kami menetapkan nilai batas sensor kami. FC-28 membandingkan nilai dengan batas dan kemudian mengirimkan nilai ke Arduino. Katakanlah nilai sensor berada di atas ambang batas, dalam hal ini sensor kelembaban tanah pada Arduino mentransmisikan 5V, jika kurang - 0V. Semuanya sangat sederhana, tetapi mode analog memiliki nilai yang lebih akurat, jadi disarankan untuk menggunakannya.
Diagram pengkabelan terlihat seperti foto di atas. cara
Kode pemrograman untuk Arduino saat menggunakan mode digital ditunjukkan di bawah ini.
int led_pin=13; int sensor_pin=8; void setup() { pinMode(led_pin, OUTPUT); pinMode(sensor_pin, INPUT); } void loop() { if(digitalRead(sensor_pin)==HIGH){ digitalWrite(led_pin, HIGH); } else { digitalWrite(led_pin, RENDAH); penundaan (1000); } }
Apa yang dilakukan kode kita? Pertama, dua variabel diidentifikasi. Variabel pertama - led_pin - berfungsi untuk menunjuk LED, dan yang kedua - untuk menunjuk sensor kelembaban tanah. Selanjutnya kita mendeklarasikan pin LED sebagai output, dan pin sensor sebagai input. Ini diperlukan agar kita bisa mendapatkan nilai, dan jika perlu, nyalakan LED untuk melihat secara visual bahwa nilai sensor berada di atas ambang batas. Dalam loop, kami membaca nilai dari sensor. Jika nilainya lebih tinggi dari batas, nyalakan LED, jika lebih rendah, matikan. Alih-alih LEDmungkin pompa, terserah kamu.
Mode analog
Untuk menghubungkan menggunakan output analog, Anda harus bekerja dengan A0. Sensor kelembaban tanah kapasitif di Arduino mengambil nilai dari 0 hingga 1023. Hubungkan sensor sebagai berikut:
- VCC menghubungkan 5V ke Arduino.
- GND pada sensor terhubung ke GND pada papan Arduino.
- A0 terhubung ke A0 di Arduino.
Selanjutnya, tulis kode di bawah ini di Arduino.
int sensor_pin=A0; int keluaran_nilai; void setup() { Serial.begin(9600); Serial.println("Membaca sensor"); penundaan(2000); } void loop() { output_value=analogRead(sensor_pin); keluaran_nilai=peta(nilai_keluaran, 550, 0, 0, 100); Serial.print("Kelembaban"); Serial.print(nilai_keluaran); Serial.println("%"); penundaan (1000); }
Jadi apa fungsi kode ini? Langkah pertama adalah mengatur variabel. Variabel pertama diperlukan untuk menentukan kontak sensor, dan variabel lainnya akan menyimpan hasil yang akan kita terima menggunakan sensor. Selanjutnya, kita membaca datanya. Dalam loop, kami menulis nilai dari sensor ke variabel output_value yang kami buat. Kemudian persentase kelembaban tanah dihitung, setelah itu kami menampilkannya di monitor port. Diagram pengkabelan ditunjukkan di bawah ini.
DIY
Sudah dibahas di atas cara menghubungkan sensor kelembaban tanah ke Arduino. Masalah dengan sensor ini adalah bahwa mereka berumur pendek. Faktanya adalah bahwa mereka sangat rentan terhadapkorosi. Beberapa perusahaan membuat sensor dengan lapisan khusus untuk meningkatkan masa pakai, tetapi masih tidak sama. Juga dipertimbangkan adalah pilihan untuk menggunakan sensor tidak sering, tetapi hanya jika diperlukan. Misalnya, ada kode program di mana setiap detik sensor membaca nilai kelembaban tanah. Anda dapat memperpanjang masa pakai jika Anda menyalakannya, misalnya, sekali sehari. Tetapi jika ini tidak cocok untuk Anda, maka Anda dapat membuat sensor kelembaban tanah dengan tangan Anda sendiri. Arduino tidak akan merasakan perbedaannya. Pada dasarnya, sistemnya sama. Sederhananya, alih-alih dua sensor, Anda dapat menempatkan sendiri dan menggunakan bahan yang kurang rentan terhadap korosi. Idealnya tentu saja menggunakan emas, tetapi mengingat harganya, itu akan menjadi sangat mahal. Secara umum, lebih murah untuk membeli, mengingat harga FC-28.
Pro dan kontra
Artikel membahas opsi untuk menghubungkan sensor kelembaban tanah ke Arduino, dan contoh kode program juga disajikan. FC-28 adalah sensor kelembaban tanah yang sangat bagus, tetapi apa kelebihan dan kekurangan spesifik dari sensor ini?
Kelebihan:
- Harga. Sensor ini memiliki harga yang sangat rendah, sehingga setiap amatir radio dapat membeli dan membangun sistem penyiraman otomatis untuk tanamannya sendiri. Tentu saja, ketika bekerja dengan skala besar, sensor ini tidak cocok, tetapi tidak dimaksudkan untuk ini. Jika Anda membutuhkan sensor yang lebih kuat - SM2802B, maka Anda harus membayar jumlah yang cukup besar untuk itu.
- Kesederhanaan. Menguasai pekerjaan dengan sensor kelembaban tanah di Arduino ini bisasetiap. Hanya beberapa kabel, beberapa baris kode - dan hanya itu. Kontrol kelembaban tanah dilakukan.
Kekurangan: