Indholdsfortegnelse:
- Trin 1: Opsætning og kalibrering af MPU6050
- Trin 3: Integrering af sensorerne til Arduino
- Trin 4: Send data til skyen
- Trin 5: Brug af 2 enheder på samme tid
- Trin 6: Forbedringer, noter og fremtidige planer
Video: IDC2018IOT Leg Running Tracker: 6 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
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
"loading =" doven"
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
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
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
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:
Desktop COVID19 -tracker med ur! Raspberry Pi Powered Tracker: 6 trin
Desktop COVID19 -tracker med ur! Raspberry Pi Powered Tracker: Vi ved, at vi kan dø når som helst, selv jeg kan dø, mens jeg skriver dette indlæg, trods alt, jeg mig, du, vi er alle dødelige. Hele verden rystede på grund af COVID19 -pandemien. Vi ved, hvordan vi kan forhindre dette, men hej! vi ved, hvordan vi skal bede, og hvorfor vi skal bede, gør vi det
Leg med håndvægur: 14 trin
Leg med håndvægur: Elektronisk håndvægur (kommercielt mærkningskvarts) er i dag ikke noget særligt. Det kan købes i mange butikker. I nogle af dem er de ekstremt billige; med pris omkring € 2 (50CZK). Den lave pris kan være motivation til at se nærmere på
Leg Abduction Attachment for Pediatric Walker: 4 trin
Leg Abduction Attachment for Pediatric Walker: Denne instruktive viser dig, hvordan jeg lavede en guide til min søns rollator for at forhindre 'saks' eller krydsning af benene, mens jeg gik. Et 'holdbart medicinsk udstyr' vedhæftet fil fra en producent vil koste dig hundredvis af dollars; dette er s
Leg med tiden: 6 trin
Playing With Time: Den første idé med dette projekt var: lav en gave, skab et originalt elektronisk kredsløb, brug en gammel telefonopringning til en " steampunk " udseende
Syntethandsken: Leg med Gakken SX-150: 8 trin (med billeder)
The Synth Glove: Leg med Gakken SX-150: {// God til begyndere elektronik-er. // Det vil give dig nogle grundlæggende knowhow til opbygning af grænseflader. // Hvis vi skal være ærlige, er det meste af dette allerede i andre Ibles, men jeg kunne godt lide tanken om at samle // disse projekter. // Gakken