MPU6050 přestane číst hodnoty při spuštění motorů
Napsal: 02 úno 2020, 21:48
Zdravím, pracuji na školním projektu, kde se robot, při detekci překážky, otáčí o 90°a 180° doleva nebo doprava. Problém je v tom, že při spuštění motorů gyroskop v náhodném časovém intervalu přestane číst úhel natočení (někdy to trvá 10s někdy taky 2s). Zpočátku sem se s tímto problémem setkával minimálně, ale nyní je to při každém spuštění. Proto prosím o radu, čím je to způsobeno a jak se tohoto problému zbavit.
Součástky:
Součástky:
- Arduino Mega 2560
- motor shield l293d
- Gyro+akcelerometr MPU 6050
Kód: Vybrat vše
#include <AFMotor.h>
#include <MPU6050_tockn.h>
#include <Wire.h>
MPU6050 mpu6050(Wire);
AF_DCMotor motorL(3);
AF_DCMotor motorP(4);
long timer = 0;
float UhelNatoceni;
void setup() {
Wire.begin();
Serial.begin(9600);
mpu6050.begin();
mpu6050.calcGyroOffsets(true);
}
void loop(){
if(millis() - timer > 50)
{
UhelNatoceni = mpu6050.getAngleZ();
Serial.println(UhelNatoceni);
timer = millis();
mpu6050.update();
}
motorL.setSpeed(80);
motorP.setSpeed(80);
motorL.run(FORWARD);
motorP.run(FORWARD);
}