Indholdsfortegnelse:

IDC2018IOT Leg Running Tracker: 6 trin
IDC2018IOT Leg Running Tracker: 6 trin

Video: IDC2018IOT Leg Running Tracker: 6 trin

Video: IDC2018IOT Leg Running Tracker: 6 trin
Video: Tracking Motion Fatigue in Running 2024, Juli
Anonim
IDC2018IOT Leg Running Tracker
IDC2018IOT Leg Running Tracker

Vi kom med denne idé som en del af "Internet Of Things" -kurset på IDC Herzliya.

Projektets mål er at forbedre fysiske aktiviteter, der involverer løb eller gang ved hjælp af NodeMCU, et par sensorer og en server. Resultatet af dette projekt er en meget nyttig IOT -enhed, der i fremtiden kan forvandles til et ægte produktionsprodukt, der vil blive brugt overalt! Fortæl os venligst, hvad du synes:)

Inden du starter, skal du sørge for at have:

* NodeMCU -enhed.

* 1 Piezoelektrisk sensor.

* MPU6050 sensor.

* En stor matrix.

* Elastisk reb.

* Firebase -konto.

Valgfri:

* Flere piezoelektriske sensorer

* multiplexer

Trin 1: Opsætning og kalibrering af MPU6050

Image
Image

"loading =" doven"

Opsætning af Piezo
Opsætning af Piezo

Instruktioner:

  • Tilslut piezo med 1M modstand (se vedhæftede billede).
  • Upload den vedhæftede skitse.
  • Tilslut enheden til den ene fod ved hjælp af det elastiske reb.
  • Åbn "seriel plotter".
  • Se den video, der er knyttet til dette trin.

Trin 3: Integrering af sensorerne til Arduino

Image
Image
Integrering af sensorerne til Arduino
Integrering af sensorerne til Arduino

Vi så, hvordan vi kalibrerede sensorerne, nu skal vi integrere begge sensorerne i NodeMCU!

  • Tilslut begge sensorer til enheden, brug de samme ben som i trin 1+2.
  • Indlæs den vedhæftede skitse.
  • Tilslut enheden med de 2 sensorer til en fod.
  • Åbn "seriel plotter".
  • Se den vedhæftede video.

Trin 4: Send data til skyen

Sender data til skyen!
Sender data til skyen!
Sender data til skyen!
Sender data til skyen!
Sender data til skyen!
Sender data til skyen!

I dette trin forbinder vi vores enhed til skyen og sender data for at se nogle fantastiske diagrammer!

Vi vil bruge MQTT -protokollen og sende data til en gratis server kaldet "Adafruit".

BEMÆRK: Adafruit understøtter ikke afsendelse af data et par gange hvert sekund, det fungerer i langsommere trin, derfor sender vi en gennemsnit af vores datapunkter og ikke datapunkterne selv. Vi vil transformere dataene fra vores 2 sensorer til gennemsnitlige data ved hjælp af følgende transformationer:

* Trindetekteringstiden omdannes til trin pr. Minut. Hvert trinvarighed kan findes ved (millis () - step_timestamp), og gennemsnittet kan udføres ved hjælp af et filter, som vi så før: val = val * 0,7 + new_val * 0,3.

* Trineffekt vil blive omdannet til gennemsnitlig trineffekt. Vi vil bruge den samme metode til at bruge "max" for hvert trin, men vi vil bruge et filter til at foretage en gennemsnitning ved hjælp af filtergennemsnittet = gennemsnit * 0,6 + new_val * 0,4.

Instruktioner:

  • Indtast Adafruit -webstedet på adressen io.adafruit.com, og sørg for at have en konto.
  • Opret et nyt dashboard, du kan navngive det "Mine trin -detektor".
  • Inde i instrumentbrættet skal du trykke på knappen + og vælge "linjediagram" og oprette et feed med navnet "trin_per_min".
  • Inde i instrumentbrættet skal du trykke på + -knappen og vælge "linjediagram" og oprette et feed med navnet "average_step_power".
  • Du skulle nu se 2 tomme diagrammer for hvert af felterne.
  • Brug den vedhæftede skitse og indstil følgende konfiguration:

USERNAME = dit Adafruit -brugernavn.

NØGLE = din Adafruit -nøgle

WLAN_SSID = WIFI -navn

WLAN_PASS = WIFI -pas

mpuStepThreshold = Tærskelværdi fra trin 2

Derefter kan du slutte enheden til en fod, og skitsen sender trindata til serveren!

Trin 5: Brug af 2 enheder på samme tid

Brug af 2 enheder på samme tid
Brug af 2 enheder på samme tid
Brug af 2 enheder på samme tid
Brug af 2 enheder på samme tid

På dette trin vil vi simulere 2 personer, der går med enheden på samme tid!

Vi vil bruge 2 forskellige enheder - med de samme datapunkter som forklaret i trin 4.

Så det er virkelig let, der er 3 enkle opgaver:

1) opret ekstra feeds til dataene fra den anden enhed, vi foreslår at give en efterrettelse af "_2"

2) rediger blokke i instrumentbrættet for at præsentere data fra begge feeds.

3) ændre navnet på feeds i skitsen af den anden enhed.

4) Se resultaterne!

BEMÆRK:

Adafruit modstår data, der kommer for hurtigt, det kan være nødvendigt at justere hyppigheden, hvor data sendes til serveren. gør det ved at finde følgende i skitsen:

/ / Send hvert 5. sekund ikke overstige Adafruit's grænse for gratis brugere. // Hvis du bruger premium eller din egen server, er du velkommen til at ændre. // Send hver gang et skiftende datapunkt. if (millis () - lastTimeDataSent> 5000) {

Trin 6: Forbedringer, noter og fremtidige planer

Hovedudfordringen:

Hovedudfordringen i projektet var at teste NodeMCU i en fysisk aktivitet. Usb -kablet afbrydes ofte, og når man forsøger at bevæge sig hurtigt, kan der være problemer med at løsne stifter. Mange gange debugger vi et stykke kode, der rent faktisk fungerede, og problemet var på det fysiske område.

Vi overvandt denne udfordring ved at bære den bærbare computer tæt på løberen og skrive hvert stykke kode ad gangen.

En anden udfordring var at få de forskellige komponenter til at fungere gnidningsløst:

  • Piezoen med acceleromteren: Flyttede det som beskrevet i trin 3 af en kreativ idé, vi havde.
  • Sensorerne med serveren: som beskrevet i trin 4 omdannede vi værdierne til andre værdier, der kan sendes til en server i et langsommere tempo.

Systemets begrænsninger:

  • Kræver kalibrering før brug.
  • Skal gøres til et mere stift produkt, der ikke let går i stykker ved fysisk aktivitet.
  • Den piezoelektriske sensor er ikke særlig præcis.
  • Har brug for en wifi -forbindelse. (Let løst ved hjælp af mobiltelefon -hotspot)

Fremtidsplaner

Nu, hvor vi har en fuldt fungerende benovervågningsenhed, er der yderligere forbedringer, der kan gøres!

Flere pizeoer!

  • Tilslut piezoer til forskellige områder i foden.
  • Brug multiplexer, da NodeMCU kun understøtter en analog pin.
  • Kan vise et varmekort over foden for at beskrive slagområder.
  • Kan bruge disse data til at oprette advarsler om forkert kropsholdning og kropsbalance.

Mange enheder!

  • Vi viste dig, hvordan du tilslutter 2 enheder på samme tid, men du kan forbinde 22 piezoer til 22 fodboldspillere!
  • Dataene kan afsløres under spillet for at vise nogle interessante metrics om spillerne!

Avancerede sensorer

Vi brugte piezo og accelerometer, men du kan tilføje andre enheder, der beriger output og giver flere data:

  • Nøjagtige lazers til at opdage fodspor.
  • Mål afstanden mellem foden og jorden.
  • Mål afstand mellem forskellige spillere (i tilfælde af flere enheder)

Anbefalede: