Go Down

Topic: Quelle erreur ai-je bien pu faire? (Senseur IMU) (Read 568 times) previous topic - next topic

Tholsadum

Bonjour à tous, encore une fois!

J'utilise un accéléromètre/gyroscope AXRS et à l'aide du code ci-dessous, tente de voir les données qu'il capte. Pourtant, lorsque je lance le code et l'upload sur le micontrôleur (Arduino Mega), les données que j'ai sont... louches xD :

Voici les données:

Code: [Select]
xpin: 452      ypin: 411      gyro: 1019       Volt: 512
xpin: 467      ypin: 437      gyro: 1019        Volt: 512
xpin: 466      ypin: 436      gyro: 1019        Volt: 512
xpin: 467      ypin: 432      gyro: 1019        Volt: 512
xpin: 463      ypin: 434      gyro: 1019        Volt: 512
xpin: 467      ypin: 430      gyro: 1019        Volt: 512
xpin: 464      ypin: 434      gyro: 1019        Volt: 512
xpin: 464      ypin: 428      gyro: 1019        Volt: 512
xpin: 463      ypin: 430      gyro: 1019        Volt: 512
xpin: 461      ypin: 429      gyro: 1019        Volt: 512
xpin: 463      ypin: 426      gyro: 1019        Volt: 512
xpin: 460      ypin: 429      gyro: 1019        Volt: 512
xpin: 462      ypin: 424      gyro: 1019        Volt: 512
xpin: 458      ypin: 427      gyro: 1019        Volt: 512
xpin: 459      ypin: 425      gyro: 1019        Volt: 512
xpin: 461      ypin: 425      gyro: 1019        Volt: 512
xpin: 459      ypin: 427      gyro: 1019        Volt: 512
xpin: 462      ypin: 422      gyro: 1019        Volt: 512
xpin: 461      ypin: 429      gyro: 1019        Volt: 512
xpin: 461      ypin: 425      gyro: 1019        Volt: 512
xpin: 463      ypin: 425      gyro: 1019        Volt: 512
xpin: 461      ypin: 426      gyro: 1019        Volt: 512
xpin: 465      ypin: 426      gyro: 1019        Volt: 512
xpin: 460      ypin: 428      gyro: 1019        Volt: 512
xpin: 463      ypin: 423      gyro: 1019        Volt: 512
xpin: 461      ypin: 424      gyro: 1019        Volt: 512      


Puis après, 2 minutes, environ:

Code: [Select]
xpin: 150      ypin: 192      gyro: 1019      Volt: 1023
xpin: 147      ypin: 195      gyro: 1019      Volt: 1023
xpin: 147      ypin: 194      gyro: 1019      Volt: 1018
xpin: 151      ypin: 199      gyro: 1019      Volt: 3
xpin: 148      ypin: 199      gyro: 1019      Volt: 1022
xpin: 148      ypin: 191      gyro: 1019      Volt: 0
xpin: 151      ypin: 196      gyro: 1019      Volt: 0
xpin: 151      ypin: 200      gyro: 1019      Volt: 0
xpin: 147      ypin: 195      gyro: 1019      Volt: 0
xpin: 150      ypin: 194      gyro: 1019      Volt: 1022
xpin: 147      ypin: 192      gyro: 1019      Volt: 0
xpin: 148      ypin: 196      gyro: 1019      Volt: 0
xpin: 150      ypin: 193      gyro: 1019      Volt: 2
xpin: 149      ypin: 192      gyro: 1019      Volt: 0
xpin: 149      ypin: 199      gyro: 1019      Volt: 1021
xpin: 149      ypin: 193      gyro: 1019      Volt: 1022
xpin: 150      ypin: 198      gyro: 1019      Volt: 1023
xpin: 147      ypin: 193      gyro: 1019      Volt: 1022
xpin: 151      ypin: 196      gyro: 1019      Volt: 1023
xpin: 151      ypin: 201      gyro: 1019      Volt: 0
xpin: 151      ypin: 197      gyro: 1019      Volt: 2



Et voici mon code!

Code: [Select]
/*
 ADXL3xx
 
 Reads an Analog Devices ADXL3xx accelerometer and communicates the
 acceleration to the computer.  The pins used are designed to be easily
 compatible with the breakout boards from Sparkfun, available from:
 http://www.sparkfun.com/commerce/categories.php?c=80
 http://www.arduino.cc/en/Tutorial/ADXL3xx
 The circuit:
 5v = analog 4 = 59
 ground = analog 5 = 60
 rate = analog 6 = 61
 st2 = analog 8 = 63
 st1 = analog 9 = 64
 st3 = analo 10 = 65
 y accel = analog 11 = 66
 x accel = analog 12 = 67
*/
// these constants describe the pins. They won't change:
const int groundpin = 60;             // ground = analog 5 = 60
const int powerpin = 59;              // 5v = analog 4 = 59
const int xpin = 67;                  // x-axis of the accelerometer
const int ypin = 66;                  // y-axis
const int ST1 = 64;                   // self-test 1
const int ST2 = 63;                   // self-test 2
const int ST3 = 65;                   // self-test 3
const int Rateout = 61;               // Rate pin
const int Volt = 62;                  // Volt pin

void setup()
{
  // initialize the serial communications:
  Serial.begin(9600);
  // Provide ground and power by using the analog inputs as normal
  // digital pins.  This makes it possible to directly connect the
  // breakout board to the Arduino.  If you use the normal 5V and
  // GND pins on the Arduino, you can remove these lines.
  pinMode(groundpin, OUTPUT);
  pinMode(powerpin, OUTPUT);
  digitalWrite(groundpin, LOW);
  digitalWrite(ST1, LOW);
  digitalWrite(ST2, LOW);
  digitalWrite(ST3, LOW);  
  digitalWrite(powerpin, HIGH);
}
void loop()
{
 
 // print the sensor values:
  Serial.print("xpin: ");
  Serial.print(analogRead(xpin));
  Serial.print("\t");
  Serial.print("ypin: ");
  Serial.print(analogRead(ypin));
  // print a tab between values:
  Serial.print("\t");
  Serial.print("Gyro: ");
  Serial.print(analogRead(Rateout));
     // print a tab between values:
  Serial.print("\t");
  Serial.print("Volts: ");
  Serial.print(analogRead(Volt));
  Serial.print("\t");
  delay(1000);
}



Quelle erreur ai-je bien pu faire?

Merci ÉNORMÉMENT,

fdufnews

#1
Mar 02, 2010, 10:42 am Last Edit: Mar 02, 2010, 10:52 am by fdufnews Reason: 1
Quote

5v = analog 4 = 59
 ground = analog 5 = 60
 rate = analog 6 = 61
 st2 = analog 8 = 63
 st1 = analog 9 = 64
 st3 = analo 10 = 65
 y accel = analog 11 = 66
 x accel = analog 12 = 67

...

const int powerpin = 59;              // 5v = analog 4 = 59
const int Volt = 62;                  // Volt pin

....

  Serial.print("Volts: ");
  Serial.print(analogRead(Volt));


Il y a une incohérence entre le commentaire au début du soft, les définitions et le code, dans ton commentaire au début la broche 62, celle de Volt, n'est pas définie (est-elle cablée??)

Go Up