最近いろいろあって外で遊べなくなってしまったので(30年後にこれを読んでいる人へ。2020年は本当にいろいろあった。)、休日の子供との遊びをいろいろ考えています。最初のうちは糊で絵をかいてカラーサンドをかける砂絵をしたり、粘土に絵の具を混ぜてカラフル粘土遊びをしたり、カップケーキを作ったり……といろいろ趣向を凝らしていたのですが、そういったプリミティブな遊びはそろそろネタが尽きてきました。
そんなある日、子供が登園カバンから出してきたのが、保育園で塗ったと思われるぬりえです。
最初、これをカラーコピーしてペンギンをたくさん増やすという神の遊びをしていたところ、
前世でペンギンに危害を加えた罰として子供にめちゃくちゃペンギン作らされてる pic.twitter.com/xn1qRoGSxl
— メルセデスベン子 (@nomolk) 2020年4月25日
ひとしきり増やした後にそれを全部切りぬきさせられるという苦行イベントが発生、拙宅に大量のペンギン平面人形が現れました。
これだけいたら一羽くらいサイボーグがいないとおかしいなと思って機械の体にしたところ
— メルセデスベン子 (@nomolk) 2020年4月25日
子供にめっちゃウケたので、ゴールデンウィークのレジャーとしてお勧めする次第です。
しくみ
仕組みは単純です。
まず前から見たところ。
右側の黄色いブレッドボードにスイッチがついていて、左右の腕振りと
頭のLEDの点灯ができます。腕はどうやって動いているのかというと……
サーボモーターでシーソーのようにひっぱっているだけです。
つくりかた
※材料は後でまとめます。
まずぬりえでも手描きでも何でもいいので、動かしたい人形を用意します。
腕のところだけ切り離します。ちょっと痛そうですが、それが改造手術なので……。
体を段ボールに貼って、土台に立てます。土台はかまぼこ板のような端切れがよいでしょう。段ボールにはあとで腕をつけるので、胴体ギリギリくらいの太めにしておいた方がいいです。
クリアファイルを棒状に切ったものに、腕をつけました。腕の反対側には、糸を通す小穴をあけておきます。その間の適当な位置に、もう一つ穴をあけます。
穴の位置は、手のある側に寄せすぎると、胴体に固定した時に2本の腕が引っかかってしまいます。小穴側に寄せた方が動きも大きくなりますし、良いです。
段ボールの裏に腕を固定します。短いビス(木ネジ)があったのでそれで止めました。軽く動くように、ネジ穴はビスより大きくしておく必要があります。
ビスがない場合は針金を通すとか、糸とつまようじを使うなど工夫してください。
で、腕を引っ張るための糸を通します。写真ではテグスを使っていますが、テグスは結び目がすぐほどけるし固くて癖がつくしで、あまりよくありませんでした。木綿糸の方がよさそう。
いい感じですね!コツはネジをできるだけ段ボールの端に寄せることでしょうか。関節を肩に持ってくるために。
サーボモーターを固定します。左のサーボモーターは180度、右のサーボモーターは0度にあらかじめ回しておきます。で、図の位置にサーボアームを付け、糸の先をむすびます。
LEDは適当にジャンパ線をつけて、頭にテープで貼ります。
こう。で、Arduinoにプログラムを書き込み、回路を組んで……(※この辺の詳細は後で)
ここにサーボとLEDを接続して…
完成…!
子供は自分の描いた絵を動かしてやったり立体にしてやったりするとすごく喜ぶので、ゴールデンウィーク、自宅に材料のある方にはおすすめのアクティビティです。
こういうの自分で組むと配線モジャモジャになるので、基板で作ってあるキットとか売ってたらウケると思う。
配線とプログラム
バッテリは絵がリポバッテリになってますが、USBのモバイルバッテリを使っています。
#include <Servo.h> Servo servoR; Servo servoL; int servoRUp = 180; int servoRDown = 90; int servoLUp = 0; int servoLDown = 90; void setup() { pinMode(8, INPUT_PULLUP); pinMode(9, INPUT_PULLUP); servoR.attach(5); servoL.attach(6); servoR.write(servoRDown); servoL.write(servoLDown); } void loop() { if(digitalRead(8) == HIGH){ servoR.write(servoRUp); } else { servoR.write(servoRDown); } if(digitalRead(9) == HIGH){ servoL.write(servoLUp); } else { servoL.write(servoLDown); } delay(15); }
材料
全部イチから揃えるとそこそこお金がかかりそう。
電子工作かじったことあってArduinoとか持ってるならそこそこ安く済むと思う。そういう人なら、サーボはもってなくても買っておいて損はないでしょう。
「※LED用」って書いてあるやつはLED用なので省略する場合はなくてもいいです
サーボモータ×2
※サーボモータについて詳しくはこちらをどうぞ
Arduino、Raspberry Pi等で使える1000円以下の安サーボモータ比較~我々はどのサーボを使うべきか - nomolkのブログ
モバイルバッテリ
Arduino Uno
Arduino Uno Rev3 ATmega328 マイコンボード A000066
- メディア: Personal Computers
ジャンパ線(オスーオス)
モバイルバッテリをブレッドボードにつなぐ何か
自分はこの2つ
www.switch-science.com
その他、細かいもの
- タクトスイッチ×3
- ジャンパ線(メスーメス)※LED用
- LED ※LED用
- 抵抗100Ω ※LED用
- 段ボール
- 土台の板
- 腕を留めるビスかなにか
- 25cm以上ある結束バンド