Ringkasan Proyek Smart Buoy: Rangkaian, Elektronika, Cetak 3D & Dashboard
Komponen dan Perlengkapan
Arduino Nano R3 – 1 unit
Raspberry Pi Zero Wireless – 1 unit
Tentang Proyek Ini
Ringkasan Blog Post Smart Buoy
Halo semua! Ini adalah ringkasan singkat dari proyek smart buoy kami. Kami akan membagi pembangunan teknis menjadi postingan terpisah, untuk menjelaskan: elektronika, cetak 3D, dan dashboard.
Anda Akan Membutuhkan
Untuk pembangunan smart buoy yang lengkap, Anda membutuhkan banyak hal. Kami akan memiliki rincian material spesifik yang diperlukan untuk setiap tahap pembangunan dalam tutorial yang relevan, tetapi untuk beberapa konteks, berikut adalah daftar lengkapnya:
Semua kode yang digunakan dapat ditemukan di https://gitlab.com/t3chflicks/smart-buoy.
Apa yang Dilakukan?
Sensor di papan smart buoy memungkinkannya untuk mengukur: ketinggian gelombang, periode gelombang, daya gelombang, suhu air, suhu udara, tekanan udara, tegangan, penggunaan arus, dan lokasi GPS. Dalam dunia ideal, itu juga akan mengukur arah gelombang - berdasarkan pengukuran yang dapat diambil, kami cukup dekat untuk membuatnya bekerja. Namun, ternyata cukup rumit dan ini sebenarnya masalah besar dalam komunitas penelitian aktual. Jika ada orang di luar sana yang dapat membantu kami dan menyarankan cara efektif untuk mendapatkan pengukuran arah gelombang, silakan beri tahu kami - kami ingin memahami bagaimana kami bisa membuatnya bekerja!
Semua data yang dikumpulkan buoy dikirim melalui radio ke stasiun dasar, yang merupakan Raspberry Pi. Kami membuat dashboard untuk menampilkannya menggunakan Vue JS.
Pembangunan
Casing Buoy
Buoy ini mungkin hal yang paling sulit yang telah kami cetak sejauh ini. Ada begitu banyak hal yang perlu dipertimbangkan karena itu akan berada di laut, terpapar elemen dan banyak matahari. Kami akan berbicara lebih banyak tentang itu dalam episode lain dalam seri Smart Buoy. Singkatnya: kami mencetak bola hampir rongga dalam dua bagian. Setengah atas memiliki slot untuk panel surya dan lubang untuk antena radio untuk melewati. Setengah bawah memiliki lubang untuk sensor suhu air untuk melewati dan pegangan untuk tali untuk diikat.
Setelah mencetak buoy menggunakan filamen PETG, kami menggosoknya, mencatnya dengan beberapa primer filler, dan kemudian menempatkan beberapa lapisan epoxi.
Setelah persiapan cangkang selesai, kami memasukkan semua elektronika di dalam dan kemudian melubangi sensor suhu air, antena radio, dan panel surya dengan pistol lem. Akhirnya, kami melubangi dua setengah dengan lem StixAll (lem pesawat super).
Dan kemudian kami berharap itu weterproof…
Elektronika Buoy
Gambar rangkaian lengkap untuk buoy
Buoy memiliki banyak sensor di papan dan kami membahas detailnya dalam tutorial yang relevan. Karena ini adalah ringkasan, kami akan mencoba menjaga agar informatif, tetapi singkat!
Buoy dipasok daya oleh baterai 18650, yang diisi oleh empat panel surya 5V. Hanya jam real-time yang selalu mendapatkan daya, namun. Buoy menggunakan pin output jam real-time untuk mengontrol transistor yang memungkinkan daya masuk ke sisa sistem. Ketika sistem menyala, itu memulai dengan mendapatkan pengukuran dari sensor - termasuk nilai tegangan dari modul pemantau daya. Nilai yang diberikan oleh modul pemantau daya menentukan berapa lama sistem tidur sebelum mengambil serangkaian pembacaan berikutnya. Alarm diatur untuk waktu ini, lalu sistem mematikan dirinya sendiri!
Sistem itu sendiri banyak sensor dan modul radio yang terhubung ke Arduino. Modul GY-86, RealTimeClock (RTC), Modul Pemantau Daya, dan Multiplexer I2C semua berkomunikasi dengan Arduino menggunakan I2C. Kami membutuhkan multiplexer I2C karena GY-86 dan modul RTC yang kami gunakan keduanya memiliki alamat yang sama. Modul multiplexer memungkinkan Anda berkomunikasi tanpa masalah tambahan, meskipun mungkin sedikit berlebihan.
Modul radio berkomunikasi melalui SPI. Awalnya, kami juga memiliki modul kartu SD, tetapi itu menyebabkan begitu banyak masalah karena ukuran library kartu SD sehingga kami memutuskan untuk membuangnya.
Lihat kode. Kemungkinan Anda memiliki beberapa pertanyaan - mungkin keraguan yang tertinggal juga - dan kami akan senang mendengarnya. Tutorial yang mendalam termasuk penjelasan kode, jadi semoga itu akan membuatnya sedikit lebih jelas!
Kami mencoba untuk memisahkan file kode secara logis dan menggunakan file utama untuk menyertakannya - metode yang bekerja dengan sempurna.
Elektronika Stasiun Dasar
Gambar rangkaian pi
Stasiun dasar dibuat menggunakan Raspberry Pi Zero dengan modul radio yang ditempel. Kami mendapatkan casing dari https://www.thingiverse.com/thing:1595429. Anda hebat, terima kasih banyak!
Setelah Anda memiliki kode yang berjalan di Arduino, cukup sederhana untuk mendapatkan pengukuran di Raspberry Pi dengan menjalankan kode receive.py.
Salah satu anggota tim T3ch Flicks adalah pengembang web yang baru saja mempelajari Vue JS. Mereka sangat bersemangat ketika kami memutuskan kami membutuhkan dashboard dan membuat dashboard yang cukup legit ini.
Dashboard
Untuk menunjukkan bagaimana kami membuat seluruh dasbor akan sedikit seperti Odyssea karena itu adalah proyek yang cukup panjang dan rumit. Jika ada yang ingin tahu bagaimana kami melakukannya, silakan beri tahu kami - pengembang web resmi T3ch Flicks akan lebih dari senang untuk membuat tutorial tentang ini!
Setelah Anda menempatkan file-file ini di Raspberry Pi, Anda seharusnya dapat menjalankan server dan melihat dasbor dengan data yang masuk. Untuk alasan pengembangan dan untuk melihat bagaimana dasbor akan terlihat jika disuplai oleh data yang baik dan teratur, kami menambahkan generator data palsu ke server. Jalankan jika Anda ingin melihat bagaimana tampilannya ketika Anda memiliki lebih banyak data.
Kami juga menjelaskan ini dengan beberapa detail dalam episode nanti.
Versi 2??
Masalah
Proyek ini sama sekali tidak sempurna - kami lebih suka menganggapnya sebagai prototipe/bukti konsep. Meskipun prototipe bekerja pada level dasar: itu mengapung, mengambil pengukuran dan mampu mentransmisikannya, ada banyak hal yang telah kami pelajari dan akan diubah untuk versi dua:
Masalah terbesar kami adalah tidak dapat mengubah kode untuk buoy setelah menutupnya dengan lem. Ini sebenarnya agak sedikit pengabaian dan dapat diselesaikan dengan sangat efektif dengan port USB yang ditutup dengan karet pengait. Namun, itu akan menambahkan lapisan kompleksitas yang lebih besar ke proses waterproofing cetak 3D!
Algoritma yang kami gunakan jauh dari sempurna. Metode kami untuk menentukan properti gelombang cukup kasar dan kami akhirnya menghabiskan banyak waktu membaca matematika untuk menggabungkan data sensor dari magnetometer, akselerometer, dan giroskop. Itu tidak super membantu pada akhirnya, tetapi kami menemukan video yang menarik ini. Jika ada orang di luar sana yang memahami ini dan bersedia membantu, kami pikir kami dapat membuat pengukuran ini jauh lebih akurat.
Beberapa sensor bertindak sedikit aneh. Sensor suhu air adalah yang menonjol sebagai paling mencurigakan - hampir 10 derajat keluar dari suhu sebenarnya terkadang. Alasannya mungkin karena itu hanya sensor yang buruk, atau sesuatu memanaskannya...
Peningkatan
Arduino bagus, namun seperti yang disebutkan sebelumnya kami harus membuang modul kartu SD (yang seharusnya menjadi cadangan data jika pesan radio tidak dapat dikirim) karena masalah memori. Kami dapat mengubahnya ke mikrokontroler yang lebih canggih seperti Arduino Mega atau Teensy atau hanya menggunakan Raspberry Pi zero lainnya. Namun, ini akan meningkatkan biaya dan konsumsi daya.
Modul radio yang kami gunakan memiliki jangkauan terbatas beberapa kilometer dengan garis pandang langsung https://www.youtube.com/watch?v=57pdX6b0sfw . Namun dengan (sangat) banyak Buoy di sekitar pulau kami dapat membentuk jaringan mesh seperti https://www.youtube.com/watch?v=xb7psLhKTMA . Ada begitu banyak kemungkinan untuk transmisi data jarak jauh, termasuk lora, grsm. Jika kami dapat menggunakan salah satunya, mungkin jaringan mesh di sekitar pulau akan mungkin!
Menggunakan Smart Buoy kami untuk Penelitian
Kami membangun dan meluncurkan buoy di Grenada, pulau kecil di selatan Karibia. Sementara kami berada di sana, kami bertemu dengan pemerintah Grenada, yang mengatakan bahwa smart buoy seperti yang kami buat akan membantu dalam memberikan pengukuran kuantitatif karakteristik air. Pengukuran otomatis akan mengurangi upaya manusia dan kesalahan manusia serta memberikan konteks yang berguna untuk memahami pantai yang berubah. Pemerintah juga menyarankan bahwa pengukuran angin juga akan menjadi fitur yang berguna untuk tujuan mereka. Tidak ada ide bagaimana kami akan mengatasi itu, jadi jika ada yang punya ide… Peringatan penting adalah meskipun ini waktu yang sangat menarik untuk penelitian pantai, terutama yang melibatkan teknologi, masih ada jalan panjang sebelum dapat diadopsi sepenuhnya.
Terima kasih telah membaca ringkasan blog post seri smart buoy. Jika Anda belum, silakan lihat video untuk ini di channel YouTube kami. Dalam bagian satu dari seri, kami akan menunjukkan kepada Anda bagaimana kami mengambil pengukuran gelombang dan suhu. Jika Anda menyukai karya kami dan ingin membantu kami melakukan lebih banyak, akan luar biasa jika Anda mempertimbangkan untuk menyponsori kami di Patreon. Terima kasih banyak kepada Giacomo, yang adalah sponsor Patreon pertama kami!
Lihat postingan blog selanjutnya di mana kami menunjukkan bagaimana kami membuat pengukuran gelombang dan suhu https://create.arduino.cc/projecthub/t3chflicks/smart-buoy-making-wave-and-temperature-measurements-257ca1