Work It Out: Een interactieve fitness motivatie systeem (9 / 10 stap)

Stap 9: Programmeren uw kledingstuk | Versnellingsmeter volledige Code

Hieronder is de volledige code van de Arduino voor de versnellingsmeter:

/*
Training!
Hier is de steekproefcode gebruikt voor het maken van een draagbaar systeem dat gebruikmaakt van een versnellingsmeter te tellen van het aantal
stappen een gebruiker neemt. Het systeem wordt deze waarde opgeslagen in een variabele en uitgangen een visuele weergave, gebaseerd op de
nummer.
Hieronder is de code die wordt gebruikt. */

de volgende stelt de variabelen en de pinnen gebruikt in de code

de volgende beschrijven de pinnen gebruikt voor de lichte pads

int geleid = 5;
int led2 = 9;
int led3 = 11;
/ / int stappen = 7;

Deze constanten worden beschreven de pinnen voor de versnellingsmeter gebruikt:
Const int xpin = A5; / / x-as van de versnellingsmeter
Const int ypin = A2; / / y-as
Const int zpin = A3; / / z-as (alleen op 3 assen modellen)

aantal milliseconden tussen lezingen
int sampleDelay = 500;
/ / de wereldwijde "stappen" variabele beschrijft de variabele gebruikt om te bepalen van de output van verlichting:

int stappen = 0;

SoftwareSerial xbee(5,6);

de setup start"" alles:

VOID Setup {}

Initialiseer de seriële communicatie:
Serial.begin(9600);
/ / set de Xbee seriële als 9600
XBee.begin(9600);
/ / de digitale pinnen als uitgang en de versnellingsmeter-pinnen als ingangen initialiseren:
pinMode led (, uitvoer);
pinMode (led2, OUTPUT);
pinMode (led3, OUTPUT);
pinMode (xpin, INPUT);
pinMode (ypin, INPUT);
pinMode (zpin, INPUT);

}

de routine van de lus wordt uitgevoerd over en weer forever:

void loop {}

versnellingsmeter code die wordt gebruikt om te bepalen van de variabele 'stappen'

de volgende flot variabelen worden gebruikt om te helpen bij het bepalen van de drempel voor "stappen":

float oldy = 0;
float drempel = 0;
//read de waarde van xbee
sensorValue = xbee.read();
//serial poort die wordt afgedrukt wat werd gelezen om te bevestigen dat het is ontvangen
Serial.Print("; Sensor-waarde = ");
Serial.write(senorValue);
/ / pin lezingen voor x, y, z:
int x = analogRead(xpin);
delay(1); //add een kleine vertraging tussen pin lezingen. Ik lees dat u dit doen moet maar nog niet het belang getest
int y = analogRead(ypin);
delay(1); //add een kleine vertraging tussen pin lezingen. Ik lees dat u dit doen moet maar nog niet het belang getest
int z = analogRead(zpin);

/ * zero_G is de lezing die we van de sensor verwachten wanneer het detecteert geen versnelling. Deze waarde van de sensor om een verschoven sensor lezen lezen aftrekken. */
zweven zero_G = 512;

/ * schaal is het aantal eenheden dat wij verwachten de sensorgegevens dat te wijzigen wanneer de versnelling langs een as met 1G wijzigt. Verdeel de verschoven sensor lezen door schaal om versnelling in Gs. * /
zweven schaal = 102,3;

voor dit project zijn we niet afdrukken van de waarden van de 'x', maar als u wilt dat ze afgedrukt:
Serial.Print (((float) x - zero_G) / schaal);
Serial.Print("\t");

voor dit project, we zijn afdrukken van de waarden van de 'y', dit zal helpen de drempel te bepalen:
drempel = oldy - ((float) y - zero_G) / schaal;
Serial.Print ("y =");
Serial.Print (((float) y - zero_G) / schaal);
Serial.Print("; drempel = ");
Serial.println(Threshold);

voor dit project zijn we niet afdrukken van de waarden van de 'z', maar als u wilt dat ze afgedrukt:
Serial.Print("\t");
Serial.Print (((float) z - zero_G) / schaal); Serial.Print("\n");

Als (drempel > 1.3)
stappen ++;
Serial.Print ("stappen =");
Serial.Print(Steps);

code die wordt gebruikt om te bepalen welke set lichten aan output:
Als (stappen < = 5) {}
digitalWrite (led, hoog); de eerste LED-display inschakelen (HIGH is het spanningsniveau)
/ / delay(1000); / / wait voor een tweede
digitalWrite (led, laag); de eerste LED-display uitschakelen door de spanning laag
delay(1000); wachten op een tweede

SoftwareSerial.println("A");
}
anders als ((steps > 5) & & (stappen < 10)) {}
digitalWrite (led2, hoge); Draai de tweede LED display op (HIGH is het spanningsniveau)
/ / delay(1000); / / wait voor een tweede
digitalWrite (led2, laag); de tweede LED-display uitschakelen door de spanning laag
delay(1000); wachten op een tweede

SoftwareSerial.println("B");

}
anders als (stappen > 10) {}
digitalWrite (led3, hoge); Draai de derde LED display op (HIGH is het spanningsniveau)
/ / delay(1000); / / wait voor een tweede
digitalWrite (led3, laag); het derde LED-display uitschakelen door de spanning laag
delay(1000); wachten op een tweede

SoftwareSerial.println("C");
}

else {}
keren 0;
}
/ / vertraging voordat de volgende lezing:
delay(sampleDelay);
}

Gerelateerde Artikelen

Maak een interactieve iPad gecontroleerde LED Wall

Maak een interactieve iPad gecontroleerde LED Wall

Toon mij de youtube video van de muur in actie!Iedereen wil een gigantische LED-displays te tonen hun koele, geometrische LED golven, of fuzzy roze Elvis kunst. Echter om een massieve muur van LEDs, hebt om erachter te komen hoe zet je fuzzy roze Elv
Balloonacy! -Een interactieve ballon indompeling

Balloonacy! -Een interactieve ballon indompeling

Balloonacy! is het concept voor een interactieve ballon onderdompeling.Duizenden ballonnen + beweging gevoelige LEDS = veel plezier.Het was een ervaring die ik heb in San Francisco in mei 2012 samen met medewerkers Isaac Shivvers en Will Skinner gema
Babbletron - een interactieve verkenning van computer gegenereerde toespraak

Babbletron - een interactieve verkenning van computer gegenereerde toespraak

De babbletron is een apparaat waarmee u bij het verkennen van de wereld van computer gegenereerde toespraak. Het basisconcept gebruikt door de babbletron is dat synthetische spraak kan worden benaderd met behulp van een klein aantal fonetisch geïsole
Maak een super easy hydroponics systeem!

Maak een super easy hydroponics systeem!

ik ben bezig, zoals tuinieren en vergeetachtig. Wat is de gemakkelijke manier te bestrijden dat alles, en te groeien planten? Een hydroponics systeem!Hydrocultuur, of de kunst van het kweken zonder bodem, is pretty darn eenvoudig. Water, nutriënten +
Hoe maken en gebruiken van een My Fitness Pal Account

Hoe maken en gebruiken van een My Fitness Pal Account

probeert om gewicht te verliezen?Afvallen kan een moeilijk proces voor vele individuen worden.  Gelukkig, het hoeft niet te worden.Gebruikers kunnen zich aanmelden voor hun voedsel in een online dagboek dat houdt spoor van al hun calorieën en voeding
Hoe WALL MOUNT een TV op een interactieve TV MOUNT

Hoe WALL MOUNT een TV op een interactieve TV MOUNT

Sommige dingen lijken erg ingewikkeld alleen vanwege hoe we ze zien. We heb een heleboel mensen die hou van het zien van hun mooie TV op de muur van die ideale hoek, maar zijn bang hun TVs te monteren met behulp van een interactieve TV wandophangsyst
Maken van een interactieve twinkling winter cap

Maken van een interactieve twinkling winter cap

Winter in Nederland! Geen sneeuw, geen ijs, maar eindeloze regen. Zij zeggen de mensen rond de Noordpool hebben 29 woorden voor sneeuw hebben Nederlanders over hetzelfde aantal woorden voor regen.We hebben toch een gevoel van de winter zo hoort het o
Hoe maak je een interactieve muziekspeler voor evenementen

Hoe maak je een interactieve muziekspeler voor evenementen

In dit instructable ik zal u vertellen hoe te bouwen van een interactieve muziekspeler voor evenementen om het vermaken van uw bezoekers in uw beursstand.Gewoon dit project hangt af van twee ultrasone sensoren om de afstand tussen de muziekspeler en
AUX kabel installatie voor een Cabasse Auditorium 6CD systeem - voorzien in Renault auto's

AUX kabel installatie voor een Cabasse Auditorium 6CD systeem - voorzien in Renault auto's

dit instructable is om iedereen te helpen met een Cabasse Auditorium 6CD speler systeem geïnstalleerd in hun auto, deze worden meestal geïnstalleerd in de Renaults als de 'upgrade' sound-systeem.Zijn een misvatting dat de head-unit (niet ICE mensen -
STICK IT | Een interactieve manier om muziek te maken.

STICK IT | Een interactieve manier om muziek te maken.

Bekijk de video om te zien in actie! Ik gebruikte een plant om verschillende tonen, en ook een glas water om nieuwe geluiden te maken, kun je zien!Stap 1: Plak het | Een interactieve manier om muziek te maken.Eerste arduino project voor een schoolpro
Hoe maak je een interactieve fictie spel als "Zork"

Hoe maak je een interactieve fictie spel als "Zork"

Hoi allemaal!Herinner de goede oude tijd, toen het onmogelijk was om meer dan één kleur op een scherm, en zonder afbeeldingen helemaal? In de vroege jaren 80, een reeks van tekst gebaseerde adventure games, de Zork serie waar gemaakt door een bedrijf
Flora-een interactieve bloem

Flora-een interactieve bloem

Hallo iedereen... Vandaag heb ik iets uit mijn bloementuin genomen... We weten allemaal, planten hebben hun eigen leven, kunnen ze zich net als ons... maar ze kunnen niet uitdrukken dat het... Maar wat gebeurt er als een bloem de mogelijkheid krijgt
Zet uw Raspberry Pi in een Hamster Fitness Tracker

Zet uw Raspberry Pi in een Hamster Fitness Tracker

Heb je je ooit afgevraagd hoeveel uw hamster loopt gedurende de dag/nacht? Hoe ver? Hoe snel? Mijn 9 jaar oude dochter deed, en we besloten om uit te vinden. Turns out, was het een vrij gemakkelijk, en de resultaten waren ongelofelijk.Hier zijn de le
Maak een interactieve Living Wall

Maak een interactieve Living Wall

dit instructable is gemaakt als onderdeel van het eindproject vereiste in de CS afgestudeerde cursus "Tastbare Interactive Computing" aan de Universiteit van Maryland, College Park onderwezen door Professor Jon Froehlich. De cursus gericht op he