Arduino stegräknare (5 / 6 steg)
Steg 5: kalibrering
Detta indikeras i nästa bild. För många läsare, kommer inte detta betyder någonting. Det är ett oscilloskop spår av en switch stänga av. Men för att förenkla, det är uppenbart att det inte är en smidig övergång från på till off. Eftersom den Arduino chipet är snabb, gick det faktiskt läsa flera "åtgärder" när det bara bör finnas en.
Lösning: Nu kan detta problem vara "debounced" i maskinvara eller programvara. Eftersom jag inte har någon kontroll över hårdvaran i någon stegräknare som du använder, använder jag en programvara "Dämpningstid."
Här är stegräknare koden:
MTS stegräknare läser om 1.2V öppen = 245 räknas
om (analogRead(PedoPin) < 50) / / om .245V
{
StepCnt + = 1;
TotalCnt + = 1;
Delay(300); Fördröja 3 SEK
}
Det finns två värden som behöver justeras. Först är 50. Kom ihåg när jag sa att du kan mäta den stängda värdet för Stegräknaren? Gjorde du det? Ja, är detta den spänning som skickas ut när användaren stäpp. 50 är i räknas där varje räkna är ca 0.0049VDC så 50 räknas är ca 0.245VDC.
Detta värde måste ställas in lite ovanför det uppmätta värdet. Anledningen är att den faktiska stängda spänningen varierar och det blir också olika på grund av motståndet av tråd. Jag faktiskt mäta inte värdet stängda men 50 bör fungera i de flesta fall. Den "<' symbol betyder bara att det måste vara mindre än 50. Du bryr sig inte hur mycket mindre.
Det andra värdet är delay(300). Detta är den programvara debounce. Inte vad detta betyder är att om Arduino ser ett steg, det inte kommer för 3 andra (300 millisekunder) innan det att leta efter ytterligare ett steg. Om mina beräkningar har rätt, skulle du behöva gå/springa på över 4,5 km/h för detta inte att fungera. Jag är gammal så jag inte tror det kommer att vara ett problem. Om du är yngre, kan du nog sätta i ett kortare dröjsmål värde.
Kalibreringen:
Ladda Arduino programvaran
Slå på Stegräknaren
Återställa Arduino
Ta din promenad
Spela in antalet steg från din stegräknare
Vänta 10 sekunder, koppla bort strömmen till Arduino
Teckna en SD-kortet och klistra in den i datorn.
Öppna filen senaste loggerxx.csv.
Gå till botten och få det sista totalt antal nummer.
Det bör vara nära räkningen på din stegräknare.
Min var inom 2 räknas över ett par prover över ett par timmar.
Om inte, justera värdena ovan och upprepa.
Jag sökte på internet på riktigheten av stegräknare. De flesta var inte så exakt, ofta om 10% så det är om alla är korrekta kan du få ändå.