Isi kandungan:

Sistem Taman Tanpa Wayar: 7 Langkah
Sistem Taman Tanpa Wayar: 7 Langkah

Video: Sistem Taman Tanpa Wayar: 7 Langkah

Video: Sistem Taman Tanpa Wayar: 7 Langkah
Video: Pendawaian Penambahan Sub DB Untuk Rumah Kediaman | @DidikTV 2024, November
Anonim
Sistem Taman Tanpa Wayar
Sistem Taman Tanpa Wayar

Projek ini berdasarkan Arduino, dan menggunakan "modul" untuk membantu anda menyiram tanaman anda, dan mendapatkan suhu dan tanah serta hujan.

Sistem ini tanpa wayar melalui 2, 4 GHz dan menggunakan modul NRF24L01 untuk menghantar dan menerima data. Biarkan saya menerangkan sedikit mengenai bagaimana ia berfungsi, PS! Maaf jika bahasa Inggerisnya tidak 100% betul, saya berasal dari Sweden.

Saya menggunakan sistem ini untuk mengawal tanaman saya, kerana saya mempunyai tanaman yang berbeza saya perlu mencatatnya berbeza. Oleh itu, saya membina sistem log berdasarkan zon.

Sensor Tanah yang membaca kelembapan dan suhu tanah, (menggunakan bateri) memeriksa setiap jam dan menyampaikan data ke mesin asas yang mempunyai sambungan wifi. Data dimuat ke pelayan di rumah saya dan log masuk ke laman web.

Sekiranya tanah memerlukan air, ia akan mengaktifkan pam yang betul bergantung pada apa yang diperiksa oleh sensor tanah. Tetapi jika hujan tidak akan menyiram. Dan jika betul-betul panas, ia akan menyiram lebih banyak.

Katakan anda mempunyai satu tanah kentang, satu untuk tembakau dan satu lagi untuk tomato, maka anda boleh mempunyai 3 zon dengan 3 sensor yang berbeza, dan 3 pam.

Terdapat juga sensor pir yang memeriksa pergerakannya, dan jika diaktifkan di laman web, siren yang kuat akan mula menakut-nakuti haiwan atau orang yang berjalan dekat dengan tanaman saya.

Harap anda faham sedikit. Sekarang mari kita mula membuat sensor som.

Halaman GitHub saya di mana anda memuat turun semuanya:

Langkah 1: Sensor Tanah

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

Setiap sensor mempunyai nombor unik yang ditambahkan ke halaman web. Jadi apabila sensor tanah menghantar data dari sensor tanah itu akan ditambahkan ke zon yang betul. Sekiranya sensor tidak didaftarkan, tidak ada data yang akan dikirimkan.

Untuk membina ini, anda memerlukan:

  • 1x Cip Atmega328P-PU
  • Modul 1x nRF24L01
  • Kapasitor 1x 100 uf
  • Transistor 1x NPN BC547
  • Kapasitor 2x 22 pF
  • Kristal 1x 16.000 MHz
  • Sensor Soil Mouisture 1x
  • Sensor Temp 1x DS18B20
  • 1x RGB Led (Anode Biasa digunakan oleh saya)
  • Perintang 3x 270 ohm
  • Perintang 1x 4, 7 K ohm
  • Bateri (saya menggunakan bateri Li-Po 3.7v)
  • Dan jika li-po digunakan, modul pengecas untuk bateri.

Untuk memastikan sensor berjalan lama, jangan gunakan papan Arduino yang telah dibuat sebelumnya, mereka akan mengosongkan bateri dengan cepat. Sebaliknya gunakan cip Atmega328P.

Sambungkan semuanya seperti yang ditunjukkan dalam kepingan elektrik saya. (Lihat gambar atau file PDF) Sarankan adalah untuk menambahkan suis kuasa, sehingga Anda dapat memotong daya ketika mengisi.

Semasa memuat naik kod, jangan lupa untuk menentukan sensor untuk memberi mereka nombor ID yang unik, kod tersebut tersedia di halaman GitHub saya.

Untuk memastikan sensor tanah tetap hidup, saya menggunakan transistor NPN untuk menghidupkannya, hanya apabila pembacaan dimulakan. Oleh itu, mereka tidak diaktifkan sepanjang masa, Setiap sensor mempunyai nombor ID dari 45XX hingga 5000 (ini dapat diubah) jadi setiap sensor mesti mempunyai nombor unik, yang perlu anda lakukan adalah menentukan dalam kod tersebut.

Sensor akan tidur untuk menjimatkan bateri.

Langkah 2: Sensor Haiwan

Sensor Haiwan
Sensor Haiwan
Sensor Haiwan
Sensor Haiwan
Sensor Haiwan
Sensor Haiwan
Sensor Haiwan
Sensor Haiwan

Animal Sensor adalah sensor pir sederhana. Rasanya panas dari haiwan atau manusia. Sekiranya sensor mengesan pergerakan. Mereka akan menghantar ke stesen pangkalan.

Tetapi tidak akan ada penggera, untuk melakukannya, di halaman anda harus mengaktifkannya, atau jika anda telah mengatur pemasa, ia akan mengaktifkan automatik pada waktu itu.

Sekiranya pangkalan mendapat isyarat pergerakan dari sensor Haiwan, ia akan menyebarkannya ke sensor Siren dan ia (saya harap) akan menakutkan haiwan itu. Siren saya berada pada 119 db.

Sensor pir menggunakan bateri dan saya telah meletakkannya dalam bekas sensor pir lama dari penggera lama. Kabel yang keluar dari sensor haiwan hanya untuk mengisi bateri.

Untuk sensor ini, anda memerlukan:

  • Cip ATMEGA328P-PU
  • Kristal 1 x 16 000 MHz
  • Kapasitor 2 x 22 pF
  • 1 x modul sensor Pir
  • Kapasitor 1 x 100 uF
  • 1 x modul NRF24L01
  • 1 x Led (Saya tidak menggunakan LED RGB di sini)
  • Perintang 1 x 220 ohm
  • Sekiranya anda menggunakan bateri, anda memerlukannya (saya menggunakan Li-Po)
  • Modul pengecas bateri jika anda mempunyai bateri yang dicas semula.
  • Beberapa jenis suis kuasa.

Sambungkan semuanya seperti yang anda lihat pada helaian elektrik. Periksa supaya anda dapat menghidupkan sensor pir anda dari bateri anda (Beberapa memerlukan 5v untuk dijalankan).

Dapatkan kod dari GitHub saya dan tentukan sensor penyihir yang akan anda gunakan (Cth: SENS1, SENS2 dll) sehingga mereka mendapat nombor unik.

Cip ATMEGA hanya akan terbangun apabila pergerakan didaftarkan. Dosa modul sensor pir telah dibina dalam pemasa untuk kelewatan tidak ada yang ada dalam kod tersebut, jadi sesuaikan panci pada sensor pir untuk penundaan itu akan terjaga.

Itu untuk sensor haiwan, kita terus maju.

Langkah 3: Pengawal Pam Air

Pengawal Pam Air
Pengawal Pam Air
Pengawal Pam Air
Pengawal Pam Air
Pengawal Pam Air
Pengawal Pam Air
Pengawal Pam Air
Pengawal Pam Air

Pengawal pam air adalah untuk memulakan pam atau injap air untuk menyiram ladang anda. Untuk sistem ini anda tidak memerlukan dosa bateri, anda memerlukan kuasa untuk menjalankan pam anda. Saya menggunakan modul AC 230 hingga DC 5 v untuk menjalankan Arduino Nano. Juga saya perlu jenis pam, Satu yang menggunakan injap Air yang berjalan pada 12 v jadi untuk itu saya mempunyai modul AC 230 hingga DC 12v ke papan geganti.

Yang lain ialah 230 AC ke relay sehingga saya dapat menghidupkan Pam AC 230 V.

Sistemnya cukup mudah, setiap pengawal pam mempunyai nombor id yang unik, jadi katakan ladang kentang kering dan sensor diatur ke air automatik, maka pam saya yang untuk ladang kentang ditambahkan ke sensor itu, sehingga sensor tanah memberitahu sistem asas bahawa penyiraman harus dimulakan, jadi sistem dasar mengirimkan isyarat ke pam itu untuk diaktifkan.

Anda boleh menetapkan berapa lama masa berjalan di laman web (contohnya 5 minit) dosa hanya diperiksa oleh sensor setiap jam. Juga apabila pam berhenti, ia akan menyimpan masa dalam sistem sehingga sistem automatik tidak akan memulakan pam tidak lama lagi. (Juga boleh disediakan di laman web).

Anda juga boleh melayari laman web dengan melumpuhkan penyiraman pada waktu malam / siang dengan menetapkan waktu khas. Dan juga mengatur pemasa untuk setiap pam untuk mula menyiram. Dan jika hujan mereka tidak akan menyiram.

Harap kamu faham:)

Untuk projek ini, anda memerlukan:

  • 1 x Arduino Nano
  • 1 x modul NRF24L01
  • Kapasitor 1 x 100 uF
  • 1 RGB Led (anod biasa digunakan oleh saya)
  • Perintang 3 x 270 ohm
  • 1 x papan geganti

Sambungkan semuanya sebagai helaian elektrik (lihat fail atau gambar pdf) Muat turun kod dari GitHub dan jangan lupa untuk menentukan nombor sensor.

Dan sekarang anda mempunyai pengawal pam, sistem dapat mengendalikan 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 mengesan hujan. Anda tidak memerlukan lebih daripada satu. Tetapi mungkin untuk menambah lebih banyak lagi. Sensor hujan ini menggunakan bateri dan memeriksa setiap 30 minit hujan. Mereka juga mempunyai nombor unik untuk mengenal pasti mereka sendiri.

Sensor hujan menggunakan pin analog dan digital. Pin digital adalah untuk memeriksa sama ada hujan, (Digital hanya memaparkan ya atau tidak) dan anda harus menyalakan periuk pada modul sensor hujan bila perlu memberi amaran tentang "hujan" (paras air pada sensor yang menunjukkan hujan.)

Pin analog digunakan untuk memberitahu dalam peratus betapa basahnya sensor tersebut.

Sekiranya pin digital mengesan hujan, sensor akan menghantarnya ke sistem asas. Dan sistem asas tidak akan menyiram tanaman selagi "hujan". Sensor juga menghantar seberapa basah dan status bateri.

Kami hanya menghidupkan sensor hujan apabila tiba masanya untuk membaca melalui transistor yang membolehkan melalui pin digital.

Untuk sensor ini, anda memerlukan:

  • Cip ATMEGA328P-PU
  • Kristal 1x 16 000 MHz
  • Kapasitor 2x 22 pF
  • Modul sensor hujan 1x
  • Kapasitor 1x 100 uF
  • Modul 1x NRF24L01
  • 1x RGB Led (Saya menggunakan anod biasa, itu VCC dan bukannya GND)
  • Perintang 3x 270 Ohm
  • Transistor 1x NPN BC547
  • 1x Bateri (saya menggunakan Li-Po)
  • 1x modul Pengecas Li-Po (jika digunakan bateri Li-Po)

Sambungkan semuanya seperti yang anda lihat pada helaian elektrik (dalam bentuk pdf atau dalam gambar. Kemudian muat naik kod ke cip ATMEGA seperti yang anda dapati di halaman GitHub saya di bawah Sensor hujan. Jangan lupa untuk menentukan sensor untuk mendapatkan nombor id yang betul.

Dan sekarang anda akan mempunyai sensor hujan yang beroperasi setiap 30 minit. Anda boleh mengubah masa ini jika anda tidak memerlukannya kurang atau lebih.

Di fungsi counterHandler () anda boleh mengatur masa bangun untuk cip. Anda mengira seperti ini: Cip bangun setiap 8 saat dan setiap kali ia akan menambah nilai. Jadi selama 30 minit anda akan mendapat 225 kali sebelum ia harus melakukan tindakan. Jadi ada 1800 saat dalam setengah jam. Oleh itu, bahagi dengan 8 (1800/8) anda akan mendapat 225. Ini bermaksud bahawa ia tidak akan memeriksa sensor sehingga ia berfungsi 225 kali dan itu akan menjadi sekitar 30 minit. Anda juga melakukan perkara yang sama pada sensor tanah.

Langkah 5: Siren Haiwan

Siren Haiwan
Siren Haiwan
Siren Haiwan
Siren Haiwan
Siren Haiwan
Siren Haiwan
Siren Haiwan
Siren Haiwan

Siren haiwan mudah apabila sensor haiwan mengesan gerakan siren akan diaktifkan. Saya menggunakan siren sebenar sehingga saya bahkan boleh menakutkan orang dengannya. Tetapi anda juga boleh menggunakan siren yang hanya didengar oleh haiwan.

Saya menggunakan nano Arduino dalam projek ini dan mengaktifkannya dengan 12v. Siren juga 12 v jadi sebagai ganti relay saya akan menggunakan transistor 2N2222A untuk mengaktifkan siren. Sekiranya anda menggunakan geganti ketika anda mempunyai tanah yang sama, anda boleh merosakkan Arduino anda. Oleh itu, saya menggunakan transistor sebagai gantinya untuk mengaktifkan siren.

Tetapi jika siren dan Arduino anda tidak menggunakan tanah yang sama, anda boleh menggunakan geganti. Langkau transistor dan perintang 2.2K, dan gunakan papan geganti. Dan juga perubahan dalam kod Arduino apabila perubahan diaktifkan dari HIGH ke LOW dan apabila perubahan tidak aktif dari bacaan digital RENDAH ke TINGGI untuk pin 10, dosa relay menggunakan LOW untuk diaktifkan dan transistor menggunakan HIGH jadi anda perlu menukarnya.

Untuk membina ini, anda memerlukan:

  • 1x Arduino nano
  • 1x 2.2K Resistor (Langkau jika menggunakan papan geganti)
  • Transistor 1x 2N2222
  • 1x Siren
  • Perintang 3x 270 Ohm
  • 1x RGB Led (Saya menggunakan anod biasa, VCC dan bukannya GND)
  • Modul 1X NRF24L01
  • Kapasitor 1x 100 uF

Sambungkan semuanya seperti yang anda lihat pada helaian elektrik dalam PDF atau gambar. Muat naik kod ke Arduino yang anda dapati di halaman GitHub saya di bawah Siren Haiwan Jangan lupa untuk menentukan sensor untuk nombor ID yang betul.

Dan sekarang anda mempunyai siren 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 anda tidak boleh menggunakan sistem ini. Sistem utama disambungkan ke internet dengan modul ESP-01 dan kami menggunakan pin Arduino Megas Serial1 untuk menyambungkannya. RX pada Mega hingga TX pada ESP tetapi kita perlu melalui dua perintang untuk menurunkan voltan ke 3.3. Dan TX pada Mega hingga RX pada ESP.

Sediakan Modul ESP

Untuk menggunakan ESP, pertama-tama anda perlu menetapkan kadar baud ke 9600, inilah yang telah saya gunakan dalam projek ini dan saya mendapati bahawa ESP berfungsi dengan baik. Di luar kotak, ia menetapkan kadar baud 115200, anda boleh mencubanya tetapi saya tidak begitu stabil. Untuk melakukannya, anda memerlukan Arduino (Mega berfungsi dengan baik) dan anda perlu menyambungkan TX ESP (melalui perintang seperti yang anda lihat pada helaian) ke Serial TX (bukan Serial1 jika menggunakan Mega) dan RX pada ESP ke Arduino Serial RX.

Muat naik lakaran berkedip (atau lakaran apa pun yang tidak menggunakan siri) dan buka monitor bersiri dan tetapkan kadar baud ke 115200 dan NR & CR secara talian

Pada baris arahan tulis AT dan tekan enter. Anda harus mendapat jawapan yang mengatakan OK, jadi sekarang kami tahu bahawa ESP berfungsi. (Sekiranya tidak ada masalah sambungan atau modul ESP-01 yang buruk)

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

Ia akan bertindak balas dengan OK dan ini bermakna kita telah menetapkan kadar baud ke 9600. Mulakan semula ESP dengan arahan berikut: AT + RST dan tekan enter. Tukar kadar baud dalam monitor bersiri ke 9600 dan masukkan AT dan tekan enter. Sekiranya anda mendapat OK, ESP disediakan untuk 9600 dan anda boleh menggunakannya untuk projek.

Modul Kad SD

Saya mahu mudah menukar tetapan WIFI untuk sistem, sekiranya kata laluan baru diubah atau nama wifi. Oleh itu, itulah sebabnya kita memerlukan modul Kad SD. Di dalam SD Card buat fail teks dengan nama config.txt dan kami menggunakan JSON untuk membaca, jadi kami memerlukan format JSON. Jadi fail teks harus mempunyai teks berikut:

}

Tukar teks dengan huruf BIG untuk membetulkan rangkaian wifi anda.

Dosa kita menggunakan NRF24L01 yang menggunakan SPI dan SD Card Reader juga menggunakan SPI kita perlu menggunakan SDFat library sehingga kita dapat menggunakan SoftwareSPI (kita dapat menambahkan pembaca kad SD pada pin apa pun)

Sensor DHT

Sistem ini diletakkan di luar dan mempunyai sensor DHT sehingga kita dapat memeriksa kelembapan dan suhu udara. Ia digunakan untuk penyiraman tambahan pada hari-hari panas.

Untuk membina ini, anda memerlukan:

  • 1x Arduino Mega
  • Modul 1x NRF24L01
  • Modul 1x ESP-01
  • Modul Kad SD Micro 1x SPI
  • Sensor DHT-22 1x
  • 1x RGB Led (Saya menggunakan anod biasa, VCC dan bukan GND)
  • Perintang 3x 270 Ohm
  • Perintang 1x 22 K Ohm
  • Perintang 2x 10 K Ohm

Harap maklum bahawa jika anda tidak mendapat modul ESP-01, cubalah untuk menghidupkannya dari sumber kuasa 3.3v luaran.

Sambungkan semuanya seperti yang anda lihat dalam helaian elektrik dalam fail PDF atau dalam gambar.

Muat naik kod ke Arduino Mega anda, dan jangan lupa untuk memeriksa keseluruhan kod untuk komen, kerana anda perlu menetapkan host ke pelayan di beberapa tempat (ini bukan penyelesaian terbaik yang saya tahu).

Kini sistem Base anda sudah siap digunakan. Anda tidak perlu mengubah pemboleh ubah dalam kod untuk dosa kelembapan tanah, anda boleh melakukannya 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 pelayan web. Saya menggunakan pi raspberry dengan Apache, PHP, Mysql, Gettext. Sistem web adalah pelbagai bahasa sehingga anda dapat membuatnya dengan mudah dalam bahasa anda. Ia disertakan dengan bahasa Sweden dan Inggeris (bahasa Inggeris boleh menggunakan bahasa Inggeris yang salah, terjemahan saya tidak 100%.) Oleh itu, anda perlu memasang Gettext untuk pelayan anda, dan juga bahasa tempatan.

Saya menunjukkan beberapa tangkapan skrin di atas dari sistem.

Ia dilengkapi dengan sistem log masuk yang mudah dan log masuk utama adalah: admin sebagai pengguna dan air sebagai kata laluan.

Untuk menggunakannya, anda harus menyediakan tiga pekerjaan cron (anda dapati di bawah folder cronjob)

Fail timer.php yang anda perlukan untuk dijalankan setiap saat. Ini menyimpan semua automasi untuk sistem lubang. Nama fail temperatur.php digunakan untuk memberitahu sistem membaca suhu udara dan mencatatnya. Oleh itu, anda perlu menyiapkan kerja cron mengenai seberapa kerap anda akan menjalankannya. Saya memilikinya setiap 5 minit. Kemudian fail yang disebut dagstatistik.php hanya boleh dijalankan satu kali sebelum tengah malam (seperti 23:30, 11:30 PM). Ia mengambil nilai yang dilaporkan dari sensor pada siang hari dan menyimpannya untuk statistik minggu dan bulan.

Harap maklum bahawa sistem ini menyimpan suhu dalam celsius, tetapi anda boleh menukar ke Fahrenheit.

Dalam fail db.php anda menyediakan sambungan pangkalan data mysql untuk sistem.

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

Sekiranya anda mempunyai pertanyaan atau menemui bug dalam sistem, laporkan di halaman GitHub. Anda boleh menggunakan sistem web dan anda tidak dibenarkan menjualnya.

Sekiranya anda mempunyai masalah dengan bahasa tempatan untuk gettext, ingatlah bahawa jika anda menggunakan raspberry sebagai pelayan mereka sering dinamakan seperti en_US. UTF-8 jadi anda perlu membuat perubahan tersebut dalam fail i18n_setup.php dan di bawah folder lokal. Jika tidak, anda akan terjebak dengan bahasa Sweden.

Anda memuat turunnya di halaman GitHub.

Disyorkan: