Stap 7: Programmeren uw kledingstuk | Versnellingsmeter lezing
Hardware Arduino gebruikt
1 - LilyPad SimpleSnap
1 - LilyPad SimpleSnap Protoboard
1 - LilyPad XBee (breakout boards)
1 - LilyPad XBee 1mW Trace antenne - reeks 1
1 - LilyPad programmeur
1 - LilyPad versnellingsmeter ADXL335
Versnellingsmeter Code
De onderstaande code uit het voorbeeld van de Arduino versnellingsmeter werd aangepast.
Deze constanten worden beschreven van de pinnen. Ze zal niet veranderen:
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)
int sampleDelay = 500; / / het aantal milliseconden tussen lezing
VOID Setup
{
/ / initialiseren van de seriële communicatie:
Serial.begin(9600);
Controleer of dat de analoog-digitaalomzetter neemt de spanning van de verwijzing van
de AREF pin
pinMode (xpin, INPUT);
pinMode (ypin, INPUT);
pinMode (zpin, INPUT);
}
void loop
{
float oldy = 0;
float drempel = 0;
int x = analogRead(xpin);
Voeg een kleine vertraging tussen pin lezingen. Ik lees dat je moet
dit doen maar nog niet getest het belang
delay(1);
int y = analogRead(ypin);
Voeg een kleine vertraging tussen pin lezingen. Ik lees dat u dit doen moet maar nog niet het belang getest
delay(1);
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 getal van eenheden verwachten we de sensorgegevens te veranderen wanneer de
versnelling langs een as wijzigingen door 1G. Verdeel de verschoven sensor lezen door
schaal om versnelling in Gs. * /
zweven schaal = 102,3;
/*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);
/ * Serial.print (((float) z - zero_G) / schaal);
Serial.Print("\n"); */
Als (drempel > 1.3) / / de waarde van uw drempel kan veranderen, moet u testen en bepalen wat uw drempel zal worden
stappen ++;
Serial.Print ("stappen =");
Serial.Print(Steps);
vertraging voordat de volgende lezing:
delay(sampleDelay);
}