Senzor MPU 6050

Jakvykmi
Příspěvky: 6
Registrován: 28 dub 2020, 01:37
Reputation: 0

Senzor MPU 6050

Příspěvek od Jakvykmi » 28 dub 2020, 01:53

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 :D

Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

Re: Senzor MPU 6050

Příspěvek od pavel1tu » 28 dub 2020, 06:52

Knihoven k tomuto modulu je několik,
odkaz není, tak dávám odkaz já ...
https://www.instructables.com/id/How-to ... 050GY-521/
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

Re: Senzor MPU 6050

Příspěvek od pavel1tu » 28 dub 2020, 07:31

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.
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

Jakvykmi
Příspěvky: 6
Registrován: 28 dub 2020, 01:37
Reputation: 0

Re: Senzor MPU 6050

Příspěvek od Jakvykmi » 28 dub 2020, 09:59

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);
  }

Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

Re: Senzor MPU 6050

Příspěvek od pavel1tu » 28 dub 2020, 10:02

A co ti brání uložit hodnoty z

Kód: Vybrat vše

mpu6050.getAngleX()
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 ...
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

Jakvykmi
Příspěvky: 6
Registrován: 28 dub 2020, 01:37
Reputation: 0

Re: Senzor MPU 6050

Příspěvek od Jakvykmi » 28 dub 2020, 10:08

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 :)

Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

Re: Senzor MPU 6050

Příspěvek od pavel1tu » 28 dub 2020, 10:18

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
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

Jakvykmi
Příspěvky: 6
Registrován: 28 dub 2020, 01:37
Reputation: 0

Re: Senzor MPU 6050

Příspěvek od Jakvykmi » 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

Jakvykmi
Příspěvky: 6
Registrován: 28 dub 2020, 01:37
Reputation: 0

Re: Senzor MPU 6050

Příspěvek od Jakvykmi » 28 dub 2020, 10:25

A neviem preco mi to vcera s tou premennou nenapadlo, cely den som robil veci do skoly, tak asi z toho vycerpania :D

Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

Re: Senzor MPU 6050

Příspěvek od pavel1tu » 28 dub 2020, 10:30

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)
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 9 hostů