- Компоненте потребне
- МПУ6050 сензорски модул - кратак увод
- Шема бројача корака Аттини85
- Израда ПЦБ-а за бројач корака Аттини85
- Наручивање ПЦБ-а са ПЦБВаи-а
- Састављање ПЦБ бројача корака АТтини85
- Објашњење АТтини85 бројача корака
- Кренимо у шетњу са нашим бројачем корака Ардуино
У овом упутству ћемо направити једноставан и јефтин педометар користећи АТтини85 ИЦ, МПУ6050 акцелерометар и жироскоп и ОЛЕД модул за приказ. Овај једноставни бројач корака заснован на Ардуину напаја се ћелијом од 3 В новчића, што га чини лакшим за ношење када изађете у шетњу или џогирање. Такође захтева врло мало компонената за изградњу, а код је такође релативно једноставан. Програм у овом пројекту користи МПУ6050 за мерење величине убрзања дуж 3 осе (Кс, И и З). Затим израчунава разлику величине убрзања између претходне и тренутне вредности. Ако је разлика већа од одређеног прага (за ходање веће од 6 и за трчање веће од 10), тада се у складу с тим повећава број корака. Укупни предузети кораци се затим приказују на ОЛЕД дисплеју.
Да бисмо направили овај преносни бројач корака на ПЦБ-у, произвели смо наше ПЦБ плоче од ПЦБВаи-а и у овом пројекту ћемо их саставити и тестирати. Ако желите да додате још функција, у ову поставку можете да додате и монитор Хеартбеат, а такође смо претходно направили бројач корака Ардуино акцелерометра помоћу АДКСЛ335, проверите их ако сте заинтересовани.
Компоненте потребне
Да бисте направили овај педометар помоћу Ардуина, требаће вам следеће компоненте.
- Аттини85 ИЦ
- МПУ6050
- ОЛЕД модул екрана
- 2 × тастера
- Отпорници 5 × 10КΩ (СМД)
МПУ6050 сензорски модул - кратак увод
МПУ6050 заснован је на технологији микро-механичких система (МЕМС). Овај сензор има 3-осни акцелерометар, 3-осни жироскоп и уграђени сензор температуре. Може се користити за мерење параметара као што су убрзање, брзина, оријентација, помицање итд. Претходно смо повезали МПУ6050 са Ардуином и Распберри пи, а такође смо направили неколико пројеката користећи га, попут робота за самобалансирање, Ардуино Дигитал Протрацтор и Ардуино Инцлинометер.
Модул МПУ6050 је малих димензија и има малу потрошњу енергије, велико понављање, високу толеранцију на ударце и ниске корисничке цене. МПУ6050 долази са И2Ц магистралом и помоћним интерфејсом И2Ц магистрале и може лако ометати друге сензоре као што су магнетометри и микроконтролери.
Шема бројача корака Аттини85
Шема бројача корака МПУ6050 дата је у наставку:
Горња слика приказује дијаграм кола за повезивање МПУ6050 и ОЛЕД екрана са Аттини85 ИЦ. Интерфејс између МПУ6050, ОЛЕД екрана и Ардуина мора бити имплементиран користећи И2Ц протокол. Дакле, СЦЛПин (ПБ2) АТтини85 је повезан са СЦЛПином МПУ6050 и ОЛЕД екрана. Слично томе, СДАПин (ПБ0) АТтини85 је повезан са СДАПин МПУ6050 и ОЛЕД екрана. Два тастера су такође повезана са ПБ3 и ПБ4 пином АТтини85 ИЦ. Ова дугмад се могу користити за помицање текста или промјену текста на екрану.
Напомена: Слиједите наш претходни водич Програмирање АТтини85 ИЦ директно преко УСБ-а помоћу Дигиспарк Боотлоадер-а за програмирање АТтини85 ИЦ-а путем УСБ-а и Дигиспарк Боот-лоадер.
Израда ПЦБ-а за бројач корака Аттини85
Шема је готова и можемо да наставимо са полагањем ПЦБ-а. ПЦБ можете да дизајнирате помоћу било ког софтвера по избору. Користили смо ЕасиЕДА за производњу ПЦБ-а за овај пројекат.
Испод су прикази 3Д модела горњег и доњег слоја ПЦБ бројача корака:
Изглед ПЦБ-а за горњи круг такође је доступан за преузимање као Гербер са доње везе:
- Гербер датотека за бројач корака АТтини85
Наручивање ПЦБ-а са ПЦБВаи-а
Након финализације дизајна, можете наставити са наручивањем ПЦБ-а:
1. корак: Уђите на хттпс://ввв.пцбваи.цом/, пријавите се ако је ово први пут. Затим на картици Прототип ПЦБ унесите димензије ПЦБ-а, број слојева и број ПЦБ-а који вам је потребан.
Корак 2: Наставите кликом на дугме „Цитирај одмах“. Бићете преусмерени на страницу на којој ћете поставити неколико додатних параметара као што су тип плоче, слојеви, материјал за ПЦБ, дебљина и друго, већина њих је подразумевано изабрана, ако се одлучите за било које одређене параметре, можете одабрати то овде.
Корак 3: Последњи корак је отпремање Гербер датотеке и наставак плаћања. Да би осигурао несметан поступак, ПЦБВАИ проверава да ли је ваша Гербер датотека важећа пре него што настави са уплатом. На овај начин можете бити сигурни да је ваша ПЦБ погодна за израду и да ће вас добити као посвећену.
Састављање ПЦБ бројача корака АТтини85
После неколико дана добили смо ПЦБ у уредном пакету и квалитет ПЦБ-а је био добар као и увек. Горњи и доњи слој плоче приказани су испод:
Након што се уверио да су трагови и трагови тачни. Наставио сам са састављањем ПЦБ-а. Потпуно залемљена плоча изгледа доле:
Објашњење АТтини85 бројача корака
Комплетни код бројача корака Ардуино дат је на крају документа. Овде објашњавамо неке важне делове кода.
Код користи библиотеке ТиниВиреМ.х & ТиниОзОЛЕД.х. Библиотеку ТиниВиреМ можете преузети из Менаџера библиотека у Ардуино ИДЕ-у и инсталирати одатле. За то отворите Ардуино ИДЕ и идите на Скетцх <Инцлуде Либрари <Манаге Либрариес . Сада потражите ТиниВиреМ.х и инсталирајте ТиниВиреМ библиотеку компаније Адафруит.
Док се библиотека ТиниОзОЛЕД.х може преузети са датих веза.
Након инсталирања библиотека у Ардуино ИДЕ, покрените код тако што ћете укључити потребне датотеке библиотека.
#инцлуде "ТиниВиреМ.х" #инцлуде "ТиниОзОЛЕД.х"
Након укључивања библиотека, дефинишите променљиве за чување очитавања акцелерометра.
интаццелКс, акценат, акцелЗ;
Унутар петље сетуп () , иницијализујте библиотеку жица и ресетујте сензор кроз регистар управљања напајањем, такође иницијализујте И2Ц комуникацију за ОЛЕД екран. Затим у следећим редовима подесите оријентацију приказа и унесите адресу регистра за акцелерометар и вредности жироскопа.
ТиниВиреМ.бегин (); ОзОлед.инит (); ОзОлед.цлеарДисплаи (); ОзОлед.сетНормалДисплаи (); ОзОлед.сендЦомманд (0кА1); ОзОлед.сендЦомманд (0кЦ8); ТиниВиреМ.бегинТрансмиссион (мпу); ТиниВиреМ.врите (0к6Б); ТиниВиреМ.врите (0б00000000); ТиниВиреМ.врите (0к1Б);
У функцији гетАццел () започните читањем података акцелерометра. Подаци за сваку осу се чувају у два бајта (горња и доња) или регистре. Да бисмо их прочитали све, почните са првим регистром, а помоћу функције РекуиестФром () захтевамо да очитамо свих 6 регистара за осе Кс, И и З. Затим читамо податке из сваког регистра, а будући да су излази комплементарни, комбинирајте их на одговарајући начин да бисте добили комплетне вредности акцелерометра.
воидгетАццел () {ТиниВиреМ.бегинТрансмиссион (мпу); ТиниВиреМ.врите (0к3Б); ТиниВиреМ.ендТрансмиссион (); ТиниВиреМ.рекуестФром (мпу, 6); аццелКс = ТиниВиреМ.реад () << 8-ТиниВиреМ.реад (); аццелИ = ТиниВиреМ.реад () << 8-ТиниВиреМ.реад (); аццелЗ = ТиниВиреМ.реад () << 8-ТиниВиреМ.реад (); }
Сада унутар функције петље прво прочитајте вредности Кс, И и З осе, а након добијања вредности 3 осе израчунајте укупни вектор убрзања узимајући квадратни корен вредности Кс, И и З осе. Затим израчунајте разлику између тренутног вектора и претходног вектора и ако је разлика већа од 6, онда повећајте број корака.
гетАццел (); вецтор = скрт ((аццелКс * аццелКс) + (аццелИ * аццелИ) + (аццелЗ * аццелЗ)); тоталвецтор = вектор - векторпретходни; иф (тоталвецтор> 6) {Кораци ++; } ОзОлед.принтСтринг ("Кораци", 0, 4); ОзОлед.принтНумбер (Кораци, 0, 8, 4); вецторпревиоус = вектор; кашњење (600);
Кренимо у шетњу са нашим бројачем корака Ардуино
Када завршите са састављањем ПЦБ-а, повежите АТтини85 са плочом програмера и отпремите код. Сада узмите у руке подешавање бројача корака и почните да корачате корак по корак, требало би да прикаже број корака на ОЛЕД-у. Понекад повећава број корака када подешавање вибрира врло брзо или врло споро.
На овај начин можете да направите сопствени бројач корака помоћу АТтини85 и МПУ6050. Комплетан рад пројекта такође се може наћи у доњем видео линку. Надам се да вам се свидео пројекат и било вам је занимљиво да направите свој. Ако имате питања, оставите их у одељку за коментаре испод.