マイコンボードで6軸センサーのMPU-6050を使ってみる


マイコンボードにはRaspberry Pi  Pico とArduino UNO(互換機) を使います。

 

 

 

 

 

 

 

 

 

MPU-6050 は加速度と角速度を計測するセンサーです。

 

 

 

 

 

 

 

 

母艦にはラズパイ4 Model B にArduin IDE をインストールして使います。

 

 

 

 

 

 

 

 

 

 

 

配線

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Arduino IDE

ラズパイ4にArduino IDE をインストールしておきます。

ボードはUNO の場合IDEのデフォルト設定で使えます(Arduino UNO)が、Pico の場合はインストールする必要があります、以下参照。

Arduino IDE でPi Pico Wの開発用にEarle Philhower版を使う

コードは以下を参照。

Pico とUNOで、ほぼほぼ共通で使えます。

変更点は MPU6050_WHO_AM_I の設定値だけです。

UNOの場合

#define MPU6050_WHO_AM_I 0x75

Picoの場合

#define MPU6050_WHO_AM_I 0x80

ベースコード(出典は忘れてしまいましたが、ここで改めて感謝)

 

シリアルポートはこんな感じ。

Pico -> /dev/ttyACM0

UNO -> /dev/ttyUSB0

 

シリアルモニタで確認

 

 

 

 

 

 

 

 


Appendix

Arduino IDE 無しでも実行できるようにUF2ファイルを作成。

Arduino IDEで保存したものは、ラズパイの場合なら/home/pi/Arduino というフォルダー内にxxx.inoというファイルで存在します。

例:/MPU-6050-PICO/MPU6050-PICO.ino

このままではIDEがなければ実行できません。以下のようにして実行用ファームウェアを作成します。

メニュー>スケッチー>コンパイルしたバイナリを出力

同じフォルダー内にuf2ファイルが出力されます。Pico をBOOTSELボタンを押しながらラズパイに接続すればRPI-RP2フォルダーが開くので、ここにuf2をドラッグ・ドロップすればOKです。


Appendix

Pi Pico +  MicroPython 版はこちら

Pi Pico で6軸センサーのMPU-6050を使ってみる

 


 

Be the first to comment

Leave a Reply

Your email address will not be published.


*