2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
V tomto pokynu se s vámi podělím o způsob, jak načíst úhel z MPU6050 s malinovým pi pomocí pythonu. Píšu tento článek, protože jsem na internetu nenašel žádný, který by nás vedl k použití MPU6050 k nalezení úhlu s raspberry pi pomocí pythonu. Používáme kalman-filter a fúzní algoritmus, který byl použit v misích Apollo (bez legrace). Díky TJK za vysvětlení tak složitého algoritmu, aby figuríny s malou a slušnou znalostí matematiky (jako já) porozuměly fungování Kalmanova filtru. Pokud vás to zajímá, projděte si jeho blog TJK na blogu s vysvětlením kalman-filtru
Implementoval svůj algoritmus v C ++. Nikde na internetu nemohu najít implementaci tohoto algoritmu v pythonu. Takže jsem si myslel, že udělám implementaci jeho algoritmu v pythonu, aby ho uživatelé pythonu mohli použít k nalezení úhlu s malinovým pi.
Chladný. Začněme.
Krok 1: Je vyžadováno schválení:)
- Raspberry pi a jeho závislosti (Prostředky k zobrazení, zdroj energie a víte, co je ještě potřeba)
- MPU6050 (samozřejmě)
- Propojky - (žena na ženu - závisí na vašem modulu MPU6050)
Krok 2: Pojďme se připojit
Protokol:
Pokud si nejste vědomi, MPU6050 používá komunikační protokol s názvem I2C (vyslovuje se I na druhou C). Je to velmi výkonný - stačí dva vodiče pro SDA a SCL a maximální počet zařízení, která lze použít současně, je omezen hardwarovými omezeními (Měli byste mít možnost připojit až 128 zařízení). V našem případě funguje malina pi jako hlavní a MPU6050 jako podřízená.
Pokud máte zájem naučit se pracovat s I2C, tady je.
V pořádku. Dejme se do práce.
Pojďme je připojit:
Připojení je celkem jednoduché.
MPU6050 ---------- Raspberry Pi
VCC ---------- 5V (piny 2 nebo 4)
GND ----------- GND (pin 6)
SDA ----------- SDA (kolík 5)
SCL ----------- SCL (pin 3)
Pokud neznáte konfiguraci pinů malinového pi, můžete si to vygooglit. Konfiguraci pinů maliny pi 3 najdete zde.
Můžete se také podívat na schéma připojení a pomoci si. (V diagramu je GND MPU6050 připojen ke 34. kolíku malinového pi. To je také zemnící kolík. Nenechte se proto zmást. Můžete jej připojit jakkoli.)
Krok 3: Pojďme pracovat
Stáhněte si kód:
Kód si můžete stáhnout nebo zkopírovat z tohoto odkazu na git-hub. Upřednostňoval bych stahování před kopírováním, protože python někdy zkopíruje a vloží kód „nekonzistentní používání záložek a mezer v odsazení“. Zjistěte proč zde.
Spusťte program:
Jakmile zkopírujete kód, otevřete AngleOMeter.py a spusťte jej. Ujistěte se, že zkopírujete soubory AngleOMeter.py a Kalman.py a jsou ve stejné složce (adresáři). Jste připraveni jít. Nakloňte modul MPU6050 a úhel na obrazovce by se měl změnit.
Šťastné tvoření!