Arduino UNOで作る会話型ヒューマノイドロボット「モフィザ」
部品と材料
| 部品 | 数量 | 備考 |
|---|---|---|
| Arduino UNO(またはPro Mini 5V 16MHz) | 1 | Pro Miniなら小型化可能 |
| 近接センサー(IR) | 3 | 目×2、胸×1 |
| SDカードTFモジュール | 1 | 音声再生用 |
| マイクロSDカード | 1 | 2GB以下推奨 |
| サーボモーター (Tower Pro MG996R / SG90) | 3 | 頭、左手、右手 |
| ユニバーサル基板、ピンヘッダー、リボンケーブル等 | 1式 | 回路実装用 |
| 段ボール等(ボディ用) | 適量 | 自作ボディ用 |
アプリとオンラインサービス
- Arduino IDE
プロジェクト概要
このロボット「モフィザ(Mofiza)」は、**見る(SEE)、話す(TALK)、反応する(REACT)** が可能です。まずは動画をご覧ください。
これまで「話すロボット」というと、Arduino以外の開発ボード(Raspberry Pi等)を使う例が多かったですが、Arduinoだけで音声再生とサーボ制御を両立し、ヒューマノイドロボットを作ることは十分可能です。さっそく作ってみましょう。
ステップ1: 必要なパーツ



- Arduino Pro Mini (5V 16MHz) ※任意のボードで可
- メス/オス ピンヘッダー(基板実装用)
- ユニバーサル基板
- SDカードTFモジュール(音声再生用)
- マイクロSDカード(2GB以下)
- IR近接センサー ×3
- サーボモーター ×3(マイクロサーボSG90使用)
- 段ボール(ボディ製作用)
ステップ2: IRセンサーとボディの接続



ボディは段ボールで簡単に自作できます。IRセンサーはリボンケーブルではんだ付けし、片側をメスヘッダーにして、目(2つ)と胸(1つ)に取り付けました。
動作ロジック:
- 胸のセンサーが反応 → ウェルカムメッセージを再生
- 目センサーが反応 → 「あーっ、目は触らないで!」と再生し、該当側のサーボを動かす
ステップ3: 回路


回路は複雑に見えますが、実際はシンプルです。単一電池で全て駆動可能。ユニバーサル基板にはんだ付けし、頭と両手のサーボも接続します。
ステップ4: コード
このロボットには以下の2つのライブラリが必要です:
まずはウェルカムメッセージを再生する基本コードです。独自の環境・動作に合わせて拡張してください。ServoTimer2ライブラリを先にインストールしないと動作しません。
#include "ServoTimer2.h"
#include <SD.h>
#define SD_ChipSelectPin 10
#include "TMRpcm.h"
TMRpcm tmrpcm;
ServoTimer2 matha; // 頭
ServoTimer2 lhand; // 左手
ServoTimer2 rhand; // 右手
int in1 = 6; // 左目センサー
int in2 = 7; // 右目センサー
int in3 = 8; // 胸センサー
void setup() {
matha.attach(2);
lhand.attach(3);
rhand.attach(4);
tmrpcm.speakerPin = 9;
Serial.begin(9600);
if (!SD.begin(SD_ChipSelectPin)) {
Serial.println("SD FAIL");
return;
}
}
void loop() {
// 胸センサー検知(LOWアクティブ)
if (!(digitalRead(in3))) {
tmrpcm.play("welcome.wav");
lhand.write(2500); // 手を上げる
delay(2000);
lhand.write(1200); // 握手位置
delay(9000);
} else {
// 待機ポジション
lhand.write(300);
rhand.write(1700);
matha.write(1500);
}
}
ステップ5: 完成
電源を入れれば完成です。スマートなロボットの出来上がり![追加の写真と詳細は後日アップロード予定]
ピンがもっとあれば歩行もさせたかったのですが、残りデジタルピンが3本しかなく、必要数に足りませんでした。
YouTubeチャンネル登録で応援よろしくお願いします!
コード
- ウェルカムコード: 上記掲載
- フルバージョン (v1.1): GitHubリポジトリ
回路図

製造プロセス
- Arduino & Raspberry Pi でインターネット制御ビデオストリーミングロボットを構築
- スマートブラインド:Arduinoとソーラー電源で実現する自動光制御
- スマート貯金箱を作ろう:Arduino Nanoでコインアクセプターを制御
- ArduinoとHC-SR04で作るサーボ駆動障害物回避ロボット
- ArduinoでBluetooth経由でLEDを制御 – シンプルDIYガイド
- Arduino UNOで作る完全自律ライントラッカーロボット ─ 入門に最適な自作キット
- ArduinoとAndroidでRoomba Create 2をリモコン操作 ─ Bluetooth経由のステップバイステップガイド
- Arduino Nanoで音声制御ロボットを自作
- Arduinoロボットアーム「LittleArm」をAndroidアプリでBluetooth制御
- Arduinoで作る多チャネル・スマートバッテリー充電器:自動切替・電圧表示・近接センサー付き
- Arduino Nanoで作る「食べさせロボット」:超音波センサーで食べ物検知し口を開閉