Innholdsfortegnelse:

IDC2018IOT Leg Running Tracker: 6 trinn
IDC2018IOT Leg Running Tracker: 6 trinn

Video: IDC2018IOT Leg Running Tracker: 6 trinn

Video: IDC2018IOT Leg Running Tracker: 6 trinn
Video: Night 2024, November
Anonim
IDC2018IOT Leg Running Tracker
IDC2018IOT Leg Running Tracker

Vi kom ut med denne ideen som en del av "Internet Of Things" -kurset ved IDC Herzliya.

Prosjektets mål er å forbedre fysiske aktiviteter som innebærer å løpe eller gå med NodeMCU, noen få sensorer og en server. Resultatet av dette prosjektet er en veldig nyttig IOT -enhet som i fremtiden kan gjøres om til et ekte produksjonsprodukt som vil bli brukt overalt! Gi oss beskjed om hva du synes:)

Sørg for at du har:

* NodeMCU -enhet.

* 1 Piezoelektrisk sensor.

* MPU6050 sensor.

* En stor matrise.

* Elastisk tau.

* Firebase -konto.

Valgfri:

* Flere piezoelektriske sensorer

* multiplexer

Trinn 1: Konfigurere og kalibrere MPU6050

Image
Image

"loading =" lat"

Sette opp Piezo
Sette opp Piezo

Bruksanvisning:

  • Koble piezo med 1M motstand (se vedlagte bilde).
  • Last opp den vedlagte skissen.
  • Koble enheten til en fot ved hjelp av det elastiske tauet.
  • Åpne "serieplotter".
  • Se videoen som er vedlagt dette trinnet.

Trinn 3: Integrering av sensorene til Arduino

Image
Image
Integrering av sensorene til Arduino
Integrering av sensorene til Arduino

Vi så hvordan vi kalibrerte sensorene, nå skal vi integrere begge sensorene i NodeMCU!

  • Koble begge sensorene til enheten, bruk de samme pinnene som i trinn 1+2.
  • Last den vedlagte skissen.
  • Koble enheten med de 2 sensorene til en fot.
  • Åpne "serieplotter".
  • Se den vedlagte videoen.

Trinn 4: Sende data til nettskyen

Sender data til nettskyen!
Sender data til nettskyen!
Sender data til nettskyen!
Sender data til nettskyen!
Sender data til nettskyen!
Sender data til nettskyen!

I dette trinnet vil vi koble enheten til skyen og sende data for å se noen fantastiske diagrammer!

Vi vil bruke MQTT -protokollen og sende data til en gratis server kalt "Adafruit".

MERK: Adafruit støtter ikke sending av data noen ganger hvert sekund, det fungerer i tregere tempo, derfor sender vi en gjennomsnitt av våre datapunkter, og ikke datapunktene selv. Vi vil transformere dataene fra våre 2 sensorer til gjennomsnittsdata ved å bruke følgende transformasjoner:

* Trinndeteksjonstiden vil bli transformert til trinn per minutt. Hver trinnvarighet kan bli funnet ved (millis () - step_timestamp), og gjennomsnittet kan gjøres ved hjelp av et filter, som vi så før: val = val * 0,7 + new_val * 0,3.

* Trinnkraft blir transformert til gjennomsnittlig trinnkraft. Vi vil bruke den samme metoden for å bruke "maks" for hvert trinn, men vi vil bruke et filter for å gjøre et gjennomsnitt ved hjelp av filtergjennomsnittet = gjennomsnitt * 0,6 + nytt_val * 0,4.

Bruksanvisning:

  • Gå inn på nettstedet til Adafruit på adressen io.adafruit.com og kontroller at du har en konto.
  • Lag et nytt dashbord, du kan kalle det "Mine trinndetektorer".
  • Inne i dashbordet trykker du på + -knappen og velger "linjediagram", og oppretter en feed kalt "trinn_per_min".
  • Inne i dashbordet trykker du på + -knappen og velger "linjediagram", og oppretter en feed som heter "gjennomsnittlig_stegkraft".
  • Du bør nå se to tomme diagrammer for hvert av feltene.
  • Bruk den vedlagte skissen og angi følgende konfigurasjon:

USERNAME = Adafruit -brukernavnet ditt.

NØKKEL = Adafruit -nøkkelen din

WLAN_SSID = WIFI -navn

WLAN_PASS = WIFI -pass

mpuStepThreshold = Terskel fra trinn 2

Deretter kan du koble enheten til en fot, og skissen vil sende trinndata til serveren!

Trinn 5: Bruke 2 enheter samtidig

Bruker 2 enheter samtidig
Bruker 2 enheter samtidig
Bruker 2 enheter samtidig
Bruker 2 enheter samtidig

På dette trinnet vil vi simulere 2 personer som går med enheten på samme tid!

Vi bruker to forskjellige enheter - med de samme datapunktene som forklart i trinn 4.

Så dette er veldig enkelt, det er 3 enkle oppgaver:

1) opprett ekstra feeder for dataene fra den andre enheten, vi foreslår at du gir en etterrettelse av "_2"

2) endre blokkene i dashbordet for å presentere data fra begge feedene.

3) endre navnet på feedene i skissen av den andre enheten.

4) Se resultatene!

MERK:

Adafruit motstår data som kommer for fort, det kan være nødvendig å justere frekvensen som data sendes til serveren. gjør det ved å finne følgende i skissen:

/ / Send hvert 5. sekund, ikke overstige Adafruits grense for gratisbrukere. // Hvis du bruker premium eller din egen server, er du velkommen til å endre. // Send et vekslende datapunkt hver gang. if (millis () - lastTimeDataSent> 5000) {

Trinn 6: Forbedringer, notater og fremtidsplaner

Hovedutfordringen:

Hovedutfordringen i prosjektet var å teste NodeMCU i fysisk aktivitet. Usb -kabelen kobles ofte fra, og når du prøver å bevege deg raskt, kan det være problemer med å løsne pinner. Mange ganger feilsøkte vi et stykke kode som faktisk fungerte, og problemet var i det fysiske området.

Vi overvant denne utfordringen ved å bære den bærbare datamaskinen nær løperen og skrive hver kodebit om gangen.

En annen utfordring var å få de forskjellige komponentene til å samhandle jevnt:

  • Piezoen med akseleratoren: Flyttet det som beskrevet i trinn 3, av en kreativ idé vi hadde.
  • Sensorene med serveren: som beskrevet i trinn 4, transformerte vi verdiene til andre verdier som kan sendes til en server i et lavere tempo.

Systemets begrensninger:

  • Trenger kalibrering før bruk.
  • Må gjøres om til et mer stivt produkt som ikke brytes lett i fysisk aktivitet.
  • Den piezoelektriske sensoren er ikke veldig nøyaktig.
  • Trenger litt wifi -tilkobling. (Løst enkelt ved hjelp av mobiltelefon -sone)

Fremtidsplaner

Nå som vi har en fullt fungerende benovervåking, er det ytterligere forbedringer som kan gjøres!

Flere pizeoer!

  • Koble piezoer til forskjellige områder i foten.
  • Bruk multiplexer siden NodeMCU bare støtter en analog pin.
  • Kan vise et varmekart av foten for å beskrive slagområder.
  • Kan bruke disse dataene til å lage varsler om feil holdning og kroppsbalanse.

Mange enheter!

  • Vi viste deg hvordan du kobler 2 enheter samtidig, men du kan koble 22 piezoer til 22 fotballspillere!
  • Dataene kan avsløres under spillet for å vise noen interessante beregninger om spillerne!

Avanserte sensorer

Vi brukte piezo og akselerometer, men du kan legge til andre enheter som vil berike utgangen og gi mer data:

  • Nøyaktige lazers for å oppdage fotspor.
  • Mål avstanden mellom foten og bakken.
  • Mål avstand mellom forskjellige spillere (ved flere enheter)

Anbefalt: