Inclinomètre "constant"

Bonjour, existe-t-il un produit avec arduino qui mesure l'inclinaison sans utiliser l'accéléromètre ?
J'ai essayé avec un MPU-6050, mais quand on lance l'Arduino, il est à zéro sur les trois axes.
Où alors, je n'ai pas compris son fonctionnement.
Voici un code, mais il utilise la fonction de "temps" pour le calcul via l'accélération.

/*
    MPU6050 Triple Axis Gyroscope & Accelerometer. Pitch & Roll & Yaw Gyroscope Example.
    Read more: http://www.jarzebski.pl/arduino/czujniki-i-sensory/3-osiowy-zyroskop-i-akcelerometr-mpu6050.html
    GIT: https://github.com/jarzebski/Arduino-MPU6050
    Web: http://www.jarzebski.pl
    (c) 2014 by Korneliusz Jarzebski
*/

#include <Wire.h>
#include <MPU6050.h>

MPU6050 mpu;

// Timers
unsigned long timer = 0;
float timeStep = 0.1;

// Pitch, Roll and Yaw values
float pitch = 0;
float roll = 0;
float yaw = 0;

void setup() 
{
  Serial.begin(115200);

  // Initialize MPU6050
  while(!mpu.begin(MPU6050_SCALE_2000DPS, MPU6050_RANGE_2G))
  {
    Serial.println("Could not find a valid MPU6050 sensor, check wiring!");
    delay(500);
  }
  
  // Calibrate gyroscope. The calibration must be at rest.
  // If you don't want calibrate, comment this line.
  mpu.calibrateGyro();

  // Set threshold sensivty. Default 3.
  // If you don't want use threshold, comment this line or set 0.
  mpu.setThreshold(3);
}

void loop()
{
  timer = millis();

  // Read normalized values
  Vector norm = mpu.readNormalizeGyro();

  // Calculate Pitch, Roll and Yaw
  pitch = pitch + norm.YAxis * timeStep;
  roll = roll + norm.XAxis * timeStep;
  yaw = yaw + norm.ZAxis * timeStep;

  // Output raw
  Serial.print(" Pitch = ");
  Serial.print(pitch);
  Serial.print(" Roll = ");
  Serial.print(roll);  
  Serial.print(" Yaw = ");
  Serial.println(yaw);

  // Wait to full timeStep period
  delay((timeStep*1000) - (millis() - timer));
}

cf cette discussion et un article à lire

si c'est l'inclinaison d'un objet sur une axe articulé, parfois un simple encodeur rotatif ou potentiomètre lié à l'axe suffit pour avoir l'info

Dans l'idée, c'est d'avoir un stabilisateur comme pour les appareils photo
image
et je voudrais pouvoir le mettre horizontalement dès le démarrage. Sans bouton ou autre qui le fasse lui même.

il y a une raison à

parce qu'avec le MPU, vous pourriez tester le code donné par l'article

oui

Basically, it calculates angles using both gyro data & accelerometer data.

D'où ma demande sur le forum pour savoir s'il existait un dispositif compatible Arduino qui n'utiliserait pas.

un potentiomètre lié à l'axe de rotation

un potentiometre ?
image

Je ne comprend pas la réponse

je vais partir sur 3 capteurs avec une bille ronde enfermés dans un socle

merci quand même

oui un bête potentiomètre dont l'axe
image
est solidaire de votre axe de rotation (entrainé par la masse)

en alimentant avec une tension connue (5V) et en lisant la tension obtenue, vous déduisez la position angulaire

Bonjour

"Capteur de pression à résistance capacitive"

Les lignes bougent, rien n'arrête le progrés.... unité : Faradohm ?

Potentiometre : celui, ou ceux, d'un joystick analogique monté à l'envert et muni d'une masse suffisante

Oui, mais le potentiomètre et le joystick ne peuvent pas savoir si le plateau est "d'applond/de niveau/pafaitement horizontale sur ses 2axes".

Capteur de pression à résistance capacitive, on en met 3 à égale angle les uns des autres et on calcule leur résistivité, ensuite les moteurs font le reste. On s'en sert pour faire la planéité des lits des imprimantes 3D. Je m'en sers depuis au moins 5 ans… Et je n'y avais pas pensé , car je ne trouve pas de solution...

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