Arduino NanoとMPU6050で加速度から傾斜角を算出 - Visuino活用チュートリアル
必要な部品と材料
| 部品 | 数量 |
|---|---|
| Arduino Nano R3(または互換ボード) | 1 |
| MPU6050 加速度・ジャイロセンサーモジュール | 1 |
| ジャンパーワイヤー(メス-メス) | 4本 |
使用するアプリとオンラインサービス
- Arduino IDE(バージョン 1.6.7 以上必須)
- Visuino(公式サイト) - Arduino用ビジュアルプログラミング環境
プロジェクト概要
以前、MPU9250(加速度・ジャイロ・コンパス)をVisuinoで制御するチュートリアルを公開しましたが、「加速度データを3D角度(X, Y, Z)に変換して姿勢を知りたい」という要望が多く寄せられました。また、より安価でシンプルなMPU6050での実装希望もあり、今回はMPU6050を用いて加速度から3D傾斜角を求める手順を解説します。
Step 1: 部品準備

Step 2: MPU6050の配線




- VCC(赤) → Arduino 5V
- GND(黒) → Arduino GND
- SCL(黄) → Arduino A5 (SCL)
- SDA(緑) → Arduino A4 (SDA)
Step 3: Visuino起動とボード選択
- Visuinoを起動
- Arduinoコンポーネントの「Tools」ボタンをクリック
- ボードタイプで「Arduino Nano」を選択
Step 4: MPU6050コンポーネントと加速度→角度変換コンポーネントの追加・接続
- ツールボックスで「6050」検索 → Accelerometer Gyroscope MPU6000/MPU6050 I2C を配置
- ツールボックスで「angle」検索 → Acceleration To Angle を配置
- MPU6050コンポーネントの「Out」ボックス(X, Y, Z加速度ピン含む)をクリックし、Acceleration To Angleコンポーネントの「In」ボックスのXピンへドラッグ(自動でY, Zも接続)
- MPU6050の「Out」ピンをArduinoコンポーネントのI2Cチャネル「In」ピンへ接続
Step 5: パケットコンポーネントとバイナリアナログエレメント3つの追加
- ツールボックスで「packet」検索 → Packet コンポーネントを配置(※原文では「Sine Analog Generator」と誤記されていますが、正しくはPacketです)
- Object Inspectorで「Head Marker」プロパティを展開、「...」ボタンでバイトエディタを開き、例として
55 55を入力
Step 6: パケットに3つのバイナリアナログエレメントを追加し接続
- Packetコンポーネントの「Tools」ボタン → Elementsエディタで「Binary Analog」を選択し、「+」ボタンを3回クリックして3要素追加
- Acceleration To Angleコンポーネントの「Out」ボックス(X, Y, Z角度ピン)をクリックし、Packetの各エレメント「In」ピンへ接続(自動配線)
- Packetの「Out」ピンをArduinoコンポーネントの「Serial[0]」チャネル「In」ピンへ接続
Step 7: コード生成・コンパイル・アップロード
- Visuinoで F9 またはツールバーの生成ボタンを押し、Arduino IDEが開く
- Arduino IDEで「アップロード」ボタンをクリックし、コンパイル・書き込み
Step 8: 実行と確認




- Visuinoでシリアルポートを選択、「Format:」ドロップダウンで Packet1 を選択
- 「Connect」ボタンをクリック
- 「Scope」タブでX, Y, Z角度の時系列プロットを確認
- 「Instruments」タブでゲージ表示を確認
完成したVisuinoプロジェクトファイルはダウンロード可能です(Visuinoで開けます)。
製造プロセス
- 5ドルI2C温度センサーで作るRaspberry Pi温度ロガー
- BMP180 I2C気圧センサー - Raspberry Pi統合ガイド
- Firebase経由で2台のArduino間を温湿度データで連携するIoTチュートリアル
- K30 CO2センサで室内空気質をリアルタイム監視する
- デジタル身長計の自作:Arduino Nanoとレーザー距離センサーで成長記録
- DFRobot静電容量式指紋センサーをArduino/ESP8266で使う – 登録・認証・削除の完全ガイド
- ESP32で作るIoT環境モニター:温湿度・気圧・CO2をWebダッシュボードで可視化
- Arduino Nanoで作るスマートな動体検知水鉄砲
- コンパクトなArduinoレーダーシステム – HC-SR04超音波センサー & 1.8インチST7735ディスプレイ搭載
- 高精度チルトセンシングの最適化: 加速度センサの基礎
- 加速度センサー:仕組みと使用分野