Innholdsfortegnelse:
- Trinn 1: Konfigurere og kalibrere MPU6050
- Trinn 3: Integrering av sensorene til Arduino
- Trinn 4: Sende data til nettskyen
- Trinn 5: Bruke 2 enheter samtidig
- Trinn 6: Forbedringer, notater og fremtidsplaner
Video: IDC2018IOT Leg Running Tracker: 6 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
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
"loading =" lat"
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
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
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
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:
Visuino Running LED: 9 trinn
Visuino Running LED: I denne opplæringen bruker vi 6x LED, Arduino UNO og Visuino for å kjøre LED -lys ved hjelp av sekvenskomponenter. Sekvenskomponenten er perfekt for situasjoner der vi ønsker å utløse flere hendelser i rekkefølge. Se en demonstrasjonsvideo
Running LED With Arduino: 3 trinn
Kjører LED med Arduino: Det er morsomt å se mange lys … Så jeg tenkte kan vi lage kjørende LED med forskjellige mønstre ved hjelp av Arduino ?? Så jeg prøvde å lage dem..Her er en opplæring om hvordan du lager
Desktop COVID19 -tracker med klokke! Raspberry Pi Powered Tracker: 6 trinn
Desktop COVID19 -tracker med klokke! Raspberry Pi Powered Tracker: Vi vet at vi kan dø når som helst, selv jeg kan dø mens jeg skriver dette innlegget, tross alt, jeg meg, du, vi er alle dødelige. Hele verden rystet på grunn av COVID19 -pandemien. Vi vet hvordan vi kan forhindre dette, men hei! vi vet hvordan vi skal be og hvorfor vi skal be, gjør vi det
Leg Abduction Attachment for Pediatric Walker: 4 trinn
Leg Abduction Attachment for Pediatric Walker: Denne instruksen vil vise deg hvordan jeg laget en guide for sønnens rullator for å forhindre 'saks' eller kryssing av beina mens jeg gikk. Et 'holdbart medisinsk utstyr' vedlegg fra en produsent vil koste deg hundrevis av dollar; dette er s
Movie Tracker - Raspberry Pi Powered Theatrical Release Tracker: 15 trinn (med bilder)
Movie Tracker - Raspberry Pi Powered Theatrical Release Tracker: Movie Tracker er et clapperboard -formet, Raspberry Pi -drevet Release Tracker. Den bruker TMDb API for å skrive ut plakaten, tittelen, utgivelsesdatoen og oversikten over kommende filmer i din region, i et bestemt tidsintervall (f.eks. Filmutgivelser denne uken) den