Stránka 1 z 2
Senzor MPU 6050
Napsal: 28 dub 2020, 01:53
od Jakvykmi
Zdravim potreboval by som radu ohladom senzora MPU 6050. Pouzil som na jeho "spojazdenie" kniznicu "MPU6050_tockn", kde potrebujem z prikladu GetAngle dostat hodnotu, pretoze s nou potrebujem dalej pracovat. Viete mi niekto pomoct? Dakujem

Re: Senzor MPU 6050
Napsal: 28 dub 2020, 06:52
od pavel1tu
Knihoven k tomuto modulu je několik,
odkaz není, tak dávám odkaz já ...
https://www.instructables.com/id/How-to ... 050GY-521/
Re: Senzor MPU 6050
Napsal: 28 dub 2020, 07:31
od pavel1tu
Pokud myslíte toto:
Kód: Vybrat vše
void loop() {
mpu6050.update();
Serial.print("angleX : ");
Serial.print(mpu6050.getAngleX());
Serial.print("\tangleY : ");
Serial.print(mpu6050.getAngleY());
Serial.print("\tangleZ : ");
Serial.println(mpu6050.getAngleZ());
}
Nebudu to dále komentovat,
nauč se základy pěkně od první lekce - proměnné, cykly, podmínky. Stejně se bez toho neobejdeš u Arduina.
https://arduino.cz/category/novinky/tut ... ch/page/2/
Toto u nás na kroužku dává i 9 letá holka.
Re: Senzor MPU 6050
Napsal: 28 dub 2020, 09:59
od Jakvykmi
Zial, toto nie je presne to co potrebujem. Serial monitor si samozrejme zobrazit viem ale ja potrebujem hodnotu angleZ dostat do while(xxx)
Kód: Vybrat vše
Serial.print("angleX : ");
Serial.print(mpu6050.getAngleX());
Serial.print("\tangleY : ");
Serial.print(mpu6050.getAngleY());
Serial.print("\tangleZ : ");
Serial.println(mpu6050.getAngleZ());
if(vzdialenost<25)
{
do{
digitalWrite(11,HIGH);
delay(1);
digitalWrite(11,LOW);
delay(200);
digitalWrite(12,HIGH);
delay(1);
digitalWrite(12,LOW);
delay(2000);}
while(xxx==90);
}
Re: Senzor MPU 6050
Napsal: 28 dub 2020, 10:02
od pavel1tu
A co ti brání uložit hodnoty z
do nějaké proměnné ?
Opět apeluji - základy s Arduinem a jeho programování
PS: netuším co to má dělat, ale použití delay() je cesta do pekel ...
Re: Senzor MPU 6050
Napsal: 28 dub 2020, 10:08
od Jakvykmi
Okej mate pravdu dakujem za pomoc, chybne som si myslel, ze tu hodnotu dostanem priamo z getAngleX ale treba ju ulozit do nejakej premennej. Este raz dakujem

Re: Senzor MPU 6050
Napsal: 28 dub 2020, 10:18
od pavel1tu
Ale ano, dostanete ji přímo s toho mpu6050.getAngleX(),
ale než ji pokaždé ve všech podmínkách znova vyčítat,
je lepší si ji na začátku loop()/funkce/cyklu uložit do proměnné.
Tady je důležité, pokud chcete na náklon "rychle" reagovat,
- nepoužívat delay()
- loop() mít krátký, jednoduchý, na základě podmínek dělat jen to nejnutnější
- pokud používáte výpis na Serial - dát tam rychlost ideálně 57600, já používám 115200
Re: Senzor MPU 6050
Napsal: 28 dub 2020, 10:21
od Jakvykmi
Delay pouzivam preto, lebo je pin 11 a 12 pouzivam ako piny pre motorceky, na ktorych potrebujem zabezpecit PWM modulaciu a toto mi prislo ako najlahsie riesenie
Re: Senzor MPU 6050
Napsal: 28 dub 2020, 10:25
od Jakvykmi
A neviem preco mi to vcera s tou premennou nenapadlo, cely den som robil veci do skoly, tak asi z toho vycerpania

Re: Senzor MPU 6050
Napsal: 28 dub 2020, 10:30
od pavel1tu
Jakvykmi píše: ↑28 dub 2020, 10:21
Delay pouzivam preto, lebo je pin 11 a 12 pouzivam ako piny pre motorceky, na ktorych potrebujem zabezpecit PWM modulaciu a toto mi prislo ako najlahsie riesenie
Opět - základy Arduina (požád netuším jaké používáte a co to bude, pokud to někdy bude)
PWM Arduino na výstupních pinech (některých dle typu Arduina) umí, nastavíte si i "frekvenci" (nejde měnit plynule bohužel), ale "střídu" si měníte plynule.
Pokud by šlo o ovládání třeba modelářského serva, je na to knihovna - Servo.h včetně spousty návodů i v češtině (možná i SK)