Can any one write the code that this guy used to make his servo react the way it does. Thank you!
The ADXL330 has voltage outputs so you connect it to an analog input.
#include <Servo.h>
const int servoPin = 9;
const in ADXLpin = A0;
Servo myServo;
void setup() {myServo.attach(servoPin);}
void loop()
  {
  int accel = analogRead(ADXLpin);
  int angle = map(accel, 0, 1023, 0, 180);
  myServo.write(angle);
  }
THANK YOU SO MUCH!!!!
Does anything have to go in the parenthesis with the word angle in it? I have an odd feeling like there should be an angle measure there.myServo.write(angle);
roboticfan101:
Does anything have to go in the parenthesis with the word angle in it? I have an odd feeling like there should be an angle measure there.myServo.write(angle);
'angle' is the name if an integer variable, calculated from the acceleration:
  int accel = analogRead(ADXLpin);
  int angle = map(accel, 0, 1023, 0, 180);
  myServo.write(angle);
Hi again! I have a new question. Would this code be compatible with a Mesmic 2125 accelerometer? Can you explain if any the difference? Thanks a lot! I've learned a lot from asking questions of this forum. You guys are great!
The Mesmic 2125 accelerometer (http://www.parallax.com/Portals/0/Downloads/docs/prod/acc/memsickit.pdf) outputs a variable-width pulse rather than an analog voltage. At 0G the output pulse is 5000 microseconds high and each 1G would be a change of 1250 microseconds. A pulse of 3750 microseconds would be -1G and 6250 microseconds would be +1G. The code for that would be something like this:
  int accel = pulseIn(MemsicPin);Â
  int angle = map(accel, 3750, 6250, 0, 180); // map -1G through +1G to 0 through 180
  myServo.write(angle);
Oh, I see! That's so cool! Thanks again, you rock!