Mundarija:
- Ta'minotlar
- 1 -qadam: kerakli IDE va kutubxonalarni o'rnating
- 2 -qadam: Akselerometrlarni tuklarga ulang
- 3 -qadam: Ko'ylakka akselerometrlarni ulang
- 4 -qadam: Arduino -da kodni ishga tushirish
- 5 -qadam: Android -da kodni ishga tushirish
- 6 -qadam: Bluetooth signal ulanishini sinab ko'rish
- 7 -qadam: Shaxsiy ma'lumotlaringizni yig'ish
- 8 -qadam: Jupyter daftarida ma'lumotlarni o'rgating
- 9 -qadam: Android ilovasini yangi model bilan o'zgartirish
Video: Postshirt: Real vaqtda kiyiladigan holatni aniqlash: 9 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:23
Postshirt - bu Adafruit Featherdan Bluetooth orqali Android ilovasiga akselerometr ma'lumotlarini uzatuvchi va tasniflaydigan real vaqtda simsiz holatni aniqlash tizimi. To'liq tizim real vaqtda aniqlay oladi, agar foydalanuvchining holati yomon bo'lsa va u egilib qolganda push -bildirishnoma yaratsa, bu aniqlash yurish paytida ham ishlaydi.
Ta'minotlar
Elektronika
1 x Android smartfoni
1 x Adafruit patlari
1 x lityum -ion polimer batareyasi - 3.7v 100mAh (simsiz ishlatish uchun ixtiyoriy)
2 x ADXL335 uch o'qli akselerometr
Materiallar
Ulanish simlari
Lenta rulosi
1 -qadam: kerakli IDE va kutubxonalarni o'rnating
Adafruit patlari
Avval Arduino IDE -ni o'rnating va keyin Adafruit nRF51 BLE kutubxonasini o'rnatish bo'yicha qadamlarni bajaring
Jupyter daftarchasi
Avval Jupyter Notebook -ni, so'ngra quyidagi kerakli kutubxonalarni o'rnating
- https://scikit-learn.org/stable/
- https://github.com/nok/sklearn-porter
Android
Android Studio -ni o'rnating
Loyiha kodi
GitHub -dan barcha loyiha kodlarini yuklab oling
2 -qadam: Akselerometrlarni tuklarga ulang
ADXL335 ma'lumotlarini o'qish uchun ulanish simini Vin, topraklama, Xout, Yout va Zout pinlariga ulang. Ikkala akselerometr uchun ham Vin simlarining boshqa uchlarini Tukdagi 3V piniga, er uchining boshqa uchlarini esa Tukdagi tuproq piniga ulang. Birinchi akselerometrning Xout, Yout va Zout simlarini Tukdagi A0, A1 va A2 pinlariga ulang. Ikkinchi akselerometrning Xout, Yout va Zout simlarini Tukdagi A3, A4 va A5 pinlariga ulang.
Akselerometrlarni har qanday usulda ulash mumkin, lekin ochiq bo'laklarning bir -biriga tegib ketishining oldini olish uchun simlarni lehimlash, ulanish nuqtalarini elektr tasmasini o'rash yoki o'rash tavsiya etiladi.
3 -qadam: Ko'ylakka akselerometrlarni ulang
Lenta yordamida akselerometrlarni ko'ylakning orqa qismiga mahkamlang. A0-2 pimlariga ulangan akselerometr gorizontal ravishda pastki orqa o'rtasiga joylashtirilishi kerak. A3-5 pimlariga ulangan akselerometr gorizontal ravishda bo'yinning orqa tomoniga joylashtirilishi kerak. Ikkala akselerometr ham shunday joylashtirilgan bo'lishi kerakki, pinlar pastki chetiga joylashsin va datchiklar ko'ylakka tekis va mahkam o'rnashtirilsin.
Eslatma: Doimiyroq kiyinish uchun datchiklarni kiyimga tikish mumkin, lekin ular sensorli joylarning samarali joylashishini ta'minlash uchun avval ularni lenta bilan yopish va sinovdan o'tkazish kerak.
4 -qadam: Arduino -da kodni ishga tushirish
Tuklar haqida ma'lumot to'plashni boshlash uchun Arduino IDE -ni ishga tushiring va loyiha kodining Arduino bo'limi ostida GestureDataSender faylini oching. Ushbu fayl ochilganda, ishlatilayotgan taxtani va portni o'rnating, so'ngra kodni Tukga yuklash uchun "Tasdiqlash" va "Yuklab olish" -ni tanlang.
5 -qadam: Android -da kodni ishga tushirish
Dasturni android -da ishga tushirish uchun avval Android Studio -ni ishga tushiring, so'ngra mavjud Android -loyihasini ochish variantini tanlang. Loyiha kodiga o'ting va "Android" papkasini tanlang. Android Studio loyiha fayllarini sinxronlashtirish uchun biroz vaqt ketadi va ba'zi kutubxonalarni o'rnatishni talab qilishi mumkin, bu variantlarni qabul qiling. Loyiha tayyor bo'lgach, Android qurilmasini kompyuterga ulang va oynaning yuqori qismidagi ishga tushirish variantini tanlang. Ko'rsatilgan oynadan qurilmani tanlang va undan keyin dasturni qurilmaga o'rnatishga ruxsat bering.
6 -qadam: Bluetooth signal ulanishini sinab ko'rish
Ilova ochilgandan so'ng, tuklar yoqilganligiga ishonch hosil qiling va telefonda paydo bo'ladigan qurilmalar ro'yxatidan Adafruit Bluefruit LE ni tanlang. Qurilma ulanishini kuting, agar ulanish birinchi marta muvaffaqiyatsiz tugasa, boshqa nosozliklarni tuzatishdan oldin ulanishni qayta urinib ko'ring. Qurilma ulangandan so'ng, "Posture Detector" modulini tanlang, agar u to'g'ri ishlasa, jonli yangilanish grafigi, shuningdek, holat va harakat haqidagi bashoratlar ko'rsatiladi. Arduino sensor ma'lumotlarini to'g'ri uzatayotganini tekshirish uchun ikkita akselerometrni tasodifiy yo'nalishda harakatlantiring va grafikdagi barcha chiziqlar o'zgarganligini tekshiring. Agar ba'zi chiziqlar doimiy ravishda tekis bo'lib qolsa, akselerometrlarning Tukga to'g'ri ulanganligiga ishonch hosil qiling. Agar hamma narsa ishlayotgan bo'lsa, ko'ylakni kiying va pozitsiyani aniqlash sizning holatingizni to'g'ri bashorat qilayotganini tekshiring. Tabriklaymiz! Siz taqib yurish holatini aniqlashni muvaffaqiyatli o'rnatdingiz. O'zingizning ma'lumotlar to'plamingizni qanday yaratishni va o'z holatingizni aniqlashni sozlashni o'rganish uchun ushbu ko'rsatmalarni davom ettiring.
7 -qadam: Shaxsiy ma'lumotlaringizni yig'ish
O'z ma'lumotlaringizni yig'ish uchun modulni tanlash ekraniga qayting va Ma'lumotlarni yozish modulini oching. Bu ekran ochilgach, siz to'playdigan ma'lumotlarning yorlig'ini to'ldiring; Ma'lumotlaringizni osonlik bilan o'rgatish uchun, har qanday yozuvlar nomiga "yaxshi" so'zini, durustli yozuvlarga "yomon" ni kiritish kerak. To'plashni boshlash uchun "Ma'lumot yig'ish" tugmachasini bosing va kerakli harakatni bajaring, tugallangach, ma'lumotlarni tugatish va saqlash uchun tugmani yana bosing. Barcha yozilgan ma'lumotlar fayl tizimining hujjatlar papkasi ostidagi "GestureData" papkasida saqlanadi. Barcha ma'lumotlarni yozishni tugatganingizdan so'ng, fayllarni kompyuterga nusxa ko'chiring va namunaviy o'qitishni o'tkazing.
8 -qadam: Jupyter daftarida ma'lumotlarni o'rgating
Loyihaning boshlang'ich kodi Jupyter daftarchasi bo'limidagi "ma'lumotlar" papkasida o'qitish uchun ishlatilgan dastlabki ma'lumotlarni o'z shaxsiy ma'lumotlaringizga o'rgatish uchun ushbu papkadagi barcha fayllarni o'chirib tashlaydi va keyin o'z ma'lumotlaringizni papkaga ko'chiradi. Keyin Jupyter daftarini ishga tushiring va "PostureDetectorTrainer.ipynb" ni oching. Bu noutbuk ma'lumotlar papkasidagi har qanday fayllarni avtomatik ravishda yaxshi va yomon pozitsiyalar bo'yicha ajratish uchun mo'ljallangan, so'ngra modelni o'rgatish uchun tasniflash uchun chiziqli SVM -ni o'rgatish uchun "Hujayra" ochiladigan ro'yxatini tanlang va "Hammasini ishga tushirish" -ni tanlang. Noutbukni ishga tushirish uchun bir oz vaqt ketishi mumkin, lekin to'liq aniqlangandan so'ng, model uchun pozitsiyani bashorat qilishning aniqligini ta'minlaydigan nuqtaga o'ting, agar oldingi yozuvlaringiz to'g'ri va izchil asosli haqiqat ekanligiga ishonch hosil qilishingiz mumkin. Agar natijalar yaxshi ko'rinadigan bo'lsa, Java sinfi yaratilgan keyingi katakchaga o'ting. Parametr sifatida sharhlangan qismini ko'rmaguningizcha, bu katakning pastki qismiga o'ting. Ushbu qiymatlarni keyingi bosqichda kerak bo'lganda nusxa ko'chiring.
9 -qadam: Android ilovasini yangi model bilan o'zgartirish
Android ilovasidagi modelni o'zgartirish uchun loyiha tuzilmasining java bo'limi ostidagi "PostureDetectorFragment.java" fayliga o'tish uchun Android Studio dasturidan foydalaning. Ushbu faylda "Turg'unlik klassifikatori" deb yozilgan bo'limga o'ting, u Jupyter daftarchasida yaratilgan 4 ta mos keladigan 4 o'zgaruvchiga ega bo'ladi. O'zgaruvchilar nomlari p_vectors, p_coefficients va boshqalardan o'zgarmasligiga ishonch hosil qilib, Jupyter daftarchasidan nusxa ko'chirilgan qiymatlar bilan bu 4 o'zgaruvchining qiymatini almashtiring. Bu bajarilgandan so'ng faylni saqlang va ishga tushirish uchun yana ishga tushirish -ni tanlang. qurilma. Endi Posture Detector modulini ochish uchun avvalgidek bir xil amallarni bajaring va siz hozirda klassifikatorni yangi o'qitilgan modelingiz bilan ishlayotganini ko'rasiz. Agar u hali ham yaxshi ishlamasa, siz qo'shimcha ma'lumotlarni yozib, modelni qayta yaratishni o'ylab ko'rishingiz kerak. Aks holda tabriklayman! Siz hozir Postshirt -ga o'zingiz o'qitgan shaxsiy tasniflagichni import qildingiz!
Tavsiya:
HC-05 orqali Arduino-dan Android-da real vaqtda grafikni chizish: 3 qadam
HC-05 orqali Arduino-dan Android-da real vaqtda grafikni chizish: Salom, mana bu erda Arduino kabi mikro-kontrollerdan real vaqtda qiymatlar grafigini tuzish bo'yicha qo'llanma. U HC-05 kabi Bluetooth modulidan foydalanadi, bu ma'lumotlar uzatish va qabul qilish uchun xabar almashish qurilmasi vazifasini bajaradi
Namlik va haroratni real vaqtda Arduino UNO va SD-karta yordamida qanday yozish mumkin - DHT11 Proteusda ma'lumotlarni yozish simulyatsiyasi: 5 qadam
Namlik va haroratni real vaqtda Arduino UNO va SD-karta yordamida qanday yozish mumkin | DHT11 Proteusda ma'lumotlarni yozish simulyatsiyasi: Kirish: salom, bu Liono Maker, bu erda YouTube havolasi. Biz Arduino bilan ijodiy loyihani amalga oshirmoqdamiz va ko'milgan tizimlar ustida ishlayapmiz. Ma'lumotlarni yozuvchi: Ma'lumotlarni yozuvchi (shuningdek, ma'lumotlarni yozuvchi yoki ma'lumotlarni yozuvchi)-vaqt o'tishi bilan ma'lumotlarni yozib oladigan elektron qurilma
[Kiyiladigan sichqoncha] Windows 10 va Linux uchun Bluetooth-ga asoslangan kiyiladigan sichqonchani boshqaruvchi: 5 qadam
[Kiyiladigan sichqoncha] Windows 10 va Linux uchun Bluetooth-ga asoslangan taqiladigan sichqonchani boshqarish moslamasi: Men sichqoncha ko'rsatgichini boshqarish va kompyuter sichqonchasi bilan bog'liq operatsiyalarni hech qanday sirtga tegmasdan bajarish mumkin bo'lgan Bluetooth-ga asoslangan sichqoncha boshqaruvchisini yasadim. Qo'lqopga o'rnatilgan elektron sxemadan foydalanib, siz
RaspberryPi-4: 6-da real vaqtda yuzni aniqlash (rasmlar bilan)
RaspberryPi-4-da real vaqtda yuzni aniqlash: Ushbu yo'riqnomada biz Shunyaface kutubxonasi yordamida Shunya O/S bilan Raspberry Pi 4-da real vaqtda yuzni aniqlashni amalga oshirmoqchimiz. RaspberryPi-4-da ushbu qo'llanmaga rioya qilib, 15-17-sonli aniqlanish tezligiga erishishingiz mumkin
Haqiqiy vaqtda yuzni aniqlash: oxirigacha loyiha: 8 qadam (rasmlar bilan)
Haqiqiy vaqtda yuzni aniqlash: oxirigacha loyiha: OpenCV-ni o'rganish bo'yicha oxirgi darsimda biz Vizyonning avtomatik kuzatilishini o'rgandik. Endi biz PiCam-dan foydalanib, yuzlarni real vaqtda taniy olamiz, quyida ko'rib turganingizdek: Ushbu loyiha "Ochiq manbali kompyuter ko'rish kutubxonasi" yordamida amalga oshirildi