コップの水がこぼれない台 MPU6050 + Raspberry Pi Pico(Arduino)

前回の記事「MPU6050 + Raspberry Pi Pico(Arduino) -> PCで3Dのキューブを回転表示」の続きです。

前回はジャイロ・加速度センサー(MPU6050)の値を読み込んでPC上で3Dのキューブを回転表示しましたが、
今回はサーボ2つを使用して、「常に水平になる台」を作成してみました。

サーボ2台を直交させて接続しますが、お手軽にラズパイカメラ用2軸マウント(A838)を使用しました。

このカメラマウントは、サーボに定番の小型サーボSG-90を使用するようになっています。
(今回はSG-90の互換サーボを使用しました)

ラズパイカメラ用2軸マウント(A838)の組み立て方法は以下を参考にさせていただきました。
https://python-academia.com/raspberrypi-camera-mount/

上の写真のように接続しました。

  Pico               MPU6050
  Pin6 GP4        -> SDA
  Pin7 GP5        -> SCL
  Pin36 3V3(OUT)  -> VCC
  Pin3 GND        -> GND

  Pin4 GP2        -> サーボ1
  Pin5 GP3        -> サーボ2

プログラムはMadgwickAHRSで推定した角度でサーボを動かしています。

Raspberry Pi Pico側はArduino開発環境を使用しました。
Arduino開発環境にはearlephilhower版を使用しました。

Raspberry Pi PicoのArduino開発環境構築については↓を参照ください。
Raspberry Pi PicoをArduino開発環境で使うためのメモ

以下のライブラリを使用しています。
GitHubからZIP形式でダウンロードして、Arduino IDEの「スケッチ」->「ライブラリをインクルード」->「zip形式のライブラリをインクルード」でインストールします。

〇角速度・加速度から角度を推定 -> MadgwickAHRSフィルタ
https://github.com/arduino-libraries/MadgwickAHRS

〇タイマー割込み
https://github.com/khoih-prog/RPI_PICO_TimerInterrupt

ソース(Arduino開発環境用)はこちらに置いています。
https://github.com/ponta1/HorizontalTable

コップの水がこぼれない様子
※サーボが小型のためパワーがなくてダイソーのおちょこぐらいしかのせられませんでした

Raspberry Pi PicoとMPU6050は↓で購入できます。

■Raspberry Pi Picoの関連記事
Raspberry Pi Pico+Arduinoでサーボをたくさん動かしたい
会話ができる「ぴよロボ」作りました! (Raspberry Pi + Pico + ChatGPT)
Raspberry Pi Pico W でPCとBluetooth(シリアル)接続する
Raspberry Pi Pico/Pico WをArduino開発環境で使うためのメモ
超音波距離センサー + Raspberry Pi Picoで潜水艦ソナー風
コップの水がこぼれない台 MPU6050 + Raspberry Pi Pico(Arduino)
MPU6050 + Raspberry Pi Pico(Arduino) -> PCで3Dのキューブを回転表示

本格派対局将棋 ぴよ将棋
本格派対局将棋アプリ ぴよ将棋
[Android] [iOS]

かわいい「ひよこ」と対局する将棋アプリ。かわいいけどAIは本格派!
対局後の検討機能や棋譜管理機能も充実!棋譜解析機能も搭載!

「コップの水がこぼれない台 MPU6050 + Raspberry Pi Pico(Arduino)」への2件のフィードバック

  1. 初めまして 石伏です

     姿勢制御の勉強をしようこちらへたどり着きました

     そして、書き込みをしたところ下記のエラーにぶつかりました
     ’class Madgwick’ has no member named ‘setGain’

     解決方法があれば教えていただけますでしょうか。
     Arduinoを初めて1か月です

     よろしくお願いします。

    1. setGain()関数はMadgwickを改造して追加したものです。
      改造方法は以下の記事を参照ください。

      Madgwickライブラリの収束を速くする 【Arduino/MPU6050】
      https://blog.studiok-i.net/2489.html

      または、少し反応が遅くなりますが、setGain()の行をコメントアウトしてもOKです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です