Proses manufaktur
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
|
| ||||
|
Ikhtisar
Orang tua selalu mengkhawatirkan anak-anaknya. Orang tua ingin anak-anak mereka datang ke sekolah tepat waktu dan pulang tepat waktu, mengambil jalan yang telah ditentukan.
SmartWay bertujuan untuk menghilangkan kekhawatiran ini dari kehidupan sehari-hari orang tua. SmartWay akan memantau anak Anda saat ia pergi dan pulang sekolah, memastikan bahwa anak Anda selalu mengambil jalur yang tepat untuk sampai di sekolah tujuannya.
SWay akan Memantau geolokasi anak Anda menggunakan GPS dan akan segera mengirim email kepada orang tua jika anak menyimpang dari jalur yang Anda tetapkan untuknya. SmartWay juga akan mengirimkan email kepada orang tua saat anak tiba di rumah atau ke sekolah, serta menginformasikan jika anak terlambat. Dengan cara ini, orang tua dapat duduk santai dan menikmati kopi mereka karena mengetahui bahwa anak mereka tiba dengan selamat ke sekolah dan rumah.
Fungsionalitas
SmartWay akan terus memantau geolokasi anak Anda sejak bangun tidur hingga saat tiba di rumah. Perangkat ini juga dilengkapi dengan LED RGB dan motor getar untuk memperingatkan anak Anda jika dia tidak mengambil jalan yang benar ke sekolah atau terlambat, dan memberi selamat ketika dia tiba di sekolah.
Perangkat ini bekerja melalui banyak fungsi untuk memastikan anak Anda aman.
if(off track)
mendeteksi jika 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 menggetarkan motor, kemudian anak akan diberi waktu dua menit untuk kembali ke jalurnya. Jika anak tetap keluar jalur selama dua menit lagi, orang tua akan menerima email yang memperingatkan mereka bahwa anak mereka keluar jalur bersama dengan geolokasinya, email akan dikirim secara reseptif dengan interval 2 menit hingga Anak tiba rumah atau di sekolah.jika(waktu sekolah)
dan if(waktu rumah)
loop mendeteksi jika sudah waktunya untuk sekolah dan rumah, kemudian perangkat memeriksa apakah anak tiba di sekolah atau rumah, jika dia tiba tepat waktu, LED akan berubah menjadi hijau dan perangkat akan mengirim email kepada orang tua yang memberi tahu mereka bahwa mereka anak tiba di tempat tujuan bersamaan dengan waktu kedatangannya. Kalau tidak, kalau sudah waktunya sekolah dan anak tidak sekolah juga akan Perangkat hanya dapat mengirim 12 byes informasi, oleh karena itu diperlukan paket yang ringkas saat mengirim. Variabel lain akan dikonfigurasi di backend SigFox.
Ada empat paket yang dapat dikirim perangkat
Sistem Peringatan
Anak yang memakai perangkat akan diberi tahu setiap kali ia tiba di sekolah, tiba di rumah, atau terlambat tiba di tempat tujuan, atau melenceng dari jalur
Perangkat beraksi
Manfaat
Orang tua yang menggunakan perangkat ini akan mendapat manfaat dalam:
Membangun Proyek
Langkah 1:Aparat yang Diperlukan
Untuk memulai membuat proyek, kita perlu mengumpulkan bahan-bahan kita. Untuk proyek ini, Anda memerlukan:
Langkah 2:Menghubungkan sirkuit
Langkah selanjutnya adalah menghubungkan sirkuit; gambar Fritzing di bawah ini akan menggambarkan bagaimana hal ini dilakukan. Ada beberapa bagian pada pengkabelan, sehingga mereka dipecah menjadi gambar yang berbeda.
Langkah 3:Mengenali Kode
Kode terdiri dari beberapa fungsi, masing-masing fungsi menjalankan peran tertentu dalam penyusunan proyek.
Bagian ini dijelaskan di bawah.
void setOutputs(){ pinMode(R, OUTPUT); pinMode(G, OUTPUT); pinMode(B, OUTPUT); pinMode(motorPin, OUTPUT);}void vibrateMotor() // getar sel motor{ digitalWrite(motorPin, HIGH); penundaan (1000); digitalWrite(motorPin, LOW);}void ledHijau() // LED, Hijau{ analogWrite(R, 0); analogWrite(G, 255); analogWrite(B, 0);}void ledOrange() // LED, Orange{ analogWrite(R, 255); analogWrite(G, 45); analogWrite(B, 0);}void ledRed() // LED, Red{ analogWrite(R, 255); analogWrite(G, 0); analogWrite(B, 0);}void resetLED() // Matikan LED{ analogWrite(R, 0); analogWrite(G, 0); analogWrite(B, 0);}
Bagian kode ini dapat ditemukan di functions.h
mengajukan. Kode akan memberi tahu anak yang memakai perangkat pada status saat ini. Secara keseluruhan loop ini mengontrol LED RGB dan sel motor yang bergetar.
bool getGPS(int run){ while(Serial1.available()> 0) { if(gps.encode(Serial1.read())) { if(run ==1) { processData(); } else if(jalankan ==2) { synchRTC(); } if(gps.location.isValid() &&gps.time.isValid() &&gps.date.isValid()) { mengembalikan true; } else { kembali salah; } } } if(millis()> 10.000 &&gps.charsProcessed() <10) { Serial.println("Error - Modul GPS Ditanggapi dengan Error"); Serial.println("Kode Penghentian"); Serial.println("___________________________"); while(1) {}; }}
Ini adalah loop yang bertugas menerima lokasi dan waktu dari modul GPS. Ada 3 hal yang dilakukan loop ini, digunakan dalam setup loop
untuk menyinkronkan GPS, ini kemudian digunakan untuk menyinkronkan RTC onboard ke GPS' dan digunakan di loop utama untuk mendapatkan geolokasi perangkat.
void synchRTC(){ Serial.println("Menyinkronkan RTC"); Serial.println("___________________________"); Serial.println("OK - Inisialisasi RTC"); rtc.mulai(); Serial.println("OK - Waktu Sinkronisasi"); // kita harus memangkas 2 digit pertama variabel (2018 -> 18) uint16_t yearRAW =gps.date.year(); String tahunString =String(tahunRAW); yearString.remove(0,1); uint16_t tahun =yearString.toInt(); rtc.setTime(gps.time.hour(), gps.time.minute(), gps.time.second()); rtc.setDate(gps.date.day(), gps.date.month(), tahun); Serial.println("Berhasil - RTC Disinkronkan"); Serial.println("___________________________"); Serial.println(""); Serial.println(""); Serial.println("");}
Bagian kode ini menyinkronkan RTC onboard dengan waktu yang diterima dari modul GPS, pertama-tama membaca data dari modul GPS kemudian memprosesnya. Loop kemudian menyetel waktu saat ini dari RTC onboard ke waktu yang diterima dan memulai RTC.
bool processData(){ if(gps.location.isValid()) { lintang =gps.location.lat(); bujur =gps.location.lng(); lintang =53,355504; bujur =-6.258452; if(check.isOut()) { if(check.track()) { Serial.println("OUT OF BOUNDS"); warning.offTrackLoop(); } } if(check.isHomeTime() &&tibaSchool) { if(check.isHome()) { Serial.println("AT HOME"); warning.arrivedHomeLoop(); } else { Serial.println("TERLAMBAT -> RUMAH"); peringatkan.lateLoop(); } } else if(check.isSchoolTime() &&tibaHome) { Serial.println("."); if(check.isSchool()) { Serial.println("AT SCHOOL"); warning.arrivedSchoolLoop(); } else { Serial.println("TERLAMBAT -> SEKOLAH"); peringatkan.lateLoop(); } } else { Serial.println("ON WAY"); } }}
Loop ini akan memproses lokasi perangkat dan membandingkannya dengan waktu saat ini untuk melihat di mana anak seharusnya berada saat ini. Kemudian akan melakukan tindakan yang sesuai berdasarkan hasil.
struct Do{ void offTrackLoop() { if(offTrackVar) { parseData(0); } getarMotor(); ledMerah(); penundaan (1000); getarMotor(); resetLED(); offTrackVar =benar; penundaan (120000); } void lateLoop() { if(!lateVar) { parseData(1); } getarMotor(); ledOranye(); penundaan (1000); resetLED(); lateVar =benar; } void tibaHomeLoop() { lateVar =false; offTrackVar =salah; getarMotor(); ledHijau(); penundaan (1000); resetLED(); parseData(2); tibaHome =benar; tibaSekolah =salah; } void tibaSchoolLoop() { lateVar =false; offTrackVar =salah; getarMotor(); ledHijau(); penundaan (1000); resetLED(); parseData(3); tibaRumah =salah; tibaSekolah =benar; }};
Struktur ini dipanggil untuk mengambil tindakan atas respons yang diberikan oleh Lokasi Proses, itu akan memperingatkan anak untuk mengaktifkan LED RGB dan sel motor yang bergetar. Itu juga akan mengirim paket ke SigFox jika perlu.
void parseData(status int){ SigFox.beginPacket(); // memulai proses pengiriman pesan if(state ==0) // off track { SigFox.print("off track"); // kirim pesan } else if(state ==1) // late { SigFox.print("late"); // kirim pesan } else if(state ==2) // tiba di rumah { SigFox.print("di rumah"); // kirim pesan } else // tiba sekolah { SigFox.print("di sekolah"); // kirim pesan } SigFox.endPacket();}
Fungsi ini mengirimkan data ke SigFox, pengiriman paket dimulai dan kemudian nilai yang sesuai diuraikan.
Menyiapkan Variabel
Kode akan berisi beberapa variabel dengan TODO ditulis sebagai komentar setelahnya, variabel ini harus disesuaikan agar sesuai dengan klien, klien akan diminta untuk menyiapkan
Panduan di bawah ini memandu Anda dalam menyiapkan variabel.
Perpustakaan
SigFox - hak cipta (c) 2016 Arduino LLC GNU Lesser General Public License perpustakaan ini berada di domain publik
ctype - hak cipta (c) 2006 Free Software Foundation di bawah Lisensi Publik Umum GNU, perpustakaan ini berada dalam domain publik
RTCZero - hak cipta (c) 2015 Arduino LLC di bawah Lisensi Publik Umum GNU, perpustakaan ini berada di domain publik
String - hak cipta (c) 2009-10 Hernando Barragan, hak cipta (c) 2011 Paul Stoffrengen di bawah Lisensi Publik Umum Kecil GNU, perpustakaan ini berada dalam domain publik
TinyGPS++ - hak cipta (c) 2008-13 Mikal Hart di bawah Lisensi Publik Umum Kecil GNU, perpustakaan ini berada dalam domain publik
Penyiapan
Pastikan bahwa sirkuit terhubung dengan benar. Untuk detail tentang pengaturan rubah MKR Anda, klik di sini untuk tutorial Arduino. Jika Anda ingin tahu lebih banyak tentang perpustakaan Arduino SigFox, klik di sini.
Program Backend
Anda harus memiliki rubah Arduino MKR1200 terdaftar untuk memprogram backend.
Buka backend SigFox dan masuk ke akun SigFox Anda.
klik "Jenis Perangkat" di menu tarik-turun di bagian atas halaman
pilih Arduino MKRfox Anda dan klik edit
Pilih panggilan balik dari menu di sebelah kiri dan arahkan ke tombol "baru" di sudut kanan atas.
Setelah Anda mengklik baru, Anda akan disajikan dengan sejumlah opsi konfigurasi panggilan balik, klik Panggilan Balik Khusus
Selanjutnya sebuah jendela akan terbuka, Anda harus mengisi formulir yang diberikan untuk membuat panggilan balik Anda
Pada akhirnya pesan Anda akan terlihat seperti ini:
Sekarang klik ok dan Anda sudah siap.
Akhir
Hal terakhir yang perlu Anda lakukan adalah mengunggah kode di bawah ini, pastikan Anda telah menyesuaikan variabel yang ditandai dengan "TODO" sesuai keinginan Anda, tunggu hingga lampu biru pada modul GOS berkedip dan kemudian lepaskan pengontrol mikro dari komputer Anda dan menempatkan baterai di dalam kotak baterai. Anda sudah siap.
Saya merancang penutup untuk menjaga perangkat tetap aman dan agar terlihat menarik, saya menggunakan dua potong akrilik dan melelehkan ujung-ujungnya melengkung pada 90 derajat. Saya menempatkan semua sirkuit di dalam dan kotak baterai di bawahnya, lalu mengikat potongan plastik menjadi satu menggunakan dua pengikat kabel.
Pada akhirnya saya menutupi bagian atas (penutup transparan) untuk menyembunyikan semua kabel dari pandangan dan hanya membiarkan otak proyek terlihat.
Latar belakang
Saya pribadi tahu betapa stresnya menjalankan tugas sederhana mengirim anak Anda ke sekolah, semua orang khawatir tentang semua hal yang dapat terjadi pada anak mereka saat dia pergi ke sekolah.
Proyek ini ditujukan untuk semua orang yang merasa stres saat menyekolahkan anaknya. SWay akan memungkinkan Anda untuk bersantai, mengetahui bahwa anak Anda akan tiba dengan selamat ke sekolah.
Proses manufaktur
Komponen dan persediaan Arduino UNO × 1 Relai DC 5V × 1 modul penerima 433Mhz × 1 Remote pemancar 433Mhz × 1 Tentang proyek ini Ikhtisar Proyek Dalam proyek ini saya memanfaatkan kekuatan Arduino untuk membuat rangkaian untuk menyalakan gerbang ge
Komponen dan persediaan Arduino UNO × 1 Adafruit 16 Channel PWM Servo Motor Controller × 3 Motor servo mikro SG90 × 36 Sumber Daya Sakelar 5 volt 30 watt × 1 Ekstensi Kabel Motor Servo × 1 24 inci x 48 inci. Papan Pasak × 1 Stik es kr
Komponen dan persediaan SparkFun Dual H-Bridge driver motor L298 × 1 Motor DC (generik) × 4 Arduino UNO × 1 LED (generik) × 8 Resistor 221 ohm × 8 Servo (Tower Pro MG996R) × 1 Sensor Ultrasonik - HC-SR04 (Generik) × 1 A
Selamat datang di Tutorial Arduino keempat dari Seri Tutorial Arduino kami. Dalam tutorial ini kita akan mempelajari cara mengontrol Motor DC dan Servo menggunakan PWM (Pulse Width Modulation). Ini adalah Video Tutorial Langkah demi Langkah yang mudah diikuti. Selain itu, di bawah video Anda dapat