Inhoudsopgave:

Hoe hoek meten met MPU-6050 (GY-521): 3 stappen
Hoe hoek meten met MPU-6050 (GY-521): 3 stappen

Video: Hoe hoek meten met MPU-6050 (GY-521): 3 stappen

Video: Hoe hoek meten met MPU-6050 (GY-521): 3 stappen
Video: Medición de ángulo. 2024, November
Anonim
Hoe hoek meten met MPU-6050 (GY-521)
Hoe hoek meten met MPU-6050 (GY-521)

In deze Instructable zullen we de hoek meten met een Arduino. We hebben wat kabels nodig, een Arduino UNO en GY-521 (MPU-6050) om de hoek te meten.

Stap 1: MPU-6050 aansluiten op Arduino UNO

MPU-6050 aansluiten op Arduino UNO
MPU-6050 aansluiten op Arduino UNO

We hebben mannelijke-vrouwelijke kabels nodig, een Arduino UNO en GY-521 (MPU-6050) sensor om de hoek te meten. We moeten de MPU-6050 aansluiten op Arduino UNO zoals op de afbeelding. Dus,

  • VCC tot 5V (MPU-6050 werkt met 3,3V, maar GY-521 verhoogt dit tot 5V.),
  • GND naar GND,
  • SCL tot A5,
  • SDA naar A4,
  • ADO naar GND,
  • INT naar digitale pin 2.

Stap 2: Coderen

Code
Code

Hier is de code. Het maakt gebruik van I2C. Ik heb wat stukjes code van internet gehaald. (I2C-deel)

// Geschreven door Ahmet Burkay KIRNIK// Hoekmeting met MPU-6050 (GY-521)

#erbij betrekken

const int MPU_addr=0x68; int16_t AcX, AcY, AcZ, Tmp, GyX, GyY, GyZ;

int minVal=265; int maxVal=402;

dubbele X; dubbele y; dubbele z;

void setup(){ Wire.begin(); Wire.beginTransmission (MPU_addr); Draad.schrijven (0x6B); Draad.schrijven(0); Wire.endTransmission (waar); Serieel.begin(9600); } void loop(){ Wire.beginTransmission(MPU_addr); Draad.schrijven (0x3B); Wire.endTransmission (false); Wire.requestFrom (MPU_addr, 14, waar); AcX=Wire.read()<<8|Wire.read(); AcY=Wire.read()<<8|Wire.read(); AcZ=Wire.read()<<8|Wire.read(); int xAng = kaart (AcX, min. waarde, max. waarde, -90, 90); int yAng = kaart (AcY, minVal, maxVal, -90, 90); int zAng = kaart (AcZ, min. waarde, max. waarde, -90, 90);

x= RAD_TO_DEG * (atan2(-yAng, -zAng)+PI); y= RAD_TO_DEG * (atan2(-xAng, -zAng)+PI); z= RAD_TO_DEG * (atan2(-yAng, -xAng)+PI);

Serial.print("AngleX="); Serieel.println(x);

Serial.print("AngleY="); Serieel.println(y);

Serial.print("AngleZ="); Serieel.println(z); Serial.println ("-----------------------------------------"); vertraging (400); }

Stap 3: Klaar

Gedaan!
Gedaan!

Het is klaar! Als het niet werkt of je hebt hulp nodig, laat dan een reactie achter of stuur een e-mail. U kunt mijn e-mailadres vinden bij opmerkingen. Trouwens, mijn Engels is niet zo goed, dus mijn excuses voor mijn slechte Engels.

Ahmet Burkay KIRNIK

Istanbul, Turkije

Edit: Na 2 jaar werd mijn Engels beter, dus ik heb wat fouten gecorrigeerd.

Aanbevolen: