Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

SmartWay

Komponen dan persediaan

Kabel jumper (generik)
Secara keseluruhan
× 1
NPN Transistor Serbaguna
Untuk rangkaian sel motor getar
× 1
Kapasitor Keramik 0.1µF
Untuk rangkaian sel motor getar
× 1
Resistor 1k ohm
Untuk rangkaian sel motor getar
× 1
Resistor 221 ohm
Untuk sirkuit LED RGB
× 1
Katoda Umum Difusi RGB
× 1
Modul GPS GY-NEO6MV2
× 1
Sel Motor Bergetar
× 1
Tempat Baterai UDOO 2AA untuk RTC
× 1
Arduino MKR Fox 1200
× 1

Alat dan mesin yang diperlukan

Besi solder (generik)

Aplikasi dan layanan online

Editor Web Arduino
Sigfox

Tentang proyek ini

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.

  • Loop pertama 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

  • anak keluar dari jalur - ("melanggar jalur")
  • anak tiba di rumah - ("di rumah")
  • anak tiba di sekolah - ("di sekolah")
  • anak terlambat - ("terlambat")

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:

  • memastikan bahwa anak mereka tiba dengan selamat ke dan dari sekolah
  • pastikan anak mereka tiba tepat waktu di lokasi ini
  • pastikan anaknya tidak menyimpang tentunya
  • Hemat Energi dan biaya rendah - Baterai tahan lama

Membangun Proyek

Langkah 1:Aparat yang Diperlukan

Untuk memulai membuat proyek, kita perlu mengumpulkan bahan-bahan kita. Untuk proyek ini, Anda memerlukan:

  • 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 Bergetar
  • 1, rubah Arduino MKR1200
  • 1, 2x kotak baterai AAA/AA
  • 2, baterai AA

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.

  • Sistem Peringatan
  • Dapatkan GPS
  • Sinkronkan RTC
  • Lokasi Proses
  • Kirim Paket
  • Lakukan Tindakan

Bagian ini dijelaskan di bawah.

  • Sistem Peringatan
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.

  • Dapatkan GPS
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.

  • Sinkronkan RTC
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.

  • Proses Lokasi
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.

  • Lakukan Tindakan
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.

  • Kirim Paket
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

  • Waktunya untuk sekolah
  • Waktu yang dibutuhkan anak untuk melakukan perjalanan
  • Waktu berakhirnya sekolah
  • Men-debug?
  • Geolokasi Sekolah (LAT, LNG);
  • Geolokasi Rumah (LAT, LNG);

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.

  • Langkah 1

Buka backend SigFox dan masuk ke akun SigFox Anda.

  • Langkah 2

klik "Jenis Perangkat" di menu tarik-turun di bagian atas halaman

  • Langkah 3:

pilih Arduino MKRfox Anda dan klik edit

  • Langkah 4:

Pilih panggilan balik dari menu di sebelah kiri dan arahkan ke tombol "baru" di sudut kanan atas.

  • Langkah 5:

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.

Kode

SmartWay
Kode Lengkap

Suku cadang dan penutup khusus

Tidak disertakan dalam Fritzing secara default arduino_mkr_fox_1200_fixed_gwlzp1tuih_uh8ucYEGxI.fzpz

Skema

overall_WZeRYkIUCF.fzz

Proses manufaktur

  1. Motor Komutator AC
  2. Prototipe Raspoulette
  3. Robot Pi Sederhana
  4. Cara Memeriksa Motor DC
  5. Apa itu Motor Linier?
  6. Pengantar Motor BLDC
  7. Apa itu Peredam Motor Gear?
  8. Apa itu Motor Servo?
  9. Apa itu Peredam Motor Servo?
  10. Pengertian Mesin Starter Motor