Stap 5: Volledige Arduino Code
/ * Zin de kantelen actie van een versnellingsmeter in ADXL335 enuitgangen van de gegevens op de seriële poort (USB).
(c) Anthony Kelly, 2013 * /
/* VOID Setup {} void loop {}
A0: x-as
A1: y-as
A2: z-as
*/
int xpin = A0, ypin = A1, zpin = A2;
int swpin = 0;
int swState = 0;
int xAve, yAve, zAve;
int xTilt, yTilt, zTilt;
Serial.begin(9600);
pinMode (swpin, INPUT);
digitalWrite (swpin, hoge); / / Enable Pullup op Switch Pin
De sensor kalibreren voor niveau positie door het nemen van het gemiddelde van 8 lezingen
xAve = average(xpin);
yAve = average(ypin);
zAve = average(zpin);
}
xTilt = analogRead (xpin)-xAve;
yTilt analogRead (ypin) =-yAve;
zTilt analogRead (zpin) =-zAve;
swState = digitalRead(swpin);
Verzend de gegevens als een seriële String als volgt:
"xTilt, yTilt, zTilt, swState \n"
Deze tekenreeks wordt gelezen door Python met lijnen gescheiden door '\n'
Serial.print (xTilt, DEC);
Serial.Print(",");
Serial.Print (yTilt, DEC);
Serial.Print(",");
Serial.Print (zTilt, DEC);
Serial.Print(",");
Serial.Print (swState, DEC);
Serial.println();
}
Krijgen van het gemiddelde van 8 lezingen van 'pin'
int gemiddelde (int pin) {}
int Ave = 0;
for (int i = 0; ik < 8; i ++) {}
Ave Ave + analogRead(pin); =
}
retourneren van Ave/8;
}