Pengontrol GrowBox Berbasis Arduino – Panduan Firmware dan Hardware Open Source
Komponen dan Perlengkapan
Arduino Mega 2560
Shield Ethernet Arduino 2
Sensor Suhu DHT22 x2
Sensor Suhu Digital Resist Air Adafruit DS18B20 x2
Shield 4 Relay Arduino
Seeed Grove - RTC
Alat dan Mesin yang Diperlukan
Pemolot (generik)
Aplikasi dan Layanan Online
EmonCMS
Tentang Proyek Ini
Pengontrol GrowBox Arduino tersedia di GitHub. Saya akhirnya berbagi, dengan lisensi GPL3, firmware yang saya kembangkan selama bertahun-tahun untuk GrowBox saya.
Di situs web saya, saya telah berbagi cara saya membangun GrowBox saya, modifikasi yang saya buat seiring waktu dan foto pertumbuhan tanaman.
Dengan Arduino Mega 2560 Rev.3, firmware open source ini menawarkan server web kecil untuk konfigurasi, transmisi data ke instance EmonCMS dan pencatatan data ke kartu SD. File log CSV dapat diunduh dari halaman web Pengontrol GrowBox.
Pengontrol GrowBox Arduino menggunakan sensor DHT22 untuk pembacaan suhu dan kelembaban, di dalam dan di luar kotak. DS18B20 juga digunakan untuk pemantauan suhu pot sampel dan tanah.
Shield Ethernet memungkinkan konfigurasi jarak jauh, serta visualisasi data dan unduhan log. Ini membuat tampilan LCD 20x4 redundan, tetapi berguna saat Anda tidak ingin menyalakan ponsel atau tablet Anda.
Integrasi EmonCMS dengan Pengontrol GrowBox Arduino memungkinkan kami untuk menyimpan riwayat dan memantau tren, dari mana saja. Jika Anda sudah menggunakan EmonCMS untuk aplikasi monitoring energi, Anda dapat mengintegrasikannya di sana juga.
Sejak tahun lalu saya hanya menanam cabai, tetapi selama 2018 saya menanam tomat, zucchini, cabai (bukan yang pedas!), terong, semangka dan melon untuk ditanam di kebun sayur saya. Mulai lebih awal karena di tempat saya tinggal musim panas pendek dan tidak bisa mulai dari benih di lapangan. Juga, makan tomat pada Juni adalah luar biasa!
Fungsi yang Diimplementasikan pada Pengontrol GrowBox Arduino
Mari kita lihat apa yang dapat dilakukan pengontrol ini!
Kontrol Parameter Lingkungan
Kontrol Suhu GrowBox
Mungkin untuk menetapkan ambang pemanas:
Suhu Minimum: Di bawah ambang ini, pemanas akan diaktifkan
Suhu Maksimum: Di atas ambang ini, pemanas akan dinonaktifkan
Ambang Kelembaban
Mungkin untuk menetapkan ambang pemangas udara:
Kelembaban Minimum: %RH Di bawah ambang ini, pemangas udara akan diaktifkan
Kelembaban Maksimum: %RH Di atas ambang ini, pemangas udara akan dinonaktifkan
Suhu Tanah/Pasir
Suhu Tanah Minimum: Pengontrol dapat mengaktifkan pemanas jika suhu tanah di bawah ambang ini (jika suhu internal juga di bawah ambang minimum)
Suhu Tanah Maksimum: Pengontrol akan menonaktifkan pemanas juga jika suhu internal memerlukan pemanas. Ini untuk mencegah kerusakan pot dan akar
Kontrol Lampu
Jam Mulai: jam di mana pengontrol akan menyala lampu
Menit Mulai: menit di mana pengontrol akan menyala lampu
Jam Berhenti: jam di mana pengontrol akan mematikan lampu
Menit Berhenti: menit di mana pengontrol akan menyala lampu
Jika kita perlu menyala lampu pada 06:30 dan mematikan pada 22:30, kita akan menetapkan:
Jam Mulai: 6
Menit Mulai: 30
Jam Berhenti: 22
Menit Berhenti: 30
Jaringan
Bagian ini terkait parameter jaringan lokal.
Alamat IP: Alamat IP Statis pilihan Anda
Subnet Mask: Subnet Mask Anda
Gateway: Alamat IP gateway Anda
DHCP: Periksa apakah Anda memerlukan DHCP. Konfigurasi di atas akan diabaikan.
Kipas Angin
Beberapa lampu menjadi panas di dalam growbox, jadi kita dapat menetapkan program berbeda untuk "malam" dan "siang".
Kipas Angin - Lampu ON
Durasi: durasi dalam menit
Interval: interval antara aktivasi, dalam jam
Kipas Angin - Lampu OFF
Durasi: durasi dalam menit
Interval: interval antara aktivasi, dalam jam
Jam Nyata Real-Time
Atur waktu lokal Anda, untuk memungkinkan log yang akurat dan untuk memulai ulang program dalam gangguan listrik.
Frekuensi Akuisisi dan Pencatatan
Saya memilih untuk memisahkan kedua parameter ini karena pengontrol dapat bereaksi cepat (frekuensi akuisisi cepat) tetapi kita tidak membutuhkan semua data ini, jadi frekuensi pencatatan lambat. Dengan frekuensi pencatatan yang lebih cepat, kita akan memiliki file CSV yang lebih besar, lebih banyak transmisi data ke EmonCMS dan waktu unduhan yang lebih lambat.
Sample Rate: laju pemantauan, dalam detik. Pengontrol dapat bereaksi lebih cepat
Transmission and Log Rate: menit antara pembaruan CSV dan transmisi data EmonCMS
PCB untuk Pengontrol GrowBox Arduino
Saya mulai merancang "shield" untuk Arduino Mega, sehingga Anda dapat dengan mudah menghubungkan shield Ethernet, relay dan sensor. Saya menggunakan Eagle, dan sumbernya tersedia di GitHub.
Langkah Selanjutnya
Ini adalah tahun ketiga saya menanam cabai saya (dan sayuran lainnya juga), tetapi saya masih kehilangan beberapa fungsi yang akan saya integrasikan di masa depan:
PID untuk pemanas, dengan menggunakan relay statik (SSR) untuk mengontrol elemen pemanas dan meningkatkan efisiensi energi serta kontrol suhu
MQTT, untuk mengintegrasikan perangkat ini ke dalam sistem otomatisasi rumah atau platform IoT seperti ThingsBoard.io
NTP untuk mengatur jam nyata real-time dan menghindari kesalahan
Pemanasan awal: memulai pemanas sebelum mematikan lampu untuk meningkatkan stabilitas suhu
Pengairan dengan sonda pot sampel.
Semoga Anda menikmati proyek ini!
Bagikan pertumbuhan Anda!
Kode
Pengontrol GrowBox Arduino
Firmware Arduino untuk Pengontrol GrowBoxhttps://github.com/Yarosia/Arduino-GrowBox-Controller
Skematik
Shield Pengontrol GrowBox Arduino
Skematik Eagle dan pcb untuk shield (belum dipindai)https://github.com/Yarosia/Arduino-GrowBox-Controller