Rörelseaktiverade hastighet kostym (8 / 19 steg)
Steg 8: Arduino kod
Memsic 2125 utgångar pulser som varierar i längd som gäller för acceleration. Dessa pulser läses in med funktionen "pulseIn()", som returnerar puls längd i mikrosekunder. Memsic databladet levererar en formel för att konvertera denna puls längd till acceleration (se bild från datablad).
För att avgöra vad användaren gör, Arduino beräknar spänna av acceleration för den lodräta axeln (axel i linje med gravity-denna axel ser den största förändringen när bäraren rör sig) under en tid av ungefär en sekund. Det gör detta genom att hitta de högsta och lägsta värdena under den tiden, då med av skillnaden. Spänner för löpning, promenader och står fortfarande är ganska distinkt; Därför kan jag ställa in tröskelvärden för att definiera de verksamheter (dessa trösklar förmodligen varierar från person till person). I mitt fall, står fortfarande hade ett antal 0-0,15 g, promenader hade ett antal 0,15-0,30 g och kör hade en rad > 0.30 g. Observera att i koden jag en faktor 100 min accelerometer värden att undvika med hjälp av flöten.
När koden har bestämt aktiviteten, kontrollerar det EL binda därmed. Om bäraren står fortfarande, blir EL kabeln bort; om bäraren promenader, blinkar det; och om bäraren körs det stannar på.