- Bahan yang Diperlukan
- Sensor hujan
- Kerja Sensor Hujan
- Rajah Litar
- Penjelasan Kod
- Mengendalikan sistem Pengesanan Hujan berasaskan Arduino
Sistem Pengesanan Hujan yang mudah dapat dibina dengan mudah dengan menghubungkan Arduino dengan Sensor Hujan. Sensor akan mengesan hujan yang turun di atasnya dan papan Arduino akan merasakannya dan dapat melakukan tindakan yang diperlukan. Sistem seperti ini dapat digunakan di berbagai bidang, seperti bidang pertanian dan kenderaan. Pengesanan hujan dapat digunakan untuk mengatur proses Pengairan secara automatik. Juga, data hujan berterusandapat membantu petani menggunakan sistem pintar ini untuk menyiram tanaman secara automatik hanya apabila diperlukan. Begitu juga, di sektor automatik pengelap cermin depan boleh dibuat sepenuhnya automatik dengan menggunakan sistem pengesanan hujan. Sistem Automasi Rumah juga dapat menggunakan pengesanan hujan untuk menutup tingkap dan menyesuaikan suhu bilik secara automatik. Dalam tutorial ini, kami akan membina sensor hujan asas menggunakan Arduino dengan buzzer. Anda kemudian boleh menggunakan persediaan ini untuk membina apa sahaja yang anda mahukan di atasnya. Juga, nota bahawa modul sensor hujan juga dirujuk sebagai sensor titisan hujan atau hujan sensor tolok atau sensor air hujan berdasarkan penggunaan, tetapi mereka semua merujuk kepada sensor yang sama digunakan dalam projek ini dan mereka semua bekerja pada prinsip yang sama.
Kami juga telah membina Penggera Hujan sederhana dan pengelap kereta automatik dengan hanya menggunakan Pemasa 555, anda mungkin ingin menyemaknya juga jika anda tidak mahu menggunakan Arduino. Oleh itu, mari kita kembali ke projek ini dan mula membina Arduino Rain Gauge kami.
Bahan yang Diperlukan
- Arduino UNO
- Sensor hujan
- Buzzer
- Papan roti
- Menyambung wayar
Sensor hujan
The Raindrops modul terdiri daripada dua papan, iaitu Lembaga Hujan dan Lembaga Kawalan.
The papan Rain modul terdiri daripada dua trek tembaga, yang direka dalam apa-apa cara bahawa di bawah keadaan kering yang mereka berikan rintangan yang tinggi kepada voltan bekalan, dan ini voltan output modul ini akan menjadi 5V. Rintangan modul ini secara beransur-ansur berkurang sehubungan dengan peningkatan kelembapan di papan. Apabila rintangan menurun, voltan keluarannya juga menurun sehubungan dengan kelembapan pada modul. The modul papan Rain terdiri daripada dua pin digunakan untuk menyambung kepada lembaga kawalan seperti yang ditunjukkan di bawah.
Modul Papan Kawalan mengawal kepekaan dan menukar output analog ke output digital. Sekiranya nilai analog berada di bawah nilai ambang papan kawalan, outputnya rendah digital, dan Jika nilai analog lebih tinggi daripada nilai ambang, outputnya tinggi digital. Untuk perbandingan dan penukaran ini, LM393 OP-Amp Comparator digunakan. Pembanding Op-Amp adalah litar menarik yang boleh digunakan untuk membandingkan dua nilai voltan yang berbeza, kami telah menggunakan litar ini dalam banyak projek seperti Smart Electronic Candle, Laser Security Alarm, Line Follower Robot dan banyak lagi.
The modul kawalan Rain yang ditunjukkan di bawah mengandungi 4 pin untuk menyambung Arduino iaitu VCC, GND, D0, A0 dan dua lagi pin untuk menyambung modul papan hujan. Ringkasnya, modul papan hujan mengesan air hujan, dan modul papan kawalan digunakan untuk mengawal kepekaan dan membandingkan dan menukar nilai analog menjadi nilai digital.
Kerja Sensor Hujan
Cara kerja modul sensor hujan mudah difahami. Pada waktu yang cerah, kerana kekeringan pada modul papan hujan, ia menawarkan daya tahan tinggi terhadap voltan bekalan. Voltan ini muncul pada pin output modul papan hujan sebagai 5V. 5V ini dibaca sebagai 1023 jika dibaca oleh pin analog Arduino. Semasa hujan, air hujan menyebabkan peningkatan kelembapan di papan hujan, yang seterusnya mengakibatkan penurunan rintangan yang ditawarkan untuk bekalan. Apabila rintangan menurun secara beransur-ansur, voltan keluaran mula menurun.
Apabila papan hujan basah sepenuhnya, dan rintangan yang ditawarkan minimum, voltan keluaran akan serendah mungkin (kira-kira 0). 0V ini dibaca sebagai nilai 0 jika dibaca oleh pin analog Arduino. Sekiranya modul papan hujan basah sebahagiannya, keluaran modul papan hujan ini berkaitan dengan rintangan yang ditawarkannya. Sekiranya rintangan yang ditawarkan oleh modul papan hujan sedemikian rupa sehingga outputnya adalah 3V, nilai analog yang dibaca akan menjadi 613. Formula untuk mencari ADC dapat diberikan oleh, ADC = (nilai voltan analog X 1023) / 5. Dengan menggunakan formula ini, anda boleh menukar voltan analog menjadi nilai bacaan analog t Arduino.
Rajah Litar
Gambarajah litar di bawah menunjukkan kepada anda sambungan litar untuk Rain Drop Sensor dengan Arduino. Reka bentuknya dilakukan dengan menggunakan proteus, modul fizikalnya serupa dengan modul yang ditunjukkan dalam rajah litar.
Modul pengukur hujan, yang ditunjukkan dalam rajah litar disambungkan ke papan kawalan. Pin VCC papan kawalan disambungkan ke bekalan 5V. Pin tanah disambungkan ke tanah. Sekiranya diperlukan, pin D0 disambungkan ke pin digital Arduino mana pun, dan pin itu mesti dinyatakan sebagai pin output dalam program. Masalah yang kita hadapi dengan pin D0 adalah kita tidak dapat memperoleh nilai voltan keluaran yang tepat. Sekiranya output melepasi voltan ambang, maka modul kawalan dapat merasakan perubahan output. Kita perlu mengoperasikan buzzer, walaupun terdapat banyak perubahan voltan keluaran dalam modul papan hujan. Kerana alasan ini, pin A0 disambungkan ke pin analog Arduino, yang memudahkan pemantauan perubahan output. Bel, yang digunakan sebagai isyarat kepada pengguna,boleh disambungkan ke mana-mana pin digital Arduino. Sekiranya buzzer memerlukan lebih daripada 5V, cuba sambungkan litar relay atau transistor dan kemudian sambungkan beban ke dalamnya.
Penjelasan Kod
The kod Arduino untuk sensor hujan ditulis menggunakan Arduino IDE. Kod lengkap untuk projek ini diberikan di hujung halaman.
#menentukan hujan A0 #menentukan buzzer 5 nilai int; int set = 10;
Mendefinisikan pin A0 sebagai curah hujan, dan pin 5 sebagai bel dan menyatakan pemboleh ubah "nilai" dan "set" sebagai bilangan bulat dan menetapkan nilai set pemboleh ubahnya menjadi 10. Nilai ini dapat diubah sesuai dengan tahap operasi yang diperlukan. Sekiranya anda mahu bel diaktifkan, walaupun terdapat sedikit hujan tetapkannya ke nilai minimum
persediaan tidak sah () {Serial.begin (9600); pinMode (buzzer, OUTPUT); pinMode (curah hujan, INPUT); }
Memulakan komunikasi bersiri, dan menetapkan buzzer. Menetapkan pin curah hujan sebagai pin output dan pin input.
gelung void () {value = analogRead (curah hujan); Serial.println (nilai); nilai = peta (nilai, 0,1023,225,0);
fungsi analogRead membaca nilai sensor hujan. Peta fungsi memetakan nilai sensor hujan dari pin output, dan memberikan nilai pada pemboleh ubah, mulai dari 0 hingga 225.
if (nilai> = set) {Serial.println ("hujan dikesan"); digitalWrite (buzzer, TINGGI);
Sekiranya nilai sensor baca lebih besar daripada nilai yang ditetapkan, maka program memasuki gelung, mencetak mesej pada monitor bersiri dan menghidupkan bel
lain {digitalWrite (buzzer, RENDAH);
Program memasuki fungsi lain hanya apabila nilainya kurang dari nilai yang ditetapkan. Fungsi ini akan mematikan bel ketika nilai set lebih tinggi daripada nilai sensor, yang memberitahu bahawa tidak ada hujan.
Mengendalikan sistem Pengesanan Hujan berasaskan Arduino
Sistem ini berfungsi sedemikian rupa sehingga, ketika ada hujan, air hujan bertindak sebagai pemicu, yang menghidupkan bel. Dalam Code Rain Sensor Arduino, kami menentukan bahawa pin 5, dan A0 adalah bel dan curah hujan. Dengan melakukan ini, kita dapat mengubah pin di bahagian fungsi yang ditentukan, dan bahagian kod yang tersisa tidak akan tersentuh. Ini akan menjadikan pengaturcara menyunting pin dengan mudah.
Dalam gelung kekosongan, perintah analogRead membaca nilai dari sensor. Pada baris seterusnya, perintah Serial.println (value), mencetak nilai pada monitor bersiri. Ini akan membantu semasa melakukan penyahpepijatan. Fungsi peta memetakan nilai masuk antara 0 -225. Format fungsi untuk peta adalah peta (nilai, nilai minimum, nilai maksimum, nilai yang akan dipetakan untuk nilai minimum, nilai yang akan dipetakan untuk nilai maksimum). Buzzer akan dihidupkan atau dimatikan, bergantung pada nilai yang ditetapkan dan output sensor. Nilai ini dibandingkan dalam fungsi if, dengan nilai yang ditetapkan. Sekiranya nilainya lebih besar daripada nilai yang ditetapkan, ia akan menghidupkan bel. Sekiranya nilainya kurang dari nilai yang ditetapkan, buzzer akan dimatikan.
Kerja yang lengkap boleh didapati dalam video yang dipautkan di bawah. Ini adalah salah satu aplikasi di antara banyak, prinsip yang sama akan dilihat pada pengelap cermin depan, automasi rumah lain, sektor pertanian, dan lain-lain. Harap anda memahami projek ini dan menikmati pembinaan sesuatu yang berguna. Sekiranya anda mempunyai pertanyaan, gunakan bahagian komen di bawah atau gunakan forum kami untuk pertanyaan teknikal yang lain.