二足歩行ロボットへの挑戦 試作機 [Arduino]
ヒザを曲げて前に進む、シンプルな二足歩行です。
低予算で製作できる入門編の記事もあります。
写真
使用部品・材料
総額で約18,518円です。(Arduino本体の値段を除く)
部品/材料 | 値段 | 備考 |
---|---|---|
[電子部品] | ||
サンハヤト SAD-101 ニューブレッドボード (2個) | ¥1000 | Amazon.com |
ロジックレベル双方向変換モジュール (2個) | ¥736 | 1.8Vから10Vまでに対応した電圧レベル変換。 スイッチサイエンス(SFE-BOB-12009) |
Longruner サーボ ロボット用 デジタルサーボ 二軸 180度動作 15kg/17kg 0.16sec/60°トルク 1mm硬質アルミ板(大/小U) スマートロボットサーボ 高性能 LY10-1 (6個) | ¥13200 | 各関節用 Amazon.com |
両端ロングピンヘッダ 1×40 | ¥50 | ニッパーで3つにしてサーボの端子と接続。(ジャンパーワイヤーでも代用可能) 秋月電子の通販コード(C-09056) |
15 cm 150mmオスtoメスJR プラグ RCラジコン サーボ延長リード線ケーブル (20本入り) | ¥1199 | サーボ端子の延長用 Amazon.com |
タクトスイッチ | ¥10 | 歩行開始用。 秋月電子の通販コード(P-03647) |
カーボン抵抗器 | 数円 | 10kΩ(1個)を使用。 |
[電源] | ||
ブレッドボード用DCジャックDIP化キット | ¥100 | (開発時)サーボの外部電源用。 秋月電子の通販コード(K-05148) |
スイッチングACアダプター6V2A 100~240V NP12-US0620 | ¥840 | (開発時)サーボの外部電源用。 秋月電子の通販コード(M-00024) |
[材料] | ||
工作材料 板材 400x6x120mm B-2 | ¥100 | 腰板用。16cm x 12cmにカットしています。 100円ショップ(ダイソー) |
MDF材6枚 100x100x6mm | ¥100 | 4枚使用。サーボの上底板(左右2枚)は3箇所穴をあけてサーボを結束バンドで固定。その下に立方体を置いて更にMDF材を敷いています。 100円ショップ(ダイソー) |
工作材料 P-5 立方体8個 | ¥100 | 2個使用する。(4個 × 両足で8個使用でも可) 100円ショップ(ダイソー) |
結束バンド 170本入り白色 10cm(4inch) | ¥100 | サーボ同士の連結などに使用する。 100円ショップ(ダイソー) |
3M スコッチ はがせる両面テープ 強力 薄手 12mm×15m SRE-12 | ¥483 | サーボと腰板やMDF材などの結合用。 ※強力ではがせる両面テープです。 Amazon.com |
[道具] | ||
一般金属用 フレームのこ約25cm | ¥200 | 板材をカットするのに使用する。 100円ショップ(ダイソー) |
ホビー工作紙やすり 6枚セット | ¥100 | カットした板材をなめらかにする。 100円ショップ(ダイソー) |
精密ハンドドリル 3.0mm | ¥100 | MDF材に穴を開ける為に使用する。 100円ショ ップ(ダイソー) |
水平計 | ¥100 | 腰板が水平か確認する為に必要。 100円ショ ップ(ダイソー) |
配線図
スケッチ(プログラム)
タクトスイッチを押すと歩行を開始します。
// <注意> // スケッチを書き込む際はArduinoのデジタル1ピンから // ジャンパーワイヤーを外して下さい。 // 書き込み後に1ピンにジャンパーワイヤーを挿入します。 #include <Servo.h> // 次の左右は動画を正面とした向きです。 Servo myServo1; // 左下 Servo myServo2; // 左中 Servo myServo3; // 左上 Servo myServo4; // 右下 Servo myServo5; // 右中 Servo myServo6; // 右上 // サーボの位置を初期化する void reset() { // 次の角度は「腰板」が水平になるように設定します。 // ※ブラケットの取り付け方法やサーボ連結などによって // ※実際の角度にズレが生じますので各自の環境に合わせてください。 myServo1.write(90); myServo2.write(57); // ココを調整 myServo3.write(141); // ココを調整 myServo4.write(90); myServo5.write(40); // ココを調整 myServo6.write(141); // ココを調整 } void setup() { pinMode(13, INPUT); myServo1.attach(1,500,2500); myServo2.attach(2,500,2500); myServo3.attach(3,500,2500); myServo4.attach(4,500,2500); myServo5.attach(5,500,2500); myServo6.attach(6,500,2500); reset(); delay(2000); } void loop() { if (digitalRead(13) == HIGH) { for(int i=0;i<10;i++){ myServo3.write(161); // ココも調整 delay(250); myServo3.write(141); // ココも調整 delay(250); myServo6.write(161); // ココも調整 delay(250); myServo6.write(141); // ココも調整 delay(250); } reset(); } delay(10); }
注意事項
ロボットの腰板は水平にしないと、まっすぐ進みません。
最後に
今回、ロボットアーム、四足歩行ロボット、二足歩行ロボットの試作機を製作しましたが、サーボ同士の連結やサーボの固定に結束バンドを使用すると「力のバランス」が崩れて正常に動作しない場合がある事を学びました。
ロボットを本格的に製作する場合はネジで確実に固定してください。
スポンサーリンク
掲示板
ArduinoやRaspberry Piなどの電子工作の掲示板を作成しました。質問やわからない事は電子工作 (Arduino・ラズパイ等)でユーザー同士で情報を共有して下さい。
関連記事
公開日:2018年01月22日
記事NO:02631