Мазмуну:
- 1 -кадам: MPU6050 орнотуу жана калибрлөө
- 3 -кадам: сенсорлорду Arduino менен бириктирүү
- 4 -кадам: Булутка маалыматтарды жөнөтүү
- 5 -кадам: Ошол эле учурда 2 түзмөктү колдонуу
- 6 -кадам: Күчөтүүлөр, эскертүүлөр жана келечектеги пландар
Video: IDC2018IOT Leg Running Tracker: 6 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:41
Биз IDC Herzliyaдагы "Интернет нерселер" курсунун алкагында ушундай идея менен чыктык.
Долбоордун максаты - NodeMCU, бир нече сенсорлор жана мүмкүн болгон серверди колдонуу менен чуркоо же жөө басууну камтыган физикалык активдүүлүктү жогорулатуу. Бул долбоордун натыйжасы - келечекте бардык жерде колдонула турган чыныгы өндүрүштүк продуктка айландырылышы мүмкүн болгон абдан пайдалуу IOT түзмөгү! Сураныч, оюңузду бизге билдириңиз:)
Баштоодон мурун, сизде бар экенине ишениңиз:
* NodeMCU түзмөгү.
* 1 пьезоэлектрдик сенсор.
* MPU6050 сенсор.
* Бир чоң матрица.
* Эластикалык жип.
* Firebase эсеби.
Кошумча:
* Бир нече пьезоэлектрдик сенсор
* мультиплексор
1 -кадам: MPU6050 орнотуу жана калибрлөө
"loading =" жалкоо"
Нускамалар:
- Пьезону 1М каршылыгы менен туташтырыңыз (тиркелген сүрөттү караңыз).
- Тиркелген эскизди жүктөө.
- Эпластикалык жипти колдонуп, бир бутуңузга туташтырыңыз.
- "Сериялык плоттерди" ачыңыз.
- Бул кадамга тиркелген видеону көрүңүз.
3 -кадам: сенсорлорду Arduino менен бириктирүү
Биз сенсорлорду кантип калибрлөөнү көрдүк, эми сенсорлордун экөөнү NodeMCUге бириктиребиз!
- Эки сенсорду да түзмөккө туташтырыңыз, 1+2 -кадамдардагыдай эле төөнөгүчтөрдү колдонуңуз.
- Тиркелген эскизди жүктөңүз.
- Аппаратты 2 сенсор менен бир бутка туташтырыңыз.
- "Сериялык плоттерди" ачыңыз.
- Тиркелген видеону көрүңүз.
4 -кадам: Булутка маалыматтарды жөнөтүү
Бул кадамда биз түзмөгүбүздү булутка туташтырып, укмуш диаграммаларды көрүү үчүн маалыматтарды жөнөтөбүз!
Биз MQTT протоколун колдонобуз жана маалыматтарды "Adafruit" деп аталган бекер серверге жөнөтөбүз.
ЭСКЕРТҮҮ: Adafruit ар бир секундада бир нече жолу маалыматтарды жөнөтүүнү колдобойт, ал жайыраак ылдамдыкта иштейт, ошондуктан биз маалымат пункттарынын орточо көрсөткүчүн жөнөтөбүз, бирок маалымат пункттарынын өздөрү эмес. Биз 2 сенсорубуздагы маалыматтарды төмөнкү өзгөртүүлөрдү колдонуу менен орточо маалыматка айландырабыз:
* Кадам аныктоо убактысы мүнөтүнө кадамдарга которулат. Ар бир кадамдын узактыгын (millis () - step_timestamp) табууга болот жана орточо көрсөткүчтү биз мурда көргөндөй фильтрдин жардамы менен жасоого болот: val = val * 0.7 + new_val * 0.3.
* Кадам кубаты орточо тепкич кубатына айланат. Биз ар бир кадам үчүн "max" колдонуунун бирдей методологиясын колдонобуз, бирок орточо = орточо * 0,6 + жаңы_вал * 0,4 чыпкасын колдонуп, орточо эсепке алуу үчүн чыпканы колдонобуз.
Нускамалар:
- Adafruit веб -сайтына io.adafruit.com дарегине кирип, каттоо эсебиңиз бар экенин текшериңиз.
- Жаңы тактаны түзүп, аны "Менин кадамдарым детектору" деп атасаңыз болот.
- Куралдар тактасынын ичинде + баскычын басып, "сызыктуу диаграмманы" тандап, жана "steps_per_min" аттуу түрмөктү түзүңүз.
- Куралдар тактасынын ичинде + баскычын басып, "сызыктуу диаграмманы" тандап, жана "average_step_power" аттуу түрмөктү түзүңүз.
- Сиз азыр талаалардын ар бири үчүн 2 бош диаграмманы көрүшүңүз керек.
- Тиркелген эскизди колдонуңуз жана төмөнкү конфигурацияны орнотуңуз:
USERNAME = сиздин Adafruit колдонуучу атыңыз.
АЧКЫЧ = сиздин Adafruit ачкычыңыз
WLAN_SSID = WIFI аты
WLAN_PASS = WIFI өтүү
mpuStepThreshold = 2 -кадамдан баштап босого
Андан кийин сиз түзмөктү бир бутка туташтыра аласыз жана эскиз серверге кадамдардын маалыматын жөнөтөт!
5 -кадам: Ошол эле учурда 2 түзмөктү колдонуу
Бул кадамда биз бир эле учурда түзмөк менен жүргөн 2 адамды симуляциялайбыз!
Биз 2 башка түзмөктү колдонобуз - 4 -кадамда түшүндүрүлгөн маалымат пункттары менен.
Ошентип, бул чынында оңой, 3 жөнөкөй тапшырма бар:
1) 2-түзмөктөн алынган маалыматтар үчүн кошумча түрмөктөрдү түзүңүз, биз "_2" деген оңдоону берүүнү сунуштайбыз
2) панелдин блокторун эки түрмөктөн тең маалыматтарды көрсөтүү үчүн алмаштырыңыз.
3) экинчи аппараттын эскизиндеги түрмөктөрдүн аталышын өзгөртүү.
4) Жыйынтыгын көрүңүз!
ЭСКЕРТҮҮ:
Adafruit өтө тез келген маалыматтарга каршылык көрсөтөт, бул маалыматты серверге жөнөтүү жыштыгын тууралоо үчүн керек болушу мүмкүн. муну эскизде төмөнкүлөрдү табуу менен кылыңыз:
/ / Ар 5 секунд сайын жөнөтүңүз, бекер колдонуучулар үчүн Adafruit чегинен ашпаңыз. // Эгерде сиз премиумду же өзүңүздүн серверди колдонсоңуз, өзгөртө аласыз. // Ар бир жолу алмашуучу маалымат пунктун жөнөтүү. эгер (миллис () - lastTimeDataSent> 5000) {
6 -кадам: Күчөтүүлөр, эскертүүлөр жана келечектеги пландар
Негизги чакырык:
Долбоордогу негизги көйгөй NodeMCUду физикалык активдүүлүктө сынап көрүү болгон. USB кабели көбүнчө ажыратылат, жана тез кыймылдоого аракет кылганыңызда казыктарды ажыратуу көйгөйү жаралышы мүмкүн. Көп жолу биз чындыгында иштеген коддун бир бөлүгүн мүчүлүштүктөрдү оңдоп жатканбыз жана көйгөй физикалык чөйрөдө болгон.
Биз ноутбукту чуркоочуга жакын көтөрүп, ар бир кодду бир убакта жазуу менен бул кыйынчылыкты жеңдик.
Дагы бир көйгөй ар кандай компоненттердин жылмакай өз ара аракеттенүүсүн камсыз кылуу болгон:
- Акселеромер менен пьезо: Совед 3 -кадамда сүрөттөлгөндөй, бизде жаратуучу идея менен.
- Сервердеги сенсорлор: 4 -кадамда сүрөттөлгөндөй, биз баалуулуктарды жайыраак ылдамдыкта серверге жөнөтүлө турган башка баалуулуктарга айландырдык.
Системанын чектөөлөрү:
- Колдонуу алдында калибрлөө керек.
- Физикалык машыгууда оңой сынбай турган, катуураак продуктка айландыруу керек.
- Пьезоэлектрдик сенсор өтө так эмес.
- Wi -Fi туташуусу керек. (Уюлдук байланыш түйүнү аркылуу оңой чечилет)
Келечектеги пландар
Эми, бизде толук иштөөчү бутту көзөмөлдөөчү түзүлүшкө ээ болгондон кийин, мындан ары да жакшыртуулар бар!
Бир нече пизо!
- Пьезону бутунун ар кайсы жерлерине туташтырыңыз.
- NodeMCU бир аналогдук пинди колдогондуктан мультиплексорду колдонуңуз.
- Таасир берүүчү жерлерди сүрөттөө үчүн тамандын жылуулук картасын көрсөтө алат.
- Бул маалыматтарды туура эмес поза жана дене салмактуулугу боюнча эскертүүлөрдү түзүү үчүн колдоно алат.
Көптөгөн түзмөктөр!
- Биз сизге бир эле убакта 2 түзмөктү кантип туташтыруу керектигин көрсөттүк, бирок 22 футболчуга 22 пьезону туташтыра аласыз!
- Оюнчулар жөнүндө кызыктуу көрсөткүчтөрдү көрсөтүү үчүн оюн учурунда маалыматтар ачыкка чыгышы мүмкүн!
Өркүндөтүлгөн сенсорлор
Биз пьезо менен акселерометрди колдондук, бирок сиз өндүрүмдү байытуучу жана көбүрөөк маалымат бере турган башка түзмөктөрдү кошо аласыз:
- Так лазерлер бут басууну аныктайт.
- Бут менен жердин ортосундагы аралыкты өлчөө.
- Ар кандай оюнчулардын ортосундагы аралыкты өлчөө (бир нече түзмөктөрдө)
Сунушталууда:
Visuino Running LED: 9 кадам
Visuino Running LED: Бул үйрөткүчтө биз 6x LED, Arduino UNO жана Visuino диоддук жарыкты ырааттуулук компонентин колдонуу үчүн иштетебиз. Sequence компоненти биз бир нече окуяларды ырааттуу түрдө козгогубуз келген жагдайлар үчүн идеалдуу
Luck's Running Out - Оюн: 7 кадам
Luck's Running Out - Оюн: Бул ысык картошка сыяктуу ылдамдык жана кокустук оюну, беде ыр жана анимация аяктаганга чейин айланып өтөт. Бул оюн беде берүүдөн мурун бүтүрүү үчүн кыска тапшырма менен айкалышканда эң кызыктуу болот. Мен технологияны жакшы билген адам эмесмин
Running LED Strips Tutorial (600W жөндөмдүү): 6 кадам
Running LED Strips үйрөткүчү (600W жөндөмдүү): Саламатсыздарбы, бул жерде мен LED тилкеси менен абдан сонун жарык эффектин чыгара турган драйверди кантип түздүм. Бул Arduino UNO тарабынан көзөмөлдөнөт. Бул күчтүү керектөөчүлөрдү башкача алсыз Arduino чыгармаларына кантип туташтырууну билүүнү каалагандардын бардыгы үчүн абдан жакшы. Пар
Pixel Kit Running MicroPython: Биринчи кадамдар: 7 кадам
Pixel Kit Running MicroPython: Биринчи кадамдар: Kano Pixelдин потенциалын ачуу үчүн саякат фабриканын программасын MicroPython менен алмаштыруудан башталат, бирок бул башталышы гана. Pixel Kitке код коюу үчүн, биз ага компьютерлерибизди туташтырышыбыз керек
Movie Tracker - Raspberry Pi Powered Theatre Release Tracker: 15 кадам (сүрөттөр менен)
Movie Tracker - Raspberry Pi Powered Theatre Release Tracker: Movie Tracker clapperboard формасындагы, Raspberry Pi менен иштөөчү релиз трекери. Бул TMDb API колдонуп, плакатты, аталышты, релиздин датасын жана сиздин чөлкөмдө боло турган кинолордун обзорун белгилүү бир убакыт аралыгында басып чыгаруу үчүн (мисалы, ушул жумада тасмаларды чыгаруу)