Tentang proyek ini
Dalam tutorial ini, kita akan membangun detektor petir menggunakan Arduino Uno, beberapa resistor dan beberapa kabel jumper. Kebanyakan detektor petir sering kali terlalu mahal untuk penghobi normal, namun ini tidak berarti seseorang tidak dapat menikmati deteksi petir dan fisika di baliknya. Dalam tutorial ini, dengan menggunakan rangkaian sederhana yang mengejutkan, kita akan dapat mendeteksi kilat dari jarak sekitar 10-20 km, yang bisa dikatakan paling tidak mengesankan. Tujuannya adalah untuk membuat sirkuit sederhana untuk mendeteksi petir dengan Arduino dan menghasilkan hasil yang berarti.
Latar belakang
Ketika petir menyambar, sejumlah besar energi dilepaskan dalam berbagai bentuk. Yang paling jelas adalah cahaya dan suara, yang terakhir merupakan produk sampingan dari laju peningkatan suhu partikel langsung di sekitar petir, yang kemudian menyebabkan suara. Tapi, itu tidak semua. Petir memancarkan radiasi elektromagnetik dalam jumlah besar dalam rentang VLF (Frekuensi Sangat Rendah) dan LF (Frekuensi Rendah), biasanya berkisar antara 3kHz hingga 300kHz. VLF dan LF mirip dengan gelombang cahaya, gelombang WiFi Anda dan juga gelombang oven microwave Anda, tetapi dengan perbedaan beroperasi pada frekuensi yang lebih rendah. misalnya. WiFi biasanya beroperasi di sekitar 2,4GHz, yaitu 2,4 miliar osilasi per detik. VLF dan LF beroperasi pada frekuensi yang lebih rendah, dan dengan Arduino kita dapat menangkap frekuensi sekitar 7kHz. Keuntungan menggunakan jenis radiasi ini untuk deteksi petir adalah bahwa biasanya tidak ada yang mengeluarkan ledakan besar seperti yang terlihat pada petir, di sekitar frekuensi ini; dan sebagai gelombang elektromagnetik, ia bergerak dengan kecepatan cahaya, yang berarti sensor akan mendeteksi kilat saat terjadi (beberapa mikro detik setelahnya). Arduino kecil kami akan memiliki antena (semacam), sepotong kawat yang akan mengambil fluktuasi spektrum elektromagnetik khususnya di sekitar 7-9kHz. Fluktuasi ini akan menginduksi tegangan kecil +ve atau -ve pada kawat. Kita dapat memilih fluktuasi ini menggunakan pin analog Arduino.
Prasyarat
- 1x Arduino (Saya menggunakan Uno tetapi yang lain akan berfungsi selama dapat beroperasi pada 16Mhz)
- Breadboard untuk kesederhanaan
Seperti yang mungkin sudah Anda ketahui, pin pada papan Arduino memungkinkan tegangan antara 0v dan 5v, apa pun di bawah 0v dan di atas 5v tidak akan terbaca, sehingga data akan hilang. Lebih penting lagi, tegangan di bawah 0v berpotensi merusak pin. Ini akan membuat sedikit masalah bagi kita karena tegangan yang dihasilkan pada kawat berfluktuasi di bawah dan di atas 0v. Untuk mengatasi masalah ini kami mengatur tegangan pin di tengah kisaran 5v, pada 2.5v dan ini akan dicapai dengan menggunakan sedikit trik, pembagi tegangan. Dengan demikian, kami akan menyetel pin ke 2.5v yang stabil dan fluktuasi tegangan akan berasal dari 2.5v, sehingga tidak ada kerusakan atau kehilangan data.
Rangkaiannya cukup lurus ke depan, kami memiliki resistor 2x 10k Ohm secara seri dari 5v (kabel merah) ke GND (kabel hitam), ini pada dasarnya adalah pembagi tegangan. Kemudian resistor 3,3M Ohm (MegaOhm) dihubungkan antara resistor 2x 10k Ohm. Secara seri dengan resistor 3,3M Ohm pasang kabel ke pin A4 (kabel biru), ini akan memberi kita tepat 2.5v pada pin A4. Kemudian pasang kabel yang akan bertindak sebagai antena (kabel hijau) dengan panjang sekitar 6-8 inci. Ini harus dihubungkan dari satu ujung saja seperti yang ditunjukkan di atas.
Sketsa
Inilah bagian tersulit untuk dijelaskan. Seperti disebutkan di atas, frekuensi yang perlu kita ambil dari petir, adalah sekitar 7kHz dan untuk membaca gelombang semi-layak, laju sampel harus 4x lebih banyak, memberi kita 4 pembacaan per panjang gelombang. Artinya, 28.000 sampel per detik.
Pin analog Arduino hanya dapat memberi kita 9.600 sampel per detik. Dengan laju sampel itu, kami hanya dapat menangkap gelombang pada 2kHz atau sedikit lebih, yang jauh dari kata bagus. Berkat chip ATMEGA, chip ini dapat dikonfigurasi untuk mempercepat proses ADC dengan faktor tertentu, sambil mempertahankan resolusi yang baik. Ini disebut prescaler, dan dapat dikonfigurasi melalui kode. Ada sejumlah faktor pembagi prescaler tetapi kami akan menggunakan faktor 16 yang secara teori akan memberi kami laju pengambilan sampel 77kHz. Dalam praktiknya, segala bentuk perhitungan akan menurunkan laju pengambilan sampel ini sehingga saya hanya bisa mendapatkan sekitar 46kHz yang masih sangat bagus untuk proyek ini.
Jadi bergerak maju, sketsa menggunakan array 512 byte untuk menyimpan katup tegangan dari pin A4. Itu terus-menerus membaca nilai pin dan menulisnya ke lokasi berikutnya dalam array. Segera setelah petir terdeteksi, seluruh array dikirim melalui port serial. Ini dapat diplot pada plotter grafik di Arduino IDE atau mungkin dikirim ke Arduino lain atau ESP8266 untuk mempublikasikan data secara online. Mungkin lebih baik untuk memantaunya melalui Arduino IDE terlebih dahulu, jadi jika ada beberapa gangguan, mereka dapat diatasi di sana dan kemudian.
Hasil
Berikut adalah beberapa hasilnya.
Ambil kode sumber dari Github:https://github.com/klauscam/Arduino-Lightning-Detector
Silakan berkomentar di bawah jika Anda memerlukan klarifikasi lebih lanjut.
Tags:Arduino Electromagenetic EMF Lightning Sensor UNO VLF Weather
Kode
Github
https://github.com/klauscam/Arduino-Lightning-Detectorhttps://github.com/klauscam/Arduino-Lightning-Detector