arrow-righthamburgerlogo-marksocial-facebooksocial-githubsocial-twitter
2018.07.04

Let's 顔面製造!ダンボールとサーボモータで喋る顔面ロボットを作ろう

へっぽこまるこ

まるこのロボット制作
   このエントリーをはてなブックマークに追加  

都内でひっそりOLやってるへっぽこまるこです!

電子工作に入門してサーボモータが動かせるようになったので、顔面ロボット(っぽいもの)を工作してみました!

メインの材料で使う材料はダンボールです!Amazonさんからたくさん届きますよね!ダンボール!!

その他にも身近な材料をかき集めて図工感覚で作れるので、ぜひ試してみてください!

完成イメージ

下記のような動きをもたせると、それっぽい顔面ロボットを作ることができます。

これまでに制作した顔面ロボットの作例は前回記事で紹介しています。

今回は顔面ロボット入門として、喋ってるように口が動くものを作ってみます!

完成イメージはこちら。 よく見ると下顎(下唇)が上がったり下がったりしてるだけですね?!

これぐらいだったらどうにかできそうだと思いませんか??

動作の制御はサーボモータ

servo1
サーボモータの仕組みについては、dotstudioさんドキュメントの「PWM制御(サーボモータの仕組み)」に詳しく書いてありますので、 ぜひそちらをご覧ください!

servo2
サーボモータは角度を制御できるモジュールですが、取り付けるサーボホーン(サーボモータの羽の部分)にちょっと手を加えることで工作の幅が広がります!

arduino
マイコンボードは、今回はArduino Unoの互換ボードEasyWordMall UNO R3開発ボードを使います。Arduino Unoでも同じピンに配線すれば同様に動かせますので、試してみてください!

Let’s 工作!

設計して切り出す

作りたい顔のイメージを書いて、なんとなくサーボモータなどの位置を掴んでみます。 細かいことはやりながら考えるとして(適当!)、ベースの顔の型紙を作成します。

make1

設計図を元に型紙を作成します。

make2

型紙に合わせてダンボールをカットします。

make3

ダンボールのパーツを貼り合わせます。

make4

ダンボールに貼る布に切り込みを入れます。 (口をパクパクさせるためです) ほつれ止めのため、切り込みにはトップコートを塗っておくとよいです。

make5

布を貼り付ける

布を貼って行きます。 ダンボールに適量ボンドを塗り、上から布を被せるように貼っていきます。 ボンドのつけすぎには注意です。

make6

おもて面が全て貼れたら、余った部分を裏面に貼り付け、余分な布をカットします。

make7

一通り貼るとこんな感じです。

make8

裏面にも布を貼ります。 首が折れそうだったので、竹ひごを入れてついでに補強をしておきます。 また、底面には、百均タッパの蓋をグルーガンで貼っておきます。

make9

サーボホーンを拡張

サーボモータで口を動かせるよう、サーボホーンを拡張します。

コンビニなんかでもらえるフォークを加工します。

make10

ライターで少しずつ炙ると曲げることができるので、だいたい直角になるように折り曲げます。

make11

make13

ペンチやカッターなどで必要な長さにカットして、ピンバイスで穴を開けます。 (カットの際は充分に気をつけましょう!)

make14

サーボモータに付属しているサーボホーンと今作ったフォークのパーツをくっつけます。

make15

make16
make17

グルーガンで補強しておましょう。

make18

パーツを合体

サーボモータを本体と合体させていきます。

裏面から、サーボホーンの先と下唇にあたる部分の接着部分を確認します。

make19

強力粘着テープで貼り付けます。

make20

唇と顔パーツを貼り付け

唇を作ります。唇に厚みをもたせるため、唇の形にカットしたダンボールに、一回り小さい赤のフェルトを貼ります。

mouse1

上から再度フェルトを貼ります。

mouse2

おもて面から唇をグルーガンなどで接着します。

mouse3

お好みで口以外の顔のパーツを貼り付けます。

parts1

私は、目(発泡スチロールの球を加工)、眉毛(フェルトをカット)、まつ毛(百均のつけまつ毛)と髪の毛(百均の付け毛)を用意してみました!

parts2

サーボモータを動かすプログラム

以下のようなプログラムを準備して、マイコンボードに書き込んでおきます。

# include <Servo.h>

Servo myservo;
int pos = 0;  

void setup() {
  myservo.attach(9);
}

void loop() {
  for (pos = 0; pos <= 25; pos += 1) {
    myservo.write(pos);
    delay(5);
  }
  for (pos = 25; pos >= 0; pos -= 1) {
    myservo.write(pos);
    delay(5);
  }
  for (pos = 0; pos <= 25; pos += 1) {
    myservo.write(pos);
    delay(5);
  }
  for (pos = 25; pos >= 0; pos -= 1) {
    myservo.write(pos);
    delay(5);
  }
    delay(20);
}

配線して動作を調整

サーボモータから出ている3つの線の先端をカットします。

circuit1

先端の皮を1センチほど向いて、こよりのように撚り合せます。

circuit2

マイコンボードに配線します。

circuit3

circuit4

制御を微調整します。

circuit5

試してみる

動かします!

まとめ

図工感覚で電子工作して動くものができました!

サーボモータを増やしたりスピーカをつけたりと、同じような機構でさまざまな工夫ができます。

イベントの受付や、お子さんとの工作のネタにいかがでしょうか?!ぜひ、いろんなオリジナルの顔面を作ってみてください!!

おまけ:パリピモード

目ん玉を加工して瞳にマイコン内臓フルカラーLED(HIGHにするとランダムに光るもの)を埋め込んで……

paripi1

ぶっさします……

paripi2

Arduinoのデジタル出力ピン(今回は11と12)にLEDを接続してプログラムを書き込み……

動かします!

   このエントリーをはてなブックマークに追加