Съдържание:

Пощенска риза: Откриване на стойка, която може да се носи в реално време: 9 стъпки
Пощенска риза: Откриване на стойка, която може да се носи в реално време: 9 стъпки

Видео: Пощенска риза: Откриване на стойка, която може да се носи в реално време: 9 стъпки

Видео: Пощенска риза: Откриване на стойка, която може да се носи в реално време: 9 стъпки
Видео: Свършвам бързо! Как да правя секс по-дълго? 2024, Юли
Anonim
Image
Image
Пощенска риза: Откриване на стойка в реално време
Пощенска риза: Откриване на стойка в реално време

Postshirt е безжична система за откриване на стойка в реално време, която предава и класифицира данни от акселерометър от Adafruit Feather към приложение за Android чрез Bluetooth. Цялата система може да открие в реално време, ако потребителят има лоша стойка и създава известие, когато потребителят започне да се навежда, откриването работи и при ходене.

Консумативи

Електроника

1 х смартфон с Android

1 x пера от Adafruit

1 x литиево -йонна полимерна батерия - 3.7v 100mAh (по избор за безжична употреба)

2 x триосен акселерометър ADXL335

Материали

Тел за свързване

Ролка лента

Стъпка 1: Инсталирайте необходимите IDE и библиотеки

Адафрутово перо

Първо инсталирайте Arduino IDE и след това следвайте стъпките за инсталиране на Adafruit nRF51 BLE библиотека

Бележник Jupyter

Първо инсталирайте Jupyter Notebook и след това следните необходими библиотеки

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

Android

Инсталирайте Android Studio

Код на проекта

Изтеглете целия код на проекта от GitHub

Стъпка 2: Свържете акселерометрите към перата

Свържете акселерометрите към перата
Свържете акселерометрите към перата
Свържете акселерометрите към перата
Свържете акселерометрите към перата

За да прочетете данни от ADXL335, свържете свързващия проводник към щифтовете Vin, мас, Xout, Yout и Zout. И за двата акселерометъра свържете другите краища на проводниците Vin към 3V щифта на перата, а другите краища на заземяващите щифтове към заземяващия щифт на перата. Свържете проводниците Xout, Yout и Zout на първия акселерометър към щифтовете A0, A1 и A2 на перата. Свържете проводниците Xout, Yout и Zout на втория акселерометър към щифтовете A3, A4 и A5 на перата.

Акселерометрите могат да бъдат свързани по всякакъв начин, но се предлага запояване на проводниците и термосвиване или обвиване на електрическа лента около точките на свързване, за да се предотврати контакта на откритите участъци.

Стъпка 3: Прикрепете акселерометри към ризата

Прикрепете акселерометри към ризата
Прикрепете акселерометри към ризата

С помощта на лента прикрепете акселерометрите към гърба на ризата. Акселерометърът, свързан към щифтове A0-2, трябва да бъде поставен хоризонтално в центъра в средата на долната част на гърба. Акселерометърът, свързан към щифтове A3-5, трябва да бъде поставен хоризонтално в центъра в задната част на шията. И двата акселерометъра трябва да бъдат подравнени така, че щифтовете да са по долната страна, а сензорите да са залепени плоско и здраво закрепени към ризата.

Забележка: За по -трайно носене сензорите могат да бъдат пришити към облеклото, но те трябва първо да бъдат залепени и тествани, за да се гарантира, че разположенията на сензорите са ефективно позиционирани.

Стъпка 4: Изпълнение на код на Arduino

Работен код на Arduino
Работен код на Arduino

За да започнете да събирате данни за Feather, стартирайте Arduino IDE и отворете файла GestureDataSender под секцията Arduino в кода на проекта. Когато този файл е отворен, задайте платката и използвания порт и след това изберете „Проверка“и „Качване“, за да качите кода в перото.

Стъпка 5: Изпълнение на код на Android

Работещ код на Android
Работещ код на Android

За да стартирате приложението на android, първо стартирайте Android Studio и след това изберете опцията за отваряне на съществуващ проект за Android. Придвижете се до кода на проекта и изберете папката „Android“. Android Studio ще отнеме известно време за синхронизиране на файловете на проекта и може да поиска да инсталира някои необходими библиотеки, да приеме тези опции. След като проектът е готов, включете устройството с Android в компютъра и изберете опцията за изпълнение в горната част на прозореца. Изберете устройството от подканата, която се показва, и след това оставете приложението да се изгради към устройството.

Стъпка 6: Тестване на Bluetooth сигнална връзка

Тестване на Bluetooth сигнална връзка
Тестване на Bluetooth сигнална връзка
Тестване на Bluetooth сигнална връзка
Тестване на Bluetooth сигнална връзка
Тестване на Bluetooth сигнална връзка
Тестване на Bluetooth сигнална връзка

След като приложението е отворено, уверете се, че Feather е включено и след това изберете Adafruit Bluefruit LE от списъка с устройства, който се появява на телефона. Изчакайте устройството да се свърже, ако връзката се провали за първи път, опитайте отново да се свържете, преди да предприемете други стъпки за отстраняване на грешки. След като устройството е свързано, изберете модула "Детектор на стойката", който, ако работи правилно, ще покаже графика за актуализиране на живо, както и текущите прогнози за стойката и движението. За да проверите дали arduino комуникира правилно сензорните данни, преместете двата акселерометра в произволни посоки и проверете дали всички линии на графиката се променят. Ако някои линии остават постоянно равни, уверете се, че акселерометрите са правилно свързани към перата. Ако всичко работи, облечете ризата и проверете дали разпознаването на стойката правилно предсказва стойката ви. Честито! Успешно сте настроили носене за откриване на стойка. Продължете през тази инструкция, за да научите как да създадете свой собствен набор от данни и да персонализирате собственото си разпознаване на стойката.

Стъпка 7: Събиране на собствени данни

Събиране на собствени данни
Събиране на собствени данни
Събиране на собствени данни
Събиране на собствени данни

За да съберете вашите собствени данни, върнете се на екрана за избор на модул и отворете модула Data Recorder. След като този екран се отвори, попълнете етикета за данните, които ще събирате; за да тренирате лесно вашите данни, трябва да включите думата „добро“в името на всички записи с добра стойка и „лоша“във всички записи с поза. За да започнете събирането, докоснете бутона „Събиране на данни“и изпълнете желаното от вас действие, когато приключите, докоснете отново бутона, за да завършите и запазите данните. Всички записани данни ще се съхраняват в папка с име "GestureData" под папката документи на вашата файлова система. Когато приключите със записването на всичките си данни, копирайте файловете на компютъра си за обучение по модел.

Стъпка 8: Обучете вашите данни на Jupyter Notebook

Обучение на вашите данни на Jupyter Notebook
Обучение на вашите данни на Jupyter Notebook
Обучение на вашите данни на Jupyter Notebook
Обучение на вашите данни на Jupyter Notebook

Първоначалният код на проекта съдържа оригиналните данни, използвани за обучение в папката „данни“в раздела Jupyter Notebook, за обучение на вашите собствени данни изтрийте всички файлове в тази папка и след това копирайте вашите собствени данни в папката. След това стартирайте Jupyter Notebook и отворете „PostureDetectorTrainer.ipynb“. Този бележник е предназначен за автоматично разделяне на всички файлове в папката с данни чрез добра и лоша стойка и след това обучава линеен SVM за класификация, за да обучи модела, просто изберете падащото меню „Cell“и изберете „Run All“. Бележникът може да отнеме известно време, за да работи, но след като завърши превъртане до точката, която осигурява точността на предсказване на стойката за модела, ако точността е ниска, може да искате да се уверите, че предишните ви записи са точни и последователни основни истини. Ако резултатите изглеждат добре, превъртете до следващата клетка, където ще бъде генериран Java клас. Превъртете до дъното на тази клетка, докато видите част, коментирана като параметри. Копирайте тези стойности, тъй като ще ви трябват в следващата стъпка.

Стъпка 9: Промяна на приложението за Android с нов модел

Промяна на приложението за Android с нов модел
Промяна на приложението за Android с нов модел

За да промените модела в приложението за Android, използвайте Android Studio, за да отидете до файла „PostureDetectorFragment.java“под секцията java на структурата на проекта. В този файл превъртете надолу до секцията, коментирана като „Класификатор на стойката“, която ще има същите 4 съответни променливи като 4 -те, генерирани в Jupyter Notebook. Заменете стойностите на тези 4 променливи със стойностите, копирани от Jupyter Notebook, като сте сигурни, че имената на променливите не са променени от p_vectors, p_coefficients и т.н. устройство. Сега следвайте същите стъпки, както преди, за да отворите модула за детектор на позата и трябва да видите класификатора, който сега работи с вашия обучен модел. Ако все още не изглежда да се представя добре, трябва да помислите за записване на допълнителни данни и пресъздаване на модела. Иначе честито! Вече сте импортирали свой собствен обучен класификатор в Postshirt!

Препоръчано: