Daftar Isi:

Sistem Taman Nirkabel: 7 Langkah
Sistem Taman Nirkabel: 7 Langkah

Video: Sistem Taman Nirkabel: 7 Langkah

Video: Sistem Taman Nirkabel: 7 Langkah
Video: Cara Setting IP Address 2024, November
Anonim
Sistem Taman Nirkabel
Sistem Taman Nirkabel

Proyek ini didasarkan pada Arduino, dan menggunakan "modul" untuk membantu Anda menyirami tanaman Anda, dan mencatat suhu, tanah, dan hujan.

Sistem ini nirkabel melalui 2, 4 GHz dan menggunakan modul NRF24L01 untuk mengirim dan menerima data. Saya akan menjelaskan sedikit tentang cara kerjanya, PS! Maaf jika bahasa Inggrisnya tidak 100% benar, saya dari Swedia.

Saya menggunakan sistem ini untuk mengontrol tanaman saya, karena saya memiliki tanaman yang berbeda, saya perlu mencatatnya secara berbeda. Jadi saya membangun sistem log berbasis zona.

Sensor tanah yang membaca kelembaban dan suhu tanah, (berjalan dengan baterai) memeriksa setiap jam dan meneruskan data ke mesin dasar yang memiliki koneksi wifi. Data diunggah ke server di rumah saya dan masuk ke halaman web.

Jika tanah membutuhkan air, itu akan mengaktifkan pompa yang benar tergantung pada apa yang telah diperiksa oleh sensor tanah. Tapi kalau hujan, airnya tidak mengalir. Dan jika benar-benar panas, airnya akan lebih banyak.

Katakanlah Anda memiliki satu lahan kentang, satu untuk tembakau dan satu untuk tomat, maka Anda dapat memiliki 3 zona dengan 3 sensor berbeda, dan 3 pompa.

Ada juga sensor pir yang memeriksa gerakan, dan jika diaktifkan di halaman web, sirene yang keras akan mulai menakuti hewan atau orang yang berjalan di dekat tanaman saya.

Harap Anda mengerti sedikit. Sekarang mari kita mulai membuat beberapa sensor.

Halaman GitHub saya tempat Anda mengunduh semuanya:

Langkah 1: Sensor Tanah

Sensor Tanah
Sensor Tanah
Sensor Tanah
Sensor Tanah
Sensor Tanah
Sensor Tanah
Sensor Tanah
Sensor Tanah

Setiap sensor memiliki nomor unik yang ditambahkan ke halaman web. Jadi ketika sensor tanah mentransmisikan data dari sensor tanah itu akan ditambahkan ke zona yang benar. Jika sensor tidak terdaftar, maka tidak ada data yang akan dikirimkan.

Untuk bangunan ini Anda perlu:

  • 1x chip Atmega328P-PU
  • 1x nRF24L01 modul
  • 1x 100 uf Kapasitor
  • 1x NPN BC547 Transistor
  • 2x 22 pF Kapasitor
  • Kristal 1x 16.000 MHz
  • 1x sensor Kelembaban Tanah
  • 1x DS18B20 Sensor suhu
  • 1x RGB Led (Umum Anoda digunakan oleh saya)
  • 3x 270 ohm resistor
  • 1x4, 7 K ohm resistor
  • Baterai (Saya menggunakan baterai Li-Po 3.7v)
  • Dan jika li-po digunakan, modul charger untuk baterai.

Untuk menjaga agar sensor berjalan lama, jangan gunakan papan Arduino yang sudah jadi, mereka akan mengosongkan baterai dengan cepat. Sebagai gantinya gunakan chip Atmega328P.

Hubungkan semuanya seperti yang ditunjukkan di lembar listrik saya. (Lihat gambar atau file PDF) Rekomendasikan juga untuk menambahkan sakelar daya, sehingga Anda dapat memotong daya saat mengisi daya.

Saat mengunggah kode, jangan lupa untuk menentukan sensor untuk memberi mereka nomor ID unik, kode tersedia di halaman GitHub saya.

Agar sensor tanah tetap hidup untuk waktu yang lama, saya menggunakan transistor NPN untuk menyalakannya, hanya ketika pembacaan dimulai. Jadi mereka tidak diaktifkan setiap saat, Setiap sensor memiliki nomor ID dari 45XX hingga 5000 (ini dapat diubah) sehingga setiap sensor harus memiliki nomor unik, yang perlu Anda lakukan hanyalah mendefinisikan dalam kode.

Sensor akan tidur untuk menghemat baterai.

Langkah 2: Sensor Hewan

Sensor Hewan
Sensor Hewan
Sensor Hewan
Sensor Hewan
Sensor Hewan
Sensor Hewan
Sensor Hewan
Sensor Hewan

Sensor Hewan adalah sensor pir sederhana. Ia merasakan panas dari hewan atau manusia. Jika sensor merasakan gerakan. Mereka akan mengirim ke stasiun pangkalan.

Tetapi tidak akan ada alarm, untuk melakukannya, pada halaman Anda harus mengaktifkannya, atau jika Anda telah mengatur timer, itu akan aktif secara otomatis saat itu.

Jika pangkalan mendapatkan sinyal gerakan dari sensor Hewan, ia akan meneruskannya ke sensor Sirene dan (saya harap) akan menakuti hewan itu. Sirene saya di 119 db.

Sensor pir berjalan dengan baterai dan saya telah menempatkannya di kotak sensor pir lama dari alarm lama. Kabel yang keluar dari animal sensor hanya untuk mengisi baterai.

Untuk sensor ini Anda perlu:

  • Chip ATMEGA328P-PU
  • Kristal 1 x 16.000 MHz
  • 2 x 22 pF kapasitor
  • 1 x modul sensor Pir
  • 1 x 100 uF kapasitor
  • 1 x modul NRF24L01
  • 1 x Led (Saya tidak menggunakan led RGB di sini)
  • 1x220 ohm resistor
  • Jika Anda akan menggunakan baterai, Anda membutuhkannya (saya menggunakan Li-Po)
  • Modul pengisi daya baterai jika Anda memiliki baterai isi ulang.
  • Beberapa jenis saklar daya.

Hubungkan semuanya seperti yang Anda lihat di lembaran listrik. Periksa sehingga Anda dapat menyalakan sensor pir Anda dari baterai Anda (Beberapa membutuhkan 5v untuk dijalankan).

Dapatkan kode dari GitHub saya dan tentukan sensor penyihir yang akan Anda gunakan (Mis: SENS1, SENS2 dll) sehingga mereka mendapatkan nomor unik.

Chip ATMEGA hanya akan bangun ketika gerakan didaftarkan. Dosa modul sensor pir telah dibangun di timer untuk penundaan tidak ada untuk itu dalam kode, jadi sesuaikan pot pada sensor pir untuk penundaan itu akan terjaga.

Itu untuk sensor hewan, kita lanjutkan.

Langkah 3: Pengontrol Pompa Air

Pengontrol Pompa Air
Pengontrol Pompa Air
Pengontrol Pompa Air
Pengontrol Pompa Air
Pengontrol Pompa Air
Pengontrol Pompa Air
Pengontrol Pompa Air
Pengontrol Pompa Air

Kontroler pompa air adalah untuk memulai pompa atau katup air untuk menyirami ladang Anda. Untuk sistem ini Anda tidak memerlukan baterai, Anda memerlukan daya untuk menjalankan pompa Anda. Saya menggunakan modul AC 230 ke DC 5 v untuk menjalankan Arduino nano. Juga saya harus jenis pompa, Salah satu yang menggunakan katup Air yang berjalan pada 12 v jadi untuk itu saya memiliki modul AC 230 ke DC 12v ke papan relay.

Yang lainnya adalah 230 AC ke relai sehingga saya dapat menyalakan Pompa 230 V AC.

Sistemnya cukup sederhana, setiap pengontrol pompa memiliki nomor id unik, jadi misalkan ladang kentang kering dan sensornya diatur ke air otomatis, maka pompa saya yang untuk ladang kentang ditambahkan ke sensor itu, jadi sensor tanah memberi tahu sistem dasar bahwa penyiraman harus dimulai, sehingga sistem dasar mengirimkan sinyal ke pompa untuk diaktifkan.

Anda dapat mengatur berapa lama itu harus berjalan di halaman web (misalnya 5 menit) karena sensor hanya memeriksa setiap jam. Juga ketika pompa berhenti akan menyimpan waktu dalam sistem sehingga sistem otomatis tidak akan segera menghidupkan pompa. (Juga mungkin untuk setup pada halaman web).

Anda juga dapat melalui halaman web menonaktifkan penyiraman pada malam/siang hari dengan mengatur waktu khusus. Dan juga mengatur timer untuk setiap pompa untuk mulai menyiram. Dan jika hujan mereka tidak akan menyiram.

Semoga kamu mengerti:)

Untuk proyek ini Anda perlu:

  • 1 x Arduino Nano
  • 1 x modul NRF24L01
  • 1 x 100 uF kapasitor
  • 1 RGB Led (anoda umum digunakan oleh saya)
  • 3 x 270 ohm resistor
  • 1 x papan estafet

Hubungkan semuanya sebagai lembaran listrik (lihat file pdf atau gambar) Unduh kode dari GitHub dan jangan lupa untuk menentukan nomor sensor.

Dan sekarang Anda memiliki pengontrol pompa, sistem dapat menangani lebih dari satu.

Langkah 4: Sensor Hujan

Sensor hujan
Sensor hujan
Sensor hujan
Sensor hujan
Sensor hujan
Sensor hujan
Sensor hujan
Sensor hujan

Sensor hujan digunakan untuk mendeteksi hujan. Anda tidak perlu lebih dari satu. Tapi itu mungkin untuk menambahkan lebih banyak. Sensor hujan ini bertenaga baterai dan memeriksa setiap 30 menit untuk hujan. Mereka juga memiliki nomor unik untuk mengidentifikasi mereka sendiri.

Sensor hujan menggunakan pin analog dan digital. Pin digital adalah untuk memeriksa apakah hujan, (Digital hanya menampilkan ya atau tidak) dan Anda harus mengatur pot pada modul sensor hujan ketika boleh untuk memperingatkan tentang "hujan" (ketinggian air pada sensor yang menunjukkan hujan.)

Pin analog digunakan untuk menginformasikan dalam persen seberapa basah pada sensor.

Jika pin digital mendeteksi hujan, sensor akan mengirimkannya ke sistem dasar. Dan sistem dasar tidak akan menyirami tanaman selama "hujan". Sensor juga mengirimkan seberapa basah dan status baterai.

Kami hanya menyalakan sensor hujan ketika saatnya untuk membaca melalui transistor yang memungkinkan melalui pin digital.

Untuk sensor ini Anda perlu:

  • Chip ATMEGA328P-PU
  • Kristal 1x16.000 MHz
  • 2x 22 pF Kapasitor
  • 1x modul sensor hujan
  • 1x 100 uF kapasitor
  • 1x modul NRF24L01
  • 1x RGB Led (Saya menggunakan anoda umum, itu VCC bukan GND)
  • 3x 270 Ohm resistor
  • 1x transistor NPN BC547
  • 1x Baterai (Saya menggunakan Li-Po)
  • 1x modul Li-Po Charger (jika menggunakan baterai Li-Po)

Hubungkan semuanya seperti yang Anda lihat di lembar listrik (dalam pdf atau di gambar Kemudian unggah kode ke chip ATMEGA seperti yang dapat Anda temukan di halaman GitHub saya di bawah Sensor hujan Jangan lupa untuk menentukan sensor untuk mendapatkan nomor id yang tepat.

Dan sekarang Anda akan memiliki sensor hujan yang berjalan setiap 30 menit. Anda dapat mengubah waktu ini jika Anda tidak mau kurang atau lebih.

Dalam fungsi counterHandler() Anda dapat mengatur waktu bangun untuk chip. Anda menghitung seperti ini: Chip bangun setiap 8 detik dan setiap kali akan meningkatkan nilai. Jadi selama 30 menit Anda akan mendapatkan 225 kali sebelum harus melakukan tindakan. Jadi ada 1800 detik dalam setengah jam. Jadi bagi dengan 8 (1800 / 8) Anda akan mendapatkan 225. Itu berarti sensor tidak akan memeriksa sensor sampai berjalan 225 kali dan itu akan menjadi sekitar 30 menit. Anda melakukan hal yang sama pada sensor tanah juga.

Langkah 5: Sirene Hewan

sirene hewan
sirene hewan
sirene hewan
sirene hewan
sirene hewan
sirene hewan
sirene hewan
sirene hewan

Sirene hewan sederhana ketika sensor hewan mendeteksi gerakan sirene akan diaktifkan. Saya menggunakan sirene asli sehingga saya bahkan dapat menakuti orang dengan itu. Tetapi Anda juga dapat menggunakan sirene yang hanya dapat didengar oleh hewan.

Saya menggunakan nano Arduino dalam proyek ini dan menyalakannya dengan 12v. Sirene juga 12 v jadi alih-alih relay saya akan menggunakan transistor 2N2222A untuk mengaktifkan sirene. Jika Anda menggunakan relai saat Anda memiliki ground yang sama, Anda dapat merusak Arduino Anda. Jadi itu sebabnya saya menggunakan transistor sebagai gantinya untuk mengaktifkan sirene.

Tetapi jika sirene dan Arduino Anda tidak menggunakan ground yang sama, Anda dapat menggunakan relay sebagai gantinya. Lewati transistor dan resistor 2.2K, dan gunakan papan relai sebagai gantinya. Dan juga ubah kode arduino saat diaktifkan ubah dari HIGH ke LOW dan saat tidak aktif ubah dari LOW ke HIGH och pembacaan digital untuk pin 10, dosa relay menggunakan LOW untuk mengaktifkan dan transistor menggunakan HIGH sehingga Anda perlu mengalihkan ini.

Untuk bangunan ini Anda perlu:

  • 1x Arduino nano
  • 1x 2.2K Resistor (Lewati jika menggunakan papan relay)
  • 1x 2N2222 Transistor
  • 1x sirene
  • 3x 270 Ohm Resistor
  • 1x RGB Led (Saya menggunakan anoda umum, VCC bukan GND)
  • 1X modul NRF24L01
  • 1x 100 uF kapasitor

Hubungkan semuanya seperti yang Anda lihat pada lembaran listrik dalam PDF atau gambar. Unggah kode ke Arduino yang Anda temukan di halaman GitHub saya di bawah Animal SirenJangan lupa untuk menentukan sensor untuk nomor ID yang benar.

Dan sekarang Anda memiliki sirene yang berfungsi.

Langkah 6: Sistem Utama

Sistem Utama
Sistem Utama
Sistem Utama
Sistem Utama
Sistem Utama
Sistem Utama

Sistem utama adalah yang paling penting dari semua modul. Tanpa itu Anda tidak dapat menggunakan sistem ini. Sistem utama terhubung ke internet dengan modul ESP-01 dan kami menggunakan pin Arduino Megas Serial1 untuk menghubungkannya. RX pada Mega ke TX pada ESP tetapi kita harus melalui dua resistor untuk menurunkan volt ke 3,3. Dan TX di Mega ke RX di ESP.

Siapkan Modul ESP

Untuk menggunakan ESP, pertama-tama Anda harus mengatur baud rate ke 9600, itulah yang saya gunakan dalam proyek ini dan saya telah menemukan bahwa ESP berfungsi paling baik. Di luar kotak itu diatur ke 115200 baud rate, Anda dapat mencobanya tetapi milik saya tidak begitu stabil. Untuk melakukannya, Anda memerlukan Arduino (Mega berfungsi dengan baik) dan Anda perlu menghubungkan TX ESP (melalui resistor seperti yang Anda lihat di lembar) ke Serial TX (bukan Serial1 jika menggunakan Mega) dan RX pada ESP ke Arduino Serial RX.

Unggah sketsa kedip (atau sketsa apa pun yang tidak menggunakan serial) dan buka monitor serial dan setel baud rate ke 115200 dan NR & CR on line

Di baris perintah tulis AT dan tekan enter. Anda harus mendapatkan respons yang mengatakan OK, jadi sekarang kita tahu bahwa ESP berfungsi. (Jika tidak ada masalah koneksi atau modul ESP-01 yang buruk)

Sekarang di baris perintah tulis AT+UART_DEF=9600, 8, 1, 0, 0 dan tekan enter.

Ini akan merespon dengan OK dan ini berarti kita telah mengatur baud rate menjadi 9600. Restart ESP dengan perintah berikut: AT+RST dan tekan enter. Ubah baud rate di monitor serial ke 9600 dan masukkan AT dan tekan enter. Jika Anda mendapatkan kembali OK, ESP diatur untuk 9600 dan Anda dapat menggunakannya untuk proyek tersebut.

Modul Kartu SD

Saya ingin mudah untuk mengubah pengaturan WIFI untuk sistem, jika kata sandi baru diubah atau nama wifi. Jadi itulah mengapa kita membutuhkan modul SD Card. Di dalam SD Card buat file teks dengan nama config.txt dan kita menggunakan JSON untuk membacanya, jadi kita membutuhkan format JSON. Jadi file teks harus memiliki teks berikut:

{ "ssid": "WIFISID ANDA", "losen": "WIFIPASSWORD ANDA"

}

Ubah teks dengan huruf BESAR untuk mengoreksi jaringan wifi Anda.

Dosa kita menggunakan NRF24L01 yang menggunakan SPI dan Pembaca Kartu SD juga menggunakan SPI kita perlu menggunakan perpustakaan SDFat agar kita dapat menggunakan SoftwareSPI (kita dapat menambahkan pembaca kartu SD pada pin apa saja)

Sensor DHT

Sistem ini ditempatkan di luar dan memiliki sensor DHT sehingga kami dapat memeriksa kelembaban dan suhu udara. Ini digunakan untuk penyiraman ekstra pada hari-hari panas.

Untuk bangunan ini Anda perlu:

  • 1x Arduino Mega
  • 1x NRF24L01 Modul
  • 1x ESP-01 Modul
  • 1x Modul Kartu Micro SD SPI
  • 1x DHT-22 Sensor
  • 1x RGB Led (saya menggunakan anoda umum, VCC bukan GND)
  • 3x 270 Ohm resistor
  • 1x 22 K Ohm resistor
  • 2x10 K Ohm resistor

Harap dicatat bahwa jika Anda tidak membuat modul ESP-01 stabil, coba berikan daya dari sumber daya 3.3v eksternal.

Hubungkan semuanya seperti yang Anda lihat di lembaran listrik di file PDF atau di gambar.

Unggah kode ke Arduino Mega Anda, dan jangan lupa untuk memeriksa seluruh kode untuk komentar, karena Anda perlu mengatur host ke server di banyak tempat (itu bukan solusi terbaik yang saya tahu).

Sekarang sistem Base Anda siap digunakan. Anda tidak perlu mengubah variabel dalam kode untuk dosa kelembaban tanah, Anda dapat melakukannya langsung dari halaman web.

Langkah 7: Sistem Web

Sistem Web
Sistem Web
Sistem Web
Sistem Web
Sistem Web
Sistem Web
Sistem Web
Sistem Web

Untuk menggunakan sistem Anda juga memerlukan server web. Saya menggunakan raspberry pi dengan Apache, PHP, Mysql, Gettext. Sistem web adalah multi bahasa sehingga Anda dapat dengan mudah membuatnya dalam bahasa Anda. Itu datang dengan bahasa Swedia dan Inggris (bahasa Inggris dapat memiliki bahasa Inggris yang salah, terjemahan saya tidak 100%.) Jadi Anda harus menginstal Gettext untuk server Anda, dan juga lokal.

Saya tunjukkan beberapa tangkapan layar di atas dari sistem.

Itu datang dengan sistem login sederhana dan login utama adalah: admin sebagai pengguna dan air sebagai kata sandi.

Untuk menggunakannya, Anda harus mengatur tiga pekerjaan cron (Anda menemukannya di bawah folder cronjob)

File timer.php yang harus Anda jalankan setiap detik. Ini menampung semua otomatisasi untuk sistem lubang. Nama file temperature.php digunakan untuk memberitahu sistem agar membaca suhu udara dan mencatatnya. Jadi, Anda perlu mengatur pekerjaan cron tentang seberapa sering Anda akan menjalankannya. Saya memilikinya setiap 5 menit. Kemudian file bernama dagstatistik.php seharusnya hanya berjalan satu kali sebelum tengah malam (seperti 23:30, 11:30). Dibutuhkan nilai yang dilaporkan dari sensor pada siang hari dan menyimpannya untuk statika minggu dan bulan.

Harap dicatat bahwa sistem ini menyimpan suhu dalam celsius, tetapi Anda dapat mengubah ke Fahrenheit.

Dalam file db.php Anda mengatur koneksi database mysql untuk sistem.

Pertama, tambahkan sensor ke sistem. Dan kemudian buat zona, dan tambahkan sensor ke zona.

Jika Anda memiliki pertanyaan atau menemukan bug dalam sistem, harap laporkan di halaman GitHub. Anda dapat menggunakan sistem web dan Anda tidak diperbolehkan untuk menjualnya.

Jika Anda memiliki masalah dengan lokal untuk gettext, harap diingat bahwa jika Anda menggunakan raspberry sebagai server mereka sering diberi nama seperti en_US. UTF-8 sehingga Anda perlu membuat perubahan tersebut di file i18n_setup.php dan di bawah folder lokal. Jika tidak, Anda akan terjebak dengan bahasa Swedia.

Anda mengunduhnya di halaman GitHub.

Direkomendasikan: