Innehållsförteckning:
- Steg 1: Installera och kalibrera MPU6050
- Steg 3: Integrera sensorerna till Arduino
- Steg 4: Skicka data till molnet
- Steg 5: Använda 2 enheter samtidigt
- Steg 6: Förbättringar, anteckningar och framtidsplaner
Video: IDC2018IOT Ben Running Tracker: 6 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:45
Vi kom ut med denna idé som en del av kursen "Internet Of Things" på IDC Herzliya.
Projektets mål är att förbättra fysiska aktiviteter som innebär att springa eller gå med hjälp av NodeMCU, några sensorer och en server. Resultatet av detta projekt är en mycket användbar IOT -enhet som i framtiden kan förvandlas till en riktig produktionsprodukt som kommer att användas överallt! Berätta gärna vad du tycker:)
Innan du börjar, se till att du har:
* NodeMCU -enhet.
* 1 Piezoelektrisk sensor.
* MPU6050 -sensor.
* En stor matris.
* Elastiskt rep.
* Firebase -konto.
Frivillig:
* Flera piezoelektriska sensorer
* multiplexer
Steg 1: Installera och kalibrera MPU6050
"laddar =" lat"
Instruktioner:
- Anslut piezo med 1M motstånd (se bifogad bild).
- Ladda upp den bifogade skissen.
- Anslut enheten till en fot med det elastiska repet.
- Öppna "serieplotter".
- Se videon som bifogas detta steg.
Steg 3: Integrera sensorerna till Arduino
Vi såg hur vi kalibrerade sensorerna, nu ska vi integrera båda sensorerna i NodeMCU!
- Anslut båda sensorerna till enheten, använd samma stift som i steg 1+2.
- Ladda den bifogade skissen.
- Anslut enheten med de 2 sensorerna till en fot.
- Öppna "serieplotter".
- Se den bifogade videon.
Steg 4: Skicka data till molnet
I det här steget kommer vi att ansluta vår enhet till molnet och skicka data för att se några fantastiska diagram!
Vi kommer att använda MQTT -protokollet och skicka data till en gratis server som heter "Adafruit".
OBS: Adafruit stöder inte att skicka data några gånger varje sekund, det fungerar i långsammare takt, därför kommer vi att skicka ett genomsnitt av våra datapunkter, och inte datapunkterna själva. Vi kommer att omvandla data från våra 2 sensorer till medelvärdesdata med hjälp av följande transformationer:
* Stegdetekteringstiden omvandlas till steg per minut. Varje steglängd kan hittas med (millis () - step_timestamp), och medelvärdet kan göras med ett filter, som vi såg tidigare: val = val * 0,7 + new_val * 0,3.
* Stegkraft kommer att omvandlas till genomsnittlig stegeffekt. Vi kommer att använda samma metod för att använda "max" för varje steg, men vi kommer att använda ett filter för att göra ett medelvärde med hjälp av filtergenomsnittet = genomsnitt * 0,6 + nytt_val * 0,4.
Instruktioner:
- Gå in på Adafruits webbplats på adressen io.adafruit.com och se till att du har ett konto.
- Skapa en ny instrumentpanel, du kan ge den namnet "Mina stegdetektorer".
- Inne i instrumentpanelen, tryck på + -knappen och välj "linjediagram" och skapa ett flöde som heter "steg_per_min".
- Inne i instrumentpanelen, tryck på + -knappen och välj "linjediagram" och skapa ett flöde med namnet "genomsnittlig_stegskraft".
- Du bör nu se två tomma diagram för vart och ett av fälten.
- Använd den bifogade skissen och ställ in följande konfiguration:
USERNAME = ditt Adafruit -användarnamn.
KEY = din Adafruit -nyckel
WLAN_SSID = WIFI -namn
WLAN_PASS = WIFI -pass
mpuStepThreshold = Tröskelvärde från steg 2
Sedan kan du ansluta enheten till en fot och skissen skickar stegdata till servern!
Steg 5: Använda 2 enheter samtidigt
På det här steget kommer vi att simulera 2 personer som går med enheten samtidigt!
Vi kommer att använda 2 olika enheter - med samma datapunkter som förklaras i steg 4.
Så det här är verkligen enkelt, det finns tre enkla uppgifter:
1) skapa extra flöden för data från den andra enheten, vi föreslår att du ger en efterkorrigering av "_2"
2) ändra blocken i instrumentpanelen för att presentera data från båda flödena.
3) ändra namnet på flödena i skissen av den andra enheten.
4) Se resultatet!
NOTERA:
Adafruit motstår data som kommer för snabbt, det kan behövas för att justera frekvensen som data skickas till servern. gör det genom att hitta följande i skissen:
/ / Skicka var femte sekund inte överstiga Adafruits gräns för gratis användare. // Om du använder premium eller din egen server kan du ändra. // Skicka en alternativ datapunkt varje gång. if (millis () - lastTimeDataSent> 5000) {
Steg 6: Förbättringar, anteckningar och framtidsplaner
Huvudutmaningen:
Den största utmaningen i projektet var att testa NodeMCU i en fysisk aktivitet. USB -kabeln kopplas bort ofta, och när man försöker röra sig snabbt kan det uppstå problem med att lossa stiften. Många gånger felsökade vi en kod som faktiskt fungerade, och problemet var i det fysiska området.
Vi övervann denna utmaning genom att bära den bärbara datorn nära löparen och skriva varje kodbit åt gången.
En annan utmaning var att få de olika komponenterna att interagera smidigt:
- Piezoen med accelerometern: Gjorde det som beskrivs i steg 3, av en kreativ idé vi hade.
- Sensorerna med servern: som beskrivs i steg 4 omvandlade vi värdena till andra värden som kan skickas till en server i en långsammare takt.
Systemets begränsningar:
- Behöver kalibrering före användning.
- Måste förvandlas till en mer stel produkt som inte går sönder lätt vid fysisk aktivitet.
- Den piezoelektriska sensorn är inte särskilt exakt.
- Behöver viss wifi -anslutning. (Lätt att lösa med mobiltelefons hotspot)
Framtida planer
Nu när vi har en fullt fungerande benövervakningsenhet finns det ytterligare förbättringar som kan göras!
Flera pizeos!
- Anslut piezos till olika områden i foten.
- Använd multiplexer eftersom NodeMCU bara stöder en analog pin.
- Kan visa en värmekarta över foten för att beskriva påverkningsområden.
- Kan använda dessa data för att skapa varningar om fel hållning och kroppsbalans.
Många enheter!
- Vi visade dig hur du ansluter 2 enheter samtidigt, men du kan ansluta 22 piezos till 22 fotbollsspelare!
- Data kan exponeras under spelet för att visa några intressanta mätvärden om spelarna!
Avancerade sensorer
Vi använde piezo och accelerometer, men du kan lägga till andra enheter som berikar utmatningen och ger mer data:
- Exakta lazers för att upptäcka fotspår.
- Mät avståndet mellan foten och marken.
- Mät avståndet mellan olika spelare (vid flera enheter)
Rekommenderad:
Visuino Running LED: 9 steg
Visuino Running LED: I denna handledning kommer vi att använda 6x LED, Arduino UNO och Visuino för att köra LED -ljus med sekvenskomponent. Sekvenskomponenten är perfekt för situationer där vi vill utlösa flera händelser i följd. Se en demonstrationsvideo
Desktop COVID19 Tracker med klocka! Raspberry Pi Powered Tracker: 6 steg
Desktop COVID19 Tracker med klocka! Raspberry Pi Powered Tracker: Vi vet att vi kan dö när som helst, även jag kan dö medan jag skriver det här inlägget, trots allt, jag mig, du, vi är alla dödliga. Hela världen skakade på grund av COVID19 -pandemin. Vi vet hur vi ska förhindra detta, men hej! vi vet hur man ber och varför man ber, gör vi
Luck's Running Out - Spel: 7 steg
Luck's Running Out - Game: Det här är ett spel av hastighet och slump, ungefär som varm potatis, klövern går runt tills låten och animationen slutar. Det här spelet är roligast när det kombineras med en kort uppgift att slutföra innan du passerar klövern. Jag är ingen teknisk kunnig person,
Running Light: 8 steg
The Running Light: Välkommen till min första Instructable för mitt första Arduino -projekt
Movie Tracker - Raspberry Pi Powered Theatrical Release Tracker: 15 steg (med bilder)
Movie Tracker - Raspberry Pi Powered Theatrical Release Tracker: Movie Tracker är en clapperboardformad, Raspberry Pi -driven Release Tracker. Den använder TMDb API för att skriva ut affischen, titeln, utgivningsdatumet och översikten över kommande filmer i din region, inom ett visst tidsintervall (t.ex. filmsläpp den här veckan) den