Sommario:

Angolo-metro: 3 passaggi
Angolo-metro: 3 passaggi

Video: Angolo-metro: 3 passaggi

Video: Angolo-metro: 3 passaggi
Video: How to Buy Metro & Train Tickets in Paris (2023 UPDATE) 2024, Luglio
Anonim
Angolo-metro
Angolo-metro

In questo tutorial, condividerò con voi un modo per recuperare l'angolo da MPU6050 con Raspberry Pi usando Python. Sto scrivendo questo articolo perché non sono riuscito a trovarne nessuno in Internet che ci guidi all'uso di MPU6050 per trovare l'angolo con raspberry pi usando python. Usiamo kalman-filter un algoritmo di fusione che è stato utilizzato nelle missioni Apollo (non scherzo). Grazie a TJK per aver spiegato un algoritmo così complesso in modo che i manichini con poca e decente conoscenza della matematica (come me) possano capire il funzionamento del filtro di Kalman. Se sei interessato, passa attraverso il suo blog Il blog di TJK che spiega kalman-filter

Ha implementato il suo algoritmo in C++. Non riesco a trovare l'implementazione Python di questo algoritmo da nessuna parte in Internet. Quindi ho pensato di realizzare un'implementazione Python del suo algoritmo in modo che gli utenti Python possano usarlo per trovare l'angolo con raspberry pi.

Freddo. Iniziamo.

Passaggio 1: attrezzatura richiesta:)

  1. Raspberry pi e le sue dipendenze (mezzi per visualizzare, fonte di alimentazione e sai cos'altro è necessario)
  2. MPU6050 (ovviamente)
  3. Ponticelli - (da femmina a femmina - dipende dal modulo MPU6050)

Passaggio 2: mettiamoli in contatto

Mettiamoli in contatto
Mettiamoli in contatto
Mettiamoli in contatto
Mettiamoli in contatto

Protocollo:

Nel caso non lo sapessi, MPU6050 utilizza un protocollo di comunicazione chiamato I2C (pronunciato I al quadrato C). È molto potente: bastano due cavi per SDA e SCL e il numero massimo di dispositivi che possono essere utilizzati nello stesso è limitato dalle limitazioni hardware (dovresti essere in grado di connettere fino a 128 dispositivi). Nel nostro caso, raspberry pi funge da master e l'MPU6050 funge da slave.

Se sei interessato a conoscere il funzionamento di I2C, eccolo qui.

Tutto a posto. Andiamo a lavorare.

Mettiamoli in contatto:

I collegamenti sono piuttosto semplici.

MPU6050 ---------- Raspberry Pi

VCC ---------- 5V (pin 2 o 4)

GND ----------- GND (pin 6)

SDA ----------- SDA (pin 5)

SCL ----------- SCL (pin 3)

Se non conosci la configurazione dei pin di Raspberry Pi, puoi cercarla su Google. Puoi trovare la configurazione dei pin di Raspberry Pi 3 qui.

Puoi anche dare un'occhiata allo schema di collegamento e aiutare te stesso. (Nel diagramma il GND di MPU6050 è collegato al 34 ° pin di Raspberry Pi. Anche questo è il pin di terra. Quindi non confonderti. Puoi collegarlo in entrambi i modi.)

Passaggio 3: mettiamoli al lavoro

Scarica il codice:

Puoi scaricare o copiare il codice da questo link git-hub. Preferirei scaricare sulla copia perché Python genera "uso incoerente di tabulazioni e spazi nel rientro" a volte se copi e incolli il codice. Scopri perché qui.

Esegui il programma:

Dopo aver copiato il codice, apri AngleOMeter.py ed eseguilo. Assicurati di copiare entrambi i file AngleOMeter.py e Kalman.py e si trovano nella stessa cartella (directory). Sei pronto per partire. Inclinare il modulo MPU6050 e l'angolazione dello schermo dovrebbe cambiare.

Fare felice!

Consigliato: