Чтение данных с акселерометра

vvadim
Offline
Зарегистрирован: 23.05.2012

Подключаю аксель к UNO . Использую такой код





// Simple angle meter using ADXL335 accelerometer

#define ADC_ref 2.56
#define zero_x 1.569
#define zero_y 1.569
#define zero_z 1.569
#define sensitivity_x 0.3
#define sensitivity_y 0.3
#define sensitivity_z 0.3
unsigned int value_x;
unsigned int value_y;
unsigned int value_z;
float xv;
float yv;
float zv;
float angle_x;
float angle_y;
float angle_z;
void setup()   {
analogReference(INTERNAL2V56);
Serial.begin(115200);
}
void loop() {
value_x = analogRead(5);
value_y = analogRead(0);
value_z = analogRead(4);
xv=(value_x/1024.0*ADC_ref-zero_x)/sensitivity_x;
Serial.print ("         x= ");
Serial.print (xv);
Serial.print(" g ");
yv=(value_y/1024.0*ADC_ref-zero_y)/sensitivity_y;
Serial.print ("            y= ");
Serial.print (yv);
Serial.print(" g ");
zv=(value_z/1024.0*ADC_ref-zero_z)/sensitivity_z;
Serial.print ("          z= ");
Serial.print (zv);
Serial.print(" g ");
Serial.print("\n");
Serial.print("Rotation ");
Serial.print("x= ");
angle_x =atan2(-yv,-zv)*57.2957795+180;
Serial.print(angle_x);
Serial.print(" deg");
Serial.print(" ");
Serial.print("         y= ");
angle_y =atan2(-xv,-zv)*57.2957795+180;
Serial.print(angle_y);
Serial.print("deg");
Serial.print(" ");
Serial.print("        z= ");
angle_z =atan2(-yv,-xv)*57.2957795+180;
Serial.print(angle_z);
Serial.print(" deg");
Serial.print("\n");

delay(1000);
}

При компиляии ошибка    INTERNAL2V56.  Я в опорных напряжениях разобраться не могу. Какое писать для UNO  и почему не проходит 2.56 V.  И ещё в коде коэф. 1.569  под  2.56 V.

vvadim
Offline
Зарегистрирован: 23.05.2012

проштудировал даташит-разобрался