فهرست مطالب:

پست پیراهنی: تشخیص وضعیت پوشیدنی در زمان واقعی: 9 مرحله
پست پیراهنی: تشخیص وضعیت پوشیدنی در زمان واقعی: 9 مرحله

تصویری: پست پیراهنی: تشخیص وضعیت پوشیدنی در زمان واقعی: 9 مرحله

تصویری: پست پیراهنی: تشخیص وضعیت پوشیدنی در زمان واقعی: 9 مرحله
تصویری: گوز زدن پریانکا چوپرا هنرپیشه بالیوود در یکی از برنامه های لایف تلویزیونی |C&C 2024, جولای
Anonim
Image
Image
پیراهن: تشخیص وضعیت پوشیدنی در زمان واقعی
پیراهن: تشخیص وضعیت پوشیدنی در زمان واقعی

Postshirt یک سیستم تشخیص وضعیت بی سیم بی سیم است که داده های شتاب سنج را از Adafruit Feather به برنامه Android از طریق بلوتوث منتقل و طبقه بندی می کند. اگر کاربر وضعیت بدی داشته باشد ، سیستم کامل می تواند در زمان واقعی تشخیص دهد و هنگامی که کاربر شروع به لغزش می کند ، یک اعلان فشار ایجاد می کند ، این تشخیص هنگام راه رفتن نیز کار می کند.

تدارکات

الکترونیک

1 عدد گوشی هوشمند اندرویدی

1 عدد پر آدافروت

1 عدد باتری لیتیوم یون پلیمر - 3.7v 100mAh (اختیاری برای استفاده بی سیم)

2 شتاب سنج سه محوره ADXL335

مواد

سیم اتصال

رول نوار

مرحله 1: IDE ها و کتابخانه های لازم را نصب کنید

پر آدافروت

ابتدا Arduino IDE را نصب کرده و سپس مراحل نصب Adafruit nRF51 BLE Library را دنبال کنید

دفترچه یادداشت Jupyter

ابتدا Jupyter Notebook و سپس کتابخانه های مورد نیاز زیر را نصب کنید

  • https://scikit-learn.org/stable/
  • https://github.com/nok/sklearn-porter

اندروید

Android Studio را نصب کنید

کد پروژه

تمام کد پروژه را از GitHub بارگیری کنید

مرحله 2: شتاب سنج ها را به پر وصل کنید

شتاب سنج ها را به پر وصل کنید
شتاب سنج ها را به پر وصل کنید
شتاب سنج ها را به پر وصل کنید
شتاب سنج ها را به پر وصل کنید

برای خواندن داده ها از ADXL335s سیم اتصال را به پین های Vin ، ground ، Xout ، Yout و Zout وصل کنید. برای هر دو شتاب سنج ، انتهای دیگر سیم های Vin را به پین 3V روی پر و دیگر انتهای پین های زمین را به پایه زمین روی پر وصل کنید. سیم های Xout ، Yout و Zout اولین شتاب سنج را به پین های A0 ، A1 و A2 در Feather وصل کنید. سیم های Xout ، Yout و Zout شتاب سنج دوم را به پین های A3 ، A4 و A5 در Feather وصل کنید.

شتاب سنجها را می توان به هر طریقی وصل کرد اما لحیم کاری سیمها و کوچک شدن یا پیچاندن نوار برقی در اطراف نقاط اتصال برای جلوگیری از تماس قسمتهای در معرض یکدیگر توصیه می شود.

مرحله 3: شتاب سنج ها را به پیراهن وصل کنید

شتاب سنج ها را به پیراهن وصل کنید
شتاب سنج ها را به پیراهن وصل کنید

با استفاده از نوار ، شتاب سنج ها را به پشت پیراهن وصل کنید. شتاب سنجی که به پین A0-2 متصل شده است باید به صورت افقی در وسط قسمت پایین کمر قرار گیرد. شتاب سنج که به پین A3-5 متصل شده است باید به صورت افقی در پشت گردن قرار گیرد. هر دو شتاب سنج باید طوری تراز شوند که پین ها در قسمت پایینی قرار گرفته و سنسورها باید صاف و محکم در برابر پیراهن محکم شوند.

توجه: برای پوشیدن دائمی تر ، سنسورها را می توان روی لباس دوخت ، اما باید ابتدا آنها را چسبانده و آزمایش کرد تا از قرارگیری م sensorثر سنسورها اطمینان حاصل شود.

مرحله 4: اجرای کد بر روی آردوینو

اجرای کد در آردوینو
اجرای کد در آردوینو

برای شروع جمع آوری داده ها روی Feather ، Arduino IDE را راه اندازی کنید و فایل GestureDataSender را در قسمت Arduino کد پروژه باز کنید. با باز کردن این فایل ، برد و پورت مورد استفاده را تنظیم کنید و سپس "Verify" و "Upload" را برای بارگذاری کد در Feather انتخاب کنید.

مرحله 5: اجرای کد در Android

اجرای کد در Android
اجرای کد در Android

برای اجرای برنامه در Android ابتدا Android Studio را راه اندازی کنید و سپس گزینه باز کردن یک پروژه Android موجود را انتخاب کنید. به کد پروژه بروید و پوشه "Android" را انتخاب کنید. اندروید استودیو برای همگام سازی فایل های پروژه مدتی طول می کشد و ممکن است درخواست نصب برخی از کتابخانه های مورد نیاز را داشته باشد ، این گزینه ها را بپذیرید. پس از آماده شدن پروژه ، دستگاه Android را به کامپیوتر وصل کرده و گزینه run را در بالای پنجره انتخاب کنید. دستگاه را از اعلان نمایش داده شده انتخاب کنید و سپس اجازه دهید برنامه روی دستگاه نصب شود.

مرحله 6: آزمایش اتصال سیگنال بلوتوث

آزمایش اتصال سیگنال بلوتوث
آزمایش اتصال سیگنال بلوتوث
تست اتصال سیگنال بلوتوث
تست اتصال سیگنال بلوتوث
آزمایش اتصال سیگنال بلوتوث
آزمایش اتصال سیگنال بلوتوث

پس از باز شدن برنامه ، مطمئن شوید که Feather روشن است و سپس Adafruit Bluefruit LE را از لیست دستگاه هایی که روی گوشی ظاهر می شود انتخاب کنید. منتظر بمانید تا دستگاه متصل شود ، اگر اتصال برای اولین بار دوباره متصل نشد قبل از انجام سایر مراحل اشکال زدایی ، اتصال را امتحان کنید. پس از اتصال دستگاه ، ماژول "Posture Detector" را انتخاب کنید که در صورت عملکرد صحیح ، یک نمودار به روز رسانی زنده و همچنین پیش بینی های فعلی وضعیت و حرکت را نشان می دهد. برای بررسی اینکه آردوینو داده های حسگر را به درستی منتقل می کند ، دو شتاب سنج را در جهت های تصادفی حرکت داده و بررسی کنید که آیا همه خطوط روی نمودار تغییر کرده اند. اگر برخی از خطوط به طور مداوم صاف باقی می مانند ، مطمئن شوید که شتاب سنج ها به درستی به پر وصل شده اند. اگر همه چیز در حال کار است پیراهن را بپوشید و آزمایش کنید که تشخیص وضعیت به درستی وضعیت شما را پیش بینی می کند. تبریک می گویم! شما با موفقیت یک پوشه قابل تشخیص تشخیص وضعیت را تنظیم کرده اید. برای آموزش نحوه ایجاد مجموعه داده شخصی خود و سفارشی سازی تشخیص وضعیت خود ، این دستورالعمل را ادامه دهید.

مرحله 7: جمع آوری داده های شخصی خود

جمع آوری داده های شخصی شما
جمع آوری داده های شخصی شما
جمع آوری داده های شخصی شما
جمع آوری داده های شخصی شما

برای جمع آوری داده های خود به صفحه انتخاب ماژول بازگردید و ماژول Data Recorder را باز کنید. پس از باز شدن این صفحه ، برچسب داده هایی را که جمع آوری می کنید ، پر کنید. به منظور آموزش آسان بر روی داده های خود ، باید کلمه "خوب" را به نام هرگونه ضبط با وضعیت خوب و "بد" در هرگونه ضبط با وضعیت قرار دهید. برای شروع جمع آوری ، روی دکمه "جمع آوری داده ها" ضربه بزنید و اقدام مورد نظر خود را انجام دهید ، پس از اتمام کار مجدداً روی دکمه ضربه بزنید و داده ها را ذخیره و ذخیره کنید. همه داده های ثبت شده در پوشه ای با نام "GestureData" در زیر پوشه اسناد سیستم فایل شما ذخیره می شوند. پس از اتمام ضبط تمام داده ها ، فایل ها را برای آموزش مدل در رایانه خود کپی کنید.

مرحله 8: آموزش داده های خود در Jupyter Notebook

آموزش داده های خود در Jupyter Notebook
آموزش داده های خود در Jupyter Notebook
آموزش داده های خود در Jupyter Notebook
آموزش داده های خود در Jupyter Notebook

کد اولیه پروژه شامل داده های اصلی مورد استفاده برای آموزش در پوشه "data" در بخش Jupyter Notebook است ، برای آموزش داده های خود همه فایل های موجود در این پوشه را حذف کرده و سپس داده های خود را در پوشه کپی کنید. سپس Jupyter Notebook را اجرا کرده و "PostureDetectorTrainer.ipynb" را باز کنید. این نوت بوک به گونه ای طراحی شده است که به طور خودکار هرگونه فایل را در پوشه داده ها با وضعیت بد خوب و بد جدا کرده و سپس SVM خطی را برای طبقه بندی آموزش دهد تا مدل را آموزش دهد به سادگی "Cell" را انتخاب کرده و "Run All" را انتخاب کنید. اجرای این دفترچه ممکن است یک لحظه طول بکشد ، اما پس از کامل شدن به نقطه ای که دقت پیش بینی وضعیت را برای مدل ارائه می دهد ، بروید ، اگر دقت پایین است ، ممکن است بخواهید اطمینان حاصل کنید که ضبط های قبلی شما از صحت و سقم دقیق و ثابت برخوردار هستند. اگر نتایج خوب به نظر می رسند ، به سلول بعدی بروید که در آن کلاس جاوا ایجاد شده است. به پایین این سلول بروید تا قسمتی را ببینید که به عنوان پارامترها نظر داده شده است. این مقادیر را کپی کنید زیرا در مرحله بعد به آنها نیاز خواهید داشت.

مرحله 9: اصلاح برنامه Android با مدل جدید

اصلاح برنامه اندروید با مدل جدید
اصلاح برنامه اندروید با مدل جدید

برای تغییر مدل در برنامه اندروید از Android Studio برای رفتن به فایل "PostureDetectorFragment.java" در قسمت java ساختار پروژه استفاده کنید. در این فایل به قسمت مورد نظر که به عنوان "طبقه بندی کننده وضعیت" گفته می شود بروید که دارای 4 متغیر متناظر با 4 متغیری است که در Jupyter Notebook ایجاد شده است. مقادیر این 4 متغیر را با مقادیر کپی شده از Jupyter Notebook جایگزین کنید ، مطمئن باشید که نام متغیرها از p_vector ، p_coefficients و غیره تغییر نکرده است. پس از اتمام این کار فایل را ذخیره کرده و مجددا گزینه Run را انتخاب کنید تا برنامه برای شما ساخته شود. دستگاه برای باز کردن ماژول Posture Detector مراحل مشابه قبلی را دنبال کنید و باید ببینید طبقه بندی کننده اکنون با مدل آموزش دیده خود کار می کند. اگر هنوز به نظر نمی رسد عملکرد خوبی داشته باشد ، باید ضبط داده های بیشتر و بازسازی مدل را در نظر بگیرید. در غیر این صورت تبریک می گویم! شما اکنون طبقه بندی کننده شخصی آموزش دیده خود را به پیراهن وارد کرده اید!

توصیه شده: