Bonjour à tous,
Moi et mon collègue sommes en Math Sup, et dans le cadre de notre TIPE (Travaux d'Initiation Pratique Encadré), nous avons choisi d'étudier le fonctionnement d'un accéléromètre 3 axes. Nous avons choisie l'ADXL 335 d'arduino, fonctionnant avec une carte Adruino Uno. Nous l'avons branché à l'ordinateur, insérer le programme grâce au logiciel d'arduino, mais nous récupérons une série de valeur comprise entre 300 et 600.
Nous aimerions pouvoir changer ces valeurs, et les remplacer (en temps réel) par des valeurs de "g" positif et négatif.
Il faudrait donc changer le programme, mais nous ne connaissons pas grand-chose en programmation ..
Alors je vous demande de l'aide pour continuer notre TIPE !
Merci d'avance pour ceux qui liront et répondront à ce message
Voici le programme:
/*
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:
analog 0: accelerometer self test
analog 1: z-axis
analog 2: y-axis
analog 3: x-axis
created 2 Jul 2008
by David A. Mellis
modified 30 Aug 2011
by Tom Igoe
This example code is in the public domain.
*/
// these constants describe the pins. They won't change:
const int xpin = A3; // x-axis of the accelerometer
const int ypin = A2; // y-axis
const int zpin = A1; // z-axis (only on 3-axis models)
void setup()
{
// initialize the serial communications:
Serial.begin(115200);
pinMode(xpin, INPUT);
pinMode(ypin, INPUT);
pinMode(zpin, INPUT);
}
void loop()
{
// print the sensor values:
Serial.print(analogRead(xpin));
// print a tab between values:
Serial.print(" ; ");
Serial.print(analogRead(ypin));
// print a tab between values:
Serial.print(" ; ");
Serial.println(analogRead(zpin));
// delay before next reading:
delay(10);
}
Et un exemple de donnée reçu après un test en voiture a 50km/h et frein jusqu'à l'immobilisation de la voiture. (La première colonne correspond à l'axe des X, la seconde a celle des Y, et la dernière a celle des Z.)
nedolive:
Fais ! Merci, et pour le probleme savez vous comment faire ?
en G ou en g ? 8)
lire le datasheet et calibrer (ou l'inverse)
SENSITIVITY (RATIOMETRIC)2
Each axis
Sensitivity at XOUT, YOUT, ZOUT
pour VS 3 V = 300 mV/g typique
Oui en "g" ahah
Et le probleme c'est comment le calibrer ?
Je suis tres nul en programmation, meme "lire le datassent" je ne sais même pas ce que c'est ..
En faite tu dois avoir des "datassent" c'est à dire des infos sur ton produit en ligne.
Dedans il doit être indiqué un truc du genre : SENSITIVITY (RATIOMETRIC)2
Each axis
Sensitivity at XOUT, YOUT, ZOUT
pour VS 3 V = 300 mV/g typique
Après pour comprendre ces données, je sais pas t'aider mais quelqu'un doit savoir je pense.
Ensuite c'est simplement une conversion, je pense que les maths SUP doivent savoir faire ça.
Allez, bonne chance pour tout, tes concours, etc ...
PS: J'éspère que quelqu'un pourra t'aider en plus de mon post, à défaut, vas sur arduino.leforum.eu pour poser ta questions
Ca se soigne
Un bon remède : le site du zéro, ok il faut du travail personnel et éviter de brûler les étapes.
meme "lire le datassent" je ne sais même pas ce que c'est
Datasheet : traduction littérale : Feuille de données.
C'est le document qui expose toutes les caractéristiques d'un composant ou d'une machine.
Une datasheet comprend aussi des exemples pour aider a la mise en œuvre.
Pour un réfrigérateur on appelle cela un mode d’emploi où l'on trouve la tension d'alimentation, la consommation , comment ranger les aliments, la répartition de la température selon la position de la clayette, comment le dégivrer, etc....
Comme le nom le laisse supposer une datasheet est rédigée en anglais.
Sa lecture approfondie est absolument nécessaire avant de brancher quoi que ce soit
Je ne sais pas si je vais aider, mais quelque chose me choque.
Une mesure 3 axes dans un véhicule qui roule sur 1 seul axe (2 si il tourne) ne doit donner de variations que sur un axe (2 en virage). Or là, les 3 valeurs fluctuent.
Pour l'étalonnage, un indice. Combien de g ou G doit-on avoir à l’arrêt ?
nedolive:
Oui en "g" ahah
Et le probleme c'est comment le calibrer ?
Je suis tres nul en programmation, meme "lire le datassent" je ne sais même pas ce que c'est ..
déjà tu lis mal , j'ai écris datasheet
mode sympa : dispo ici
ensuite c'est une simple regle de trois : connaissant le facteur g/V et V (ref ana) j'espere que la conversion est encore à la portée d'une "prépa" ? 8)
Une mesure 3 axes dans un véhicule qui roule sur 1 seul axe (2 si il tourne) ne doit donner de variations que sur un axe (2 en virage). Or là, les 3 valeurs fluctuent.
Pour l'étalonnage, un indice. Combien de g ou G doit-on avoir à l’arrêt ?
Hum l'accelerometre n'etant pas parfaitement "a plats", c'est normale d'avoir 3 valeurs je pense ..
Apres a l'arret nous devrions avoir 1g (9,8m/s^2)
ensuite c'est une simple regle de trois : connaissant le facteur g/V et V (ref ana) j'espere que la conversion est encore à la portée d'une "prépa" ?
Super je vais lire ça
Et une règle de trois, ça va jusque la Mais c'est la le problème, âpres avoir trouver la correspondance "valeurs" <-> "g"; comment l'indique dans le programme ?