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
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
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"):
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:
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.
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.