Serial.print() qui n'affiche pas la valeur

Bonjour,

J'ai modifié un programme trouvé sur Internet qui a pour but de programmer un servo-moteur pour qu'il rende l'inverse de l'angle que le gyroscope MPU capte (le servo-moteur, le gyroscope et la carte nano sont sur la même plaque).

J'aimerais récupérer la valeur que le moteur réalise dans le moniteur série avec un Serial.print(val) mais cela ne marche pas. Il apparait juste les signes style point d'interrogation ou carré noir.

Voici le programme :

#include "Wire.h"
#include "MPU6050.h"
#include "Servo.h"

MPU6050 mpu;  //Déclaration variables : accéléromètre/gyroscope MPU6050
int16_t ax, ay, az;
int16_t gx, gy, gz;

Servo servo;  //servomoteur
int val;  //valeur actuelle
int prevVal; //valeur précédente

void setup()
{
  Wire.begin();
  Serial.begin(11520);
  Serial.println("Initialize MPU");
  mpu.initialize(); 
  Serial.println(mpu.testConnection() ? "Connected" : "Connection failed");  // savoir si MPU6050 est conncecté ou non 
  servo.attach(6); //port d'attache du servomoteur (D6) 
}

void loop()
{
  mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz); //récupère les valeurs du MPU6050
  val = map(-ay, -17000, 17000, 0, 179); //-ay dans la fonc map car on cherche à contrer l'angle détecté -> - valeur
  Serial.print(val);
  if (val != prevVal) //si la valeur lue est différente de celle lue précédemment
  {
    servo.write(val);//envoie l'angle à effectuer au servo    
    prevVal = val; //la valeur précédente devient notre valeur actuelle
  }
  delay(0);  
}

Est-ce que quelqu'un peut m'aider svp ?

Merci d'avance
Emma

essayez 115200 :wink: (et mettez le moniteur série aussi à 115200)

1 Like

Ca marche, merci beaucoup !

de rien, amusez vous bien !

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.