#include #include // Needed to set the AREF #ifndef cbi #define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit)) #endif #ifndef sbi #define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit)) #endif int x = 3; // Analong Read Pin int y = 2; // Analong Read Pin int z = 1; // Analong Read Pin char line1[255]; char line2[255]; //int gs1 = 3; // G-Select 1 //int gs2 = 2; // G-Select 2 //int slp = 1; // Sleep Mode LCD4Bit lcd = LCD4Bit(2); //create a 2-line display. void setup() { lcd.init(); // Use external AREF for 3.3v cbi(ADMUX, REFS1); //clear REFS1 bit (0) cbi(ADMUX, REFS0); //clear REFS0 bit (0) // pinMode(gs1, OUTPUT); // pinMode(gs2, OUTPUT); // pinMode(slp, OUTPUT); // Set up the accelerometer, just use a hard coded config for now. // digitalWrite(slp, HIGH); // Don't make it fall asleep! // digitalWrite(gs1, LOW); // Set the sensitivity // digitalWrite(gs2, LOW); // 00 = +-1.5g; 10 = +-2.0; 01 = +-4.0; 11 = +-6.0; } void loop() { int xForce = analogRead(x)-512; // Calculate magnitude of force (512 is 0g) int yForce = analogRead(y)-512; int zForce = analogRead(z)-512; xForce = abs(xForce); yForce = abs(yForce); zForce = abs(zForce); sprintf(line1, "X: %d Y: %d ", xForce, yForce ); sprintf(line2, "Z: %d ", zForce ); lcd.cursorTo(1, 0); lcd.printIn(line1); lcd.cursorTo(2, 0); lcd.printIn(line2); }