Mundarija:

IDC2018IOT oyoq yugurish kuzatuvchisi: 6 qadam
IDC2018IOT oyoq yugurish kuzatuvchisi: 6 qadam

Video: IDC2018IOT oyoq yugurish kuzatuvchisi: 6 qadam

Video: IDC2018IOT oyoq yugurish kuzatuvchisi: 6 qadam
Video: Я открываю колоду, заказывая Draconic Rage, Dungeons and Dragons, Magic The Gathering 2024, Iyul
Anonim
IDC2018IOT oyoq yugurish kuzatuvchisi
IDC2018IOT oyoq yugurish kuzatuvchisi

Biz bu fikrni IDC Herzliya "Internet of Things" kursining bir qismi sifatida chiqdik.

Loyihaning maqsadi - NodeMCU, bir nechta datchiklar va mumkin bo'lgan server yordamida yugurish yoki piyoda yurishni o'z ichiga olgan jismoniy faoliyatni kuchaytirish. Bu loyihaning natijasi - kelajakda hamma joyda qo'llaniladigan haqiqiy ishlab chiqarish mahsulotiga aylantirilishi mumkin bo'lgan juda foydali IOT qurilmasi! Iltimos, o'z fikringizni bildiring:)

Ishni boshlashdan oldin, sizda borligiga ishonch hosil qiling:

* NodeMCU qurilmasi.

* 1 ta piezoelektrik sensor.

* MPU6050 sensori.

* Bitta katta matritsa.

* Elastik ip.

* Firebase hisob qaydnomasi.

Majburiy emas:

* Ko'p piezoelektrik sensor

* multipleksor

1 -qadam: MPU6050 -ni sozlash va kalibrlash

Image
Image

"yuklanish =" dangasa"

Piezoni sozlash
Piezoni sozlash

Ko'rsatmalar:

  • Piezoni 1M rezistor bilan ulang (ilova qilingan rasmga qarang).
  • Qo'shilgan eskizni yuklang.
  • Elastik arqon yordamida qurilmani bir oyoqqa ulang.
  • "Serial chizgich" ni oching.
  • Ushbu bosqichga biriktirilgan videoni tomosha qiling.

3 -qadam: Sensorlarni Arduino -ga birlashtirish

Image
Image
Sensorlarni Arduino -ga ulash
Sensorlarni Arduino -ga ulash

Biz datchiklarni qanday sozlashni ko'rdik, endi biz ikkala sensorni NodeMCU -ga birlashtiramiz!

  • Ikkala datchikni ham qurilmaga ulang, 1+2 -bosqichlarda ko'rsatilgan pinlardan foydalaning.
  • Qo'shilgan eskizni yuklang.
  • Qurilmani ikkita datchik bilan bir oyoqqa ulang.
  • "Serial chizgich" ni oching.
  • Qo'shilgan videoni tomosha qiling.

4 -qadam: ma'lumotlarni bulutga yuborish

Bulutga ma'lumotlarni yuborish!
Bulutga ma'lumotlarni yuborish!
Ma'lumotlarni bulutga yuborish!
Ma'lumotlarni bulutga yuborish!
Ma'lumotlarni bulutga yuborish!
Ma'lumotlarni bulutga yuborish!

Bu bosqichda biz qurilmamizni bulutga ulab, ajoyib jadvallarni ko'rish uchun ma'lumotlarni yuboramiz!

Biz MQTT protokolidan foydalanamiz va ma'lumotlarni "Adafruit" nomli bepul serverga yuboramiz.

ESLATMA: Adafruit har soniyada bir necha marta ma'lumotlarni yuborishni qo'llab -quvvatlamaydi, u sekinroq ishlaydi, shuning uchun biz ma'lumotlar nuqtalarining o'zi emas, balki ma'lumotlar punktlarining o'rtacha hisobini yuboramiz. Biz ikkita sensordan olingan ma'lumotlarni quyidagi o'zgarishlardan foydalanib, o'rtacha ma'lumotlarga aylantiramiz:

* Qadamni aniqlash vaqti daqiqadagi qadamlarga aylanadi. Har bir qadam davomiyligi (millis () - step_timestamp) orqali topilishi mumkin va o'rtacha, biz ko'rganimizdek, filtr yordamida amalga oshirilishi mumkin: val = val * 0,7 + new_val * 0,3.

* Bosqich kuchi o'rtacha qadam kuchiga aylanadi. Biz har bir qadam uchun "max" dan foydalanishning bir xil metodologiyasidan foydalanamiz, lekin filtr o'rtacha = o'rtacha * 0,6 + yangi_val * 0,4 filtri yordamida o'rtacha ishlash uchun filtrdan foydalanamiz.

Ko'rsatmalar:

  • Adafruit veb -saytiga io.adafruit.com manziliga kiring va hisobingiz borligiga ishonch hosil qiling.
  • Yangi boshqaruv panelini yarating, uni "Mening qadamlarim detektori" deb nomlashingiz mumkin.
  • Boshqaruv panelida + tugmachasini bosing va "chiziqli jadval" ni tanlang va "steps_per_min" nomli tasma yarating.
  • Boshqaruv panelida + tugmachasini bosing va "chiziqli jadval" ni tanlang va "o'rtacha_step_power" nomli tasma yarating.
  • Endi siz har bir maydon uchun 2 ta bo'sh jadvalni ko'rishingiz kerak.
  • Qo'shilgan eskizdan foydalaning va quyidagi konfiguratsiyani o'rnating:

USERNAME = sizning Adafruit foydalanuvchi nomingiz.

KEY = sizning Adafruit kalitingiz

WLAN_SSID = WIFI nomi

WLAN_PASS = Wi -Fi orqali o'tish

mpuStepThreshold = 2 -qadamdagi chegara

Keyin siz qurilmani bir oyoqqa ulashingiz mumkin va eskiz serverga qadam ma'lumotlarini yuboradi!

5 -qadam: 2 qurilmadan bir vaqtning o'zida foydalanish

Bir vaqtning o'zida 2 ta qurilmadan foydalanish
Bir vaqtning o'zida 2 ta qurilmadan foydalanish
Bir vaqtning o'zida 2 ta qurilmadan foydalanish
Bir vaqtning o'zida 2 ta qurilmadan foydalanish

Bu bosqichda biz bir vaqtning o'zida qurilma bilan yuradigan 2 kishini simulyatsiya qilamiz!

Biz 2 xil qurilmadan foydalanamiz - 4 -bosqichda aytilgan ma'lumotlar nuqtalari bilan.

Shunday qilib, bu juda oson, 3 ta oddiy vazifa bor:

1) 2-chi qurilmadan ma'lumotlar uchun qo'shimcha tasmalar yarating, biz "_2" tuzatishdan so'ng tuzatishni taklif qilamiz.

2) asboblar panelidagi bloklarni har ikkala kanaldan ma'lumotlarni taqdim etish uchun o'zgartiring.

3) ikkinchi qurilmaning eskizidagi tasmalar nomini o'zgartirish.

4) Natijalarni ko'ring!

ESLATMA:

Adafruit juda tez keladigan ma'lumotlarga qarshilik ko'rsatadi, ma'lumotni serverga yuborish chastotasini o'zgartirish kerak bo'lishi mumkin. Buni eskizda quyidagilarni topib qiling:

/ / Har 5 soniyada yuboring, bepul foydalanuvchilar uchun Adafruit limitidan oshmang. // Agar siz premium yoki o'z serveringizdan foydalansangiz, o'zgartirishingiz mumkin. // Har safar o'zgaruvchan ma'lumotlar nuqtasini yuboring. if (millis () - lastTimeDataSent> 5000) {

6 -qadam: takomillashtirish, eslatmalar va istiqbolli rejalar

Asosiy qiyinchilik:

Loyihadagi asosiy qiyinchilik NodeMCUni jismoniy faoliyatda sinab ko'rish edi. USB kabeli tez -tez uzilib qoladi va tez harakatlanayotganda pimlarni ajratish bilan bog'liq muammolar bo'lishi mumkin. Ko'p marta biz aslida ishlagan kodni tuzatdik va muammo jismoniy sohada edi.

Biz noutbukni yuguruvchiga yaqin olib, har bir kodni bir vaqtning o'zida yozib, bu qiyinchilikni engdik.

Yana bir qiyinchilik, har xil tarkibiy qismlarning muammosiz harakatlanishini ta'minlash edi:

  • Tezlashtiruvchi bilan piezo: 3 -bosqichda tasvirlanganidek, bizda ijodiy g'oya.
  • Server bilan sensorlar: 4 -bosqichda tasvirlanganidek, biz qiymatlarni serverga sekinroq yuboriladigan boshqa qiymatlarga aylantirdik.

Tizim cheklovlari:

  • Ishlatishdan oldin kalibrlash kerak.
  • Jismoniy faoliyatda osonlikcha buzilmaydigan qattiqroq mahsulotga aylantirish kerak.
  • Piezoelektrik sensor juda aniq emas.
  • Wi -Fi ulanishi kerak. (Uyali aloqa nuqtasi yordamida osongina hal qilinadi)

Kelajak rejalari

Endi, bizda oyog'ini kuzatib boradigan to'liq ishlaydigan qurilma bor, uni yanada takomillashtirish mumkin!

Ko'p pizzolar!

  • Piyezoni oyoqning turli joylariga ulang.
  • Multiplexer -dan foydalaning, chunki NodeMCU faqat bitta analog pinni qo'llab -quvvatlaydi.
  • Ta'sir zonalarini tasvirlash uchun oyoqning issiqlik xaritasini ko'rsatishi mumkin.
  • Noto'g'ri pozitsiya va tana muvozanati haqida ogohlantirishlar yaratish uchun ushbu ma'lumotlardan foydalanishi mumkin.

Ko'p qurilmalar!

  • Biz sizga bir vaqtning o'zida 2 ta qurilmani qanday ulashni ko'rsatdik, lekin siz 22 futbolchiga 22 piezoni ulashingiz mumkin!
  • O'yin davomida o'yinchilar haqida qiziqarli ko'rsatkichlarni ko'rsatish uchun ma'lumotlarni ochish mumkin!

Murakkab sensorlar

Biz piezo va akselerometrdan foydalandik, lekin siz chiqishni boyitadigan va qo'shimcha ma'lumot beradigan boshqa qurilmalarni qo'shishingiz mumkin:

  • Oyoq tovushlarini aniqlash uchun aniq lazerlar.
  • Oyoq va er orasidagi masofani o'lchang.
  • Turli xil o'yinchilar orasidagi masofani o'lchash (bir nechta qurilma bo'lsa)

Tavsiya: