SmartWay: Kit Lengkap untuk Proyek Motor Getar, LED RGB, Modul GPS, dan Arduino MKR Fox 1200
Komponen dan Perlengkapan
Kabel jumper (generic) (1)
Transistor Umum NPN (1)
Kapasitor Keramik 0.1µF (1)
Resistor 1k ohm (1)
Resistor 221 ohm (1)
LED RGB Diffused Common Cathode (1)
Modul GPS GY-NEO6MV2 (1)
Sel Motor Getar (1)
Holder Baterai 2AA UDOO untuk RTC (1)
Arduino MKR Fox 1200 (1)
Alat dan Mesin yang Diperlukan
Paku las (generic) (1)
Aplikasi dan Layanan Online
Arduino Web Editor
Sigfox
Tentang Proyek Ini
Ringkasan
Orang tua selalu khawatir tentang anak mereka. Orang tua ingin anak mereka tiba di sekolah tepat waktu dan pulang ke rumah tepat waktu, mengambil jalur yang ditetapkan.
SmartWay bertujuan untuk menghapus kekhawatiran ini dari kehidupan sehari-hari orang tua. SmartWay akan memantau anak Anda saat dia pergi ke sekolah dan pulang, memastikan bahwa anak Anda selalu mengambil jalur yang tepat untuk tiba di tujuannya, sekolah.
SWay akan Memantau geolokasi anak Anda menggunakan GPS dan akan segera mengirim email ke orang tua jika anak menyimpang dari jalur yang Anda tetapkan untuknya. SmartWay juga akan mengirim email ke orang tua saat anak tiba di rumah atau sekolah, serta memberitahu mereka jika anak terlambat. Dengan cara ini, orang tua dapat duduk dan menikmati kopi mereka dengan mengetahui bahwa anak mereka tiba dengan aman di sekolah dan rumah.
Fungsi
SmartWay akan terus memantau geolokasi anak Anda dari saat dia bangun sampai tiba di rumah. Perangkat juga dilengkapi dengan LED RGB dan motor getar untuk memperingatkan anak Anda jika dia tidak mengambil jalur yang benar ke sekolah atau terlambat, dan mengucapkan selamat kepadanya saat dia tiba di sekolah.
Perangkat bekerja melalui banyak fungsi untuk memastikan anak Anda aman.
Loop pertama if(off track) mendeteksi apakah anak menyimpang dari jalur yang ditetapkan, perangkat memiliki sistem yang mendeteksi berapa kali hal ini terjadi; jika anak Anda menyimpang dari jalur pertama kali, perangkat akan memperingatkannya dengan menyalakan LED merah dan getaran motor, lalu anak akan menerima dua menit untuk kembali ke jalur. Jika anak tetap menyimpang dari jalur selama dua menit lagi, orang tua akan menerima email peringatan bahwa anak mereka menyimpang dari jalur beserta geolokasinya, email akan dikirim secara teratur setiap interval 2 menit sampai Anak tiba di rumah atau di sekolah.
Loop if(school time) dan if(home time) mendeteksi apakah saatnya untuk sekolah dan rumah, lalu perangkat memeriksa apakah anak tiba di sekolah atau rumah, jika dia tiba tepat waktu, LED akan berwarna hijau dan perangkat akan mengirim email ke orang tua memberitahu mereka bahwa anak mereka tiba di tujuan beserta waktu kedatangan. Lainnya, jika saatnya sekolah dimulai dan anak tidak di sekolah maka juga
Perangkat hanya dapat mengirim 12 byte informasi, jadi paket padat diperlukan saat mengirim. Variabel lain akan dikonfigurasi di backend SigFox.
Ada empat paket yang dapat dikirim perangkat
anak menyimpang dari jalur - (“off course”)
anak tiba di rumah - (“at home”)
anak tiba di sekolah - (“at school”)
anak terlambat - (“late”)
Sistem Peringatan
Anak yang mengenakan perangkat akan diperingatkan setiap kali dia tiba di sekolah, tiba di rumah, atau terlambat tiba di tujuan, atau menyimpang dari jalur
Perangkat dalam aksi
Manfaat
Orang tua yang menggunakan perangkat ini akan mendapatkan manfaat dalam:
memastikan bahwa anak mereka tiba dengan aman ke dan dari sekolah
memastikan bahwa anak mereka tiba tepat waktu di lokasi ini
memastikan bahwa anak mereka tidak menyimpang dari jalur
Hemat energi dan biaya rendah - Baterai tahan lama
Membangun Proyek
Langkah 1: Alat yang Diperlukan
Untuk memulai membuat proyek, kita perlu mengumpulkan bahan kita. Untuk proyek ini Anda akan membutuhkan:
kabel jumper
1, transistor NPN
1, kapasitor keramik (0.1µF)
3, resistor (220Ω)
1, resistor (1KΩ)
1, LED RGB
1, Modul GPS
1, Sel Motor Getar
1, Arduino MKR1200 fox
1, kotak baterai 2x AAA/AA
2, baterai AA
Langkah 2: Menghubungkan Rangkaian
Langkah selanjutnya adalah menghubungkan rangkaian; gambar Fritzing di bawah ini akan mengilustrasikan bagaimana ini dilakukan. Ada beberapa bagian pada penyaluran, jadi mereka dibagi ke dalam gambar yang berbeda.
Langkah 3: Memahami Kode
Kode terdiri dari beberapa fungsi, setiap fungsi menjalankan peran tertentu dalam pembentukan proyek.
Bagian kode ini ditemukan dalam file functions.h. Kode akan memberitahu anak yang mengenakan perangkat tentang keadaan saat ini. Secara keseluruhan loop-loop ini mengontrol LED RGB dan sel motor getar.
Ini adalah loop yang bertanggung jawab untuk menerima lokasi dan waktu dari modul GPS. Ada 3 hal yang dilakukan loop ini, digunakan dalam setup loop untuk menyinkronkan GPS, kemudian digunakan untuk menyinkronkan RTC papan dengan GPS dan digunakan dalam loop utama untuk mendapatkan geolokasi perangkat.
Sinkronkan RTC
void synchRTC() { Serial.println("Synching RTC"); Serial.println("________________________________________"); Serial.println(" OK - Initialising RTC"); rtc.begin(); Serial.println(" OK - Synching Time"); // we have to trim the variable's first 2 digits (2018 -> 18) uint16_t yearRAW = gps.date.year(); String yearString = String(yearRAW); yearString.remove(0,1); uint16_t year = yearString.toInt(); rtc.setTime(gps.time.hour(), gps.time.minute(), gps.time.second()); rtc.setDate(gps.date.day(), gps.date.month(), year); Serial.println(" Success - RTC Synched"); Serial.println("________________________________________"); Serial.println(""); Serial.println(""); Serial.println(""); }
Bagian kode ini menyinkronkan RTC papan dengan waktu yang diterima dari modul GPS, pertama membaca data dari modul GPS lalu memprosesnya. Loop kemudian mengatur waktu saat ini RTC papan ke waktu yang diterima dan memulai RTC.
Loop ini akan memproses lokasi perangkat dan membandingkannya dengan waktu saat ini untuk melihat di mana anak harus berada pada waktu ini. Kemudian akan melakukan tindakan yang sesuai berdasarkan hasilnya.
Struct ini dipanggil untuk mengambil tindakan atas respons yang diberikan oleh Proses Lokasi, ini akan memperingatkan anak dengan mengetuk LED RGB dan sel motor getar. Ini juga akan mengirim paket ke SigFox jika perlu.
Kirim Paket
void parseData(int state) { SigFox.beginPacket(); // begin the message sending process if(state == 0) // off track { SigFox.print("off track"); // send the message } else if(state == 1) // late { SigFox.print("late"); // send the message } else if(state == 2) // arrived home { SigFox.print("at home"); // send the message } else // arrived school { SigFox.print("at school"); // send the message } SigFox.endPacket(); }
Fungsi ini mengirim data ke SigFox, pengiriman paket dimulai dan kemudian nilai yang sesuai diurai.
Mengatur Variabel
Kode akan berisi beberapa variabel dengan TODO ditulis sebagai komentar setelahnya, variabel ini harus disesuaikan dengan klien, klien akan diminta untuk menyiapkan
Waktu untuk sekolah
Waktu yang dibutuhkan anak untuk bepergian
Waktu di mana sekolah berakhir
Debugging?
Geolokasi Sekolah (LAT, LNG);
Geolokasi Rumah (LAT, LNG);
Panduan di bawah ini memandu Anda melalui pengaturan variabel.
Pustaka
SigFox - copyright (c) 2016 Arduino LLC GNU Lesser General Public Licence this library is in the public domain
ctype - copyright (c) 2006 Free Software Foundation under the GNU General Public Licence, this library is in the public domain
RTCZero - copyright (c) 2015 Arduino LLC under the GNU Lesser General Public Licence, this library is in the public domain
String - copyright (c) 2009-10 Hernando Barragan, copyright (c) 2011 Paul Stoffrengen under the GNU Lesser General Public Licence, this library is in the public domain
TinyGPS++ - copyright (c) 2008-13 Mikal Hart under the GNU Lesser General Public Licence, this library is in the public domain
Setup
Pastikan rangkaian terhubung dengan benar. Untuk detail tentang pengaturan MKR fox Anda, klik di sini untuk tutorial Arduino. Jika Anda ingin mengetahui lebih lanjut tentang pustaka Arduino SigFox, klik di sini.
Program Backend
Anda harus memiliki Arduino MKR1200 fox terdaftar untuk memprogram backend.
Langkah 1
Buka backend SigFox dan masuk ke akun SigFox Anda.
Langkah 2
klik pada “Device Type” di menu dropdown di bagian atas halaman
Langkah 3:
pilih Arduino MKRfox Anda dan klik edit
Langkah 4:
Pilih callbacks dari menu di kiri dan navigasi ke tombol “new” di pojok kanan atas.
Langkah 5:
Setelah Anda klik new, Anda akan diberikan sejumlah opsi konfigurasi callback, klik pada Custom Callbacks
Selanjutnya jendela akan terbuka, Anda harus mengisi formulir yang diberikan untuk membuat callback Anda
Pada akhirnya pesan Anda harus terlihat seperti ini:
Sekarang klik ok dan Anda siap.
Akhir
Hal terakhir yang perlu Anda lakukan adalah unggah kode di bawah ini pastikan bahwa Anda telah menyesuaikan variabel yang ditandai dengan “TODO” sesuai keinginan Anda, tunggu hingga lampu biru pada modul GOS berkedip dan kemudian putuskan mikrokontroler dari komputer Anda dan masukkan baterai ke dalam kotak baterai. Anda siap.
Saya mendesain kotak pelindung untuk menjaga perangkat tetap aman dan untuk membuatnya terlihat menarik, saya menggunakan dua lembar akrilik dan melelehkan tepinya membungkuknya 90 derajat. Saya meletakkan semua rangkaian di dalam dan kotak baterai di bawahnya lalu mengikat lembaran plastik bersama menggunakan dua ikat kabel.
Pada akhirnya saya menutupi sebagian atas (tutup transparan) untuk menyembunyikan semua kabel dari pandangan dan hanya membiarkan otak proyek terlihat.
Latar Belakang
Saya secara pribadi tahu betapa stresnya dapat mengeksekusi tugas sederhana mengirim anak Anda ke sekolah, semua orang khawatir tentang segala hal yang dapat terjadi pada anaknya saat dia pergi ke sekolah.
Proyek ini ditujukan untuk semua orang yang merasa stres saat mereka mengirim anak mereka ke sekolah. SWay akan memungkinkan Anda untuk bersantai, dengan mengetahui bahwa anak Anda akan tiba dengan aman di sekolah.