2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
Šioje pamokoje aš pasidalinsiu su jumis būdais, kaip naudojant „python“nuskaityti kampą iš MPU6050 su aviečių pi. Rašau šį straipsnį, nes internete neradau nė vieno, kuris padėtų mums naudoti MPU6050, kad rastume kampą su aviečių pi naudojant python. Mes naudojame „Kalman-filter“sintezės algoritmą, kuris buvo naudojamas „Apollo“misijose (nejuokaujame). Ačiū TJK, kad paaiškino tokį sudėtingą algoritmą, kad manekenai, turintys mažai ir padorių matematikos žinių (kaip aš), suprastų Kalmano filtro veikimą. Jei jus domina, eikite į jo tinklaraštį TJK tinklaraštyje, kuriame paaiškinamas kalmano filtras
Jis įgyvendino savo algoritmą C ++. Niekur internete nerandu šio algoritmo „Python“įgyvendinimo. Taigi aš maniau, kad padarysiu jo algoritmo „python“įgyvendinimą, kad „python“vartotojai galėtų jį panaudoti rasdami kampą su aviečių pi.
Saunus. Pradėkime.
1 žingsnis: būtinas įvertinimas:)
- Raspberry pi ir jo priklausomybės (rodymo priemonė, maitinimo šaltinis ir jūs žinote, ko dar reikia)
- MPU6050 (aišku)
- Džemperiai - (nuo moterų iki moterų - priklauso nuo jūsų MPU6050 modulio)
2 žingsnis: prijunkime
Protokolas:
Jei nežinote, MPU6050 naudoja ryšio protokolą, vadinamą I2C (tariamas I kvadratu C). Tai labai galingas įrenginys - tereikia dviejų laidų SDA ir SCL, o maksimalų įrenginių, kuriuos galima naudoti tuo pačiu metu, skaičių riboja aparatūros apribojimai (bent jau turėtumėte prijungti iki 128 įrenginių). Mūsų atveju aviečių pi veikia kaip pagrindinis, o MPU6050 - kaip vergas.
Jei jus domina I2C veikimas, čia tai yra.
Gerai. Eikime į darbą.
Prijunkime juos:
Sujungimai yra gana paprasti.
MPU6050 ---------- Raspberry Pi
VCC ---------- 5V (2 arba 4 kaiščiai)
GND ----------- GND (6 kontaktas)
SDA ----------- SDA (5 kontaktas)
SCL ----------- SCL (3 kaištis)
Jei nežinote „Raspberry pi“kaiščio konfigūracijos, galite jį rasti „Google“. Raspberry pi 3 kaiščio konfigūraciją rasite čia.
Taip pat galite pažvelgti į prijungimo schemą ir padėti sau. (Diagramoje MPU6050 GND yra prijungtas prie 34 -ojo aviečių pi kaiščio. Tai taip pat yra įžemintas kaištis. Taigi nesusipainiokite. Galite jį prijungti bet kuriuo būdu.)
3 žingsnis: pradėkime dirbti
Atsisiųskite kodą:
Galite atsisiųsti arba nukopijuoti kodą iš šios „git-hub“nuorodos. Norėčiau atsisiųsti, o ne kopijuoti, nes „python“kartais „nenuosekliai naudoja skirtukus ir tarpus tarp įtraukų“, jei nukopijuojate ir įklijuojate kodą. Kodėl, sužinokite čia.
Paleiskite programą:
Nukopijavę kodą, atidarykite „AngleOMeter.py“ir paleiskite jį. Būtinai nukopijuokite failus „AngleOMeter.py“ir „Kalman.py“ir jie yra tame pačiame aplanke (kataloge). Viskas paruošta eiti. Pakreipkite MPU6050 modulį ir kampas ekrane turėtų pasikeisti.
Laimingas kūrimas!