LittleArm 2C: 3Dプリント製Arduinoロボットアーム – STEM教育向け耐久設計
必要な部品と材料
| 部品 | 数量 | 備考 |
|---|---|---|
| Arduino Nano R3 | 1 | |
| MG90S サーボ(またはMG996R) | 4 | ベース、ショルダー、エルボー、グリッパー |
| Mepedボード(専用シールド) | 1 | サーボ電源・信号分配用 |
| 3Dプリントパーツ一式 | 1式 | STLファイル提供あり |
| ネジ・ナット類 | 1式 | 全体で15本未満 |
必要な工具
- 3Dプリンター(PLA/PETG推奨)
- ドライバー、ニッパー
プロジェクト概要
LittleArm 2Cは、STEM教育向けに設計された3Dプリント製の小型ロボットアームです。前作から大幅に簡素化され、ネジ15本未満で組み立て可能。子供でも扱いやすい頑丈な設計で、教室でのロボティクス授業に最適です。
特徴
- 全パーツ3Dプリント可能(STLファイル公開)
- ネジ15本未満の簡易組み立て
- Mepedボード採用で配線が4本のみ(電源、GND、信号×2)
- Windowsアプリ(Python製)またはAndroidアプリ(Bluetooth)で制御
- シリアル通信で角度指令を送信、アーム側で並列補間制御
制御システム
Arduinoスケッチ(LittleArm 2C用)
#include <Servo.h>
#include <math.h>
#define PI 3.141
Servo baseServo, shoulderServo, elbowServo, gripperServo;
struct JointAngle { int base, shoulder, elbow; };
JointAngle desiredAngle;
int desiredGrip, gripperPos, desiredDelay;
void setup() {
Serial.begin(9600);
baseServo.attach(5);
shoulderServo.attach(4);
elbowServo.attach(3);
gripperServo.attach(2);
Serial.setTimeout(50);
Serial.println("started");
baseServo.write(90);
shoulderServo.write(100);
elbowServo.write(110);
}
void loop() {
if(Serial.available()) {
desiredAngle.base = Serial.parseInt();
desiredAngle.shoulder = Serial.parseInt();
desiredAngle.elbow = Serial.parseInt();
desiredGrip = Serial.parseInt();
desiredDelay = Serial.parseInt();
if(Serial.read() == '\n') {
Serial.flush();
Serial.print('d'); // 完了通知
}
}
int done = 0;
while(!done) {
int s1 = servoParallelControl(desiredAngle.base, baseServo, desiredDelay);
int s2 = servoParallelControl(desiredAngle.shoulder, shoulderServo, desiredDelay);
int s3 = servoParallelControl(desiredAngle.elbow, elbowServo, desiredDelay);
int s4 = servoParallelControl(desiredGrip, gripperServo, desiredDelay);
if(s1 && s2 && s3 && s4) done = 1;
}
}
int servoParallelControl(int targetPos, Servo &servo, int speed) {
int cur = servo.read();
if(cur < targetPos - 5) { servo.write(cur + 1); delay(speed); return 0; }
if(cur > targetPos + 5) { servo.write(cur - 1); delay(speed); return 0; }
return 1; // 目標到達(±5度以内)
}
通信プロトコル
PC/スマホから以下形式で送信:
ベース角度,ショルダー角度,エルボー角度,グリッパー角度,ステップ遅延(ms)\n
例: 90,100,110,30,10\n
Arduinoは各サーボを並列に目標角度へ移動し、全軸到達後に'd'を返信。
リソース
- 組み立てマニュアル: 公式サイト
- 3Dプリントファイル (STL): Thingiverse / GitHub
- Windows制御アプリ(Pythonソース含む)
- Android制御アプリ(Bluetooth対応)
回路図
Mepedボード使用時は4線のみ(VIN, GND, Signal Base, Signal Shoulder/Elbow/Gripper共有)

製造プロセス
- Bluetooth 制御 Raspberry Pi ロボットに音声フィードバックを追加して構築
- Arduino & Raspberry Pi でインターネット制御ビデオストリーミングロボットを構築
- MeArmロボットアーム V1.0 – Arduino/Raspberry Piで作るロボットアーム
- Arduino UNOで作る完全自律ライントラッカーロボット ─ 入門に最適な自作キット
- Arduino駆動3Dプリントロボットアームの製作:ステップバイステップガイド
- Arduinoベースのヌンチャク操作6自由度ロボットアームキット
- Arduino Nanoで音声制御ロボットを自作
- Ethernet制御ロボットアーム - WIZ750SRとAndroidアプリでリモート操作
- PiBot:Arduino駆動の精密ピアノ演奏ロボット
- Haddington Dynamics:オープンソース・高性能Dexter 3Dプリントロボットアーム
- デュアルアームSCARAロボット:高度な組立・生産ソリューションを実現する次世代ロボット