Module GY-61

Bonsoir à tous,

Je commence à “jouer” avec un module GY-61 et je voudrais allez un peu plus loin dans les projets.

Ici actuellement j’ai un code basique qui m’affiche les informations de position dans le moniteur série. J’aimerais couplé ce code avec des Diodes qui s’allume en fonction du degré d’inclinaison, de vitesse ou de vibration du module. Auriez-vous des suggestions ou conseil pour me lancer dans ce petit projet.

Seconde chose, est-il possible d’avoir un graphique via un programme (PC) pour voir les valeurs du module dans des courbes

Ben4910:
Auriez-vous des suggestions ou conseil pour me lancer dans ce petit projet.

Si vous savez brancher des LEDs et les piloter, foncez - y’a qu’en mettant les mains dans le cambouis qu’on apprend :slight_smile:

Seconde chose, est-il possible d'avoir un graphique via un programme (PC) pour voir les valeurs du module dans des courbes

l’IDE dispose d’une sortie serial plotter minimaliste qui permet de visualiser des courbes

Sinon il faut définir Un mode de communication avec votre PC (Par le port USB série ou alors Bluetooth wi-fi Ethernet à vous de voir) et Écrire un programme sur le PC qui va écouter Et interpréter les données et les représenter graphiquement

Quelles sont les valeurs que je dois obtenir pour ce type de module ? ( quand je regarde dans le moniteur série)

42 58 et 212 ? :slight_smile:

Comment voulez vous qu’on sache ce que vous faites avec votre module ?

Si c’est pour le Serial plotter, le tuto que j’ai mis en lien dit:

If you want to plot multiple variables, you'll need a Serial.println(value) call for each of the variables, separated by a Serial.print(" ") or Serial.print("\t"):

Serial.print(variable1);

Serial.print(" ");
Serial.println(variable2);

Voilà le code que j'utilise ... ET ce dont le moniteur me donne comme info

278 355 328

Comment puis-je savoir les bonnes données quand mon module est bien à plat. Et à quoi corresponde les colones (X,Y,Z dans le bon ordre ? )

const int xPin = A2;
const int yPin = A1;
const int zPin = A0;

void setup() {
 // put your setup code here, to run once:
Serial.begin(9600);
}

void loop() {
 int x =analogRead(xPin);
 delay(500);
int y =analogRead(yPin);
 delay(250);
 int z =analogRead(zPin);
 delay(500); 


 Serial.print(x);
 Serial.print("\t");

Serial.print(y);
 Serial.print("\t");
 
  Serial.print(z);
 Serial.print("\n");
 
}

ben… ça dépend de ce que vous avez branché sur A0, A1 et A2…

le GY-61 est un accéléromètre 3 axes (ADXL335) qui a des sorties analogiques. Il mesure des accélérations sur une plage de ±3 g et la gravité (accélération statique)

les connecteurs que vous avez ressemblent sans doute à cela:
GY61.png
en supposant que vous ayez branché X_OUT sur A2, Y_OUT sur A1, Z_OUT sur A0 - comme le laisse à penser cette partie de votre code

const int xPin = A2;
const int yPin = A1;
const int zPin = A0;

(notez qu’un byte plutôt qu’un int c’est mieux pour une définition de pin)

alors vous allez afficher la conversion numérique (donc entre 0 et 1023 si le capteur utilise la plage entière de mesure - la capteur est alimenté en 3V normalement mais je ne sais pas si la sortie est amplifiée ou pas sur votre module) de la tension qui est représentative de l’accélération mesurée en m.s-2 (ou en g) sur les 3 axes.

Vous avez la doc du composant ici et donc vous pourrez voir les graphes des valeurs et une petite analyse sur mon-club-elec.

au repos il n’y a que l’accélération de la gravité qui va jouer donc vous devriez voir une tension qui correspond à 1g sur un des axes, en positif ou négatif - suivant comment vous le tenez.

cf la doc page 12

1G.png

Je suis en 5V car en 3.3V je ne voyais rien qui changeait sur le traceur.

lien vers votre module?