コンテンツにスキップ
ネコと楽しむ やさしい電子工作ライフ その1

ネコと楽しむ やさしい電子工作ライフ その1

 こんにちは。スッチサイエンス・マーケティングアドバイザーのSHIGS(シーグス)です。趣味で電子工作を楽しむメイカーでもあります。ただし私のテーマはいつもひとつ。

「電子工作とネコ」

「最近、電子工作を始めました」「電子工作に興味はあるんだけど、何を作ったらいいのかわかりません」そんな電子工作ビギナーの方でネコを飼っていらっしゃる方もいると思います。「もしかしたら、私の『ネコと楽しむ やさしい電子工作ライフ』がお役に立つかもしれない」そんな思いでブログを書かせていただいてます。

●マイキャットご紹介

 私のネコ飼い歴は、電子工作歴よりはるかに長く、20年以上になります。現在もノルウェージャンフォレストキャットとスコティッシュフォールドの2頭を飼っています。血統種にこだわったわけではなく、贔屓のネコカフェが閉店の憂き目に会い、たまたま引き取った2頭がこの品種だったというわけです。2頭ともオスの去勢ネコでともに10歳を超えています。彼らのための工作に日夜励んでおります。

↑マイキャット。左がミー(ノルウェージャンフォレストキャット)で右がハッピー(スコティッシュフォールド)。

<第1回 クルクル、カサカサ、回転式電動ネコじゃらしで遊んでほしい>

●メイカーなら手作りしたい

 世の中にはネコに関する製品があふれています。試しにアマゾンで「ネコおもちゃ」を検索すると40000点以上がヒットします。中には電動製でお値段もそれなりにするものもあります。「愛猫のためならなんでもしてあげたい」そんなネコ飼いの方なら、ひとつやふたつ、購入したことがあるでしょう。

 ところががんばって買ったのに、まったく相手にされない。最初は喜んでいたのにそのうち遊ばなくなってしまう。私もなんども経験しました。「ネコあるある」ではありますが、なんかくやしくないですか? 「買うより手作りする方がメイカーとしての正しい態度ではないかニャ?」遊ばなくなったおもちゃを前に、挑戦的な態度でネコたちもニャーニャーいってます。

…ということで、ネコの電動おもちゃづくりに挑戦することにしました。

◎製作編

●今回のターゲット

 ネコおもちゃの中でもヒット商品といわる、カバーの下でネコじゃらしがくるくる回る、アノおもちゃを作ることにしました。電子工作的には、マイコンボードとサーボモーターがあれば動きは再現できそうな気がします。

 全体としては図のような構成を考えてみました。

 ベテランのメイカーならちゃちゃっと作れるのでしょうが、ビギナーの方にとっては、簡単そうに見えても電子工作にはいくつも落とし穴があります。

 私は、まず目の前にあるものでできるだけ簡単な試作を作るところから始めます。そうするといろいろな問題点が見えてくるので、次の段階に進めます。大上段にふりかぶってものを作ってしまうと、後戻りできなくてやむなく廃棄などということになりかねません。 

☞ビギナー向けポイント/まずはなるべく簡単な試作を作ってみよう。見栄えは無視!

●キーとなる電子部品

 キーとなる電子部品の選定です。

 まずはマイコンボード。機能としてはネコじゃらしをいくつかのパターンで回転させるだけなので、モーターを単純に制御できればOKです。複雑な作業をさせるわけではないので、ここはビギナー用の教育向けマイコンボード、micro:bit https://switch-education.com/products/microbit/

で事足りそうです。

↑教育向けマイコンボードmicro:bit。

 モーターとしては、素直に回転サーボモーター(FS90R)

https://www.switch-science.com/products/5290?_pos=2&_sid=8e9feefb4&_ss=r

を使うことにしました。ただし回転サーボモーター単体ではなく、「ベーシックモジュール用回転サーボモーターセット」を選びました。キットに付属のホイールやネジ類などを使いたかったからです。後述するように、結果的にこれがキーパーツとなりました。

↑回転サーボモーター(FS90R)。

 ここでポイントとなるオススメのmicro:bit用モジュールをご紹介します。「ワークショップモジュール

https://www.switch-science.com/products/5489?_pos=1&_sid=109b28645&_ss=r

です。サーボモーターやセンサー用のコネクターを備え、かつ電源としても使えるので、micro:bitの電子工作にはうってつけです。これひとつあれば、スタンドアローンで(独立して)micro:bitが使えます。

●ネコじゃらしと回転サーボモーターをどうつなぐか?

 構成図を眺めながら、どう作っていくか、考えます。

 最初の課題としてはネコじゃらしとサーボモーターの接続かな、と思いました。回転サーボモーターセットには「ホーン」と呼ばれるモーターの軸に接続するアダプター部品があります。当初はこれにストローをかぶせ、ストローの先にネコじゃらしをつけることを考えましたが、やってみるといかにも強度が足らなそうで、簡単にネコに壊されそいうです。グルーで固めることも考えましたが、万が一にもネコを傷つける事態になったら大変です。強度を保ちつつ、かつ回転するネコじゃらしに強い負荷がかかったらスポッと抜けるのが理想です。抜けないけど、いざとなれば抜ける。そんな矛盾した接続がのぞましいのです。

 3Dプリンターで「ネコじゃらし専用ホーン」を作る手もあります。ただ、ビギナーにはさらに難易度が上がるのでここでは使用を避けました。

☞ネコ電子工作のポイント/安全性は一番大事。ネコちゃんを傷つける可能性がないか、常に考慮しよう!

●いいものがあるじゃないか!

 うんうんいいながら、回転サーボモーターセットの付属パーツを眺めていると、ホイールが目に入りました。本来はゴムのカバーをかぶせてタイヤとして使うものです。中心に回転サーボモーターの軸が接続できる溝があり、ホーンの代わりになります。大きさもちょうどいいし、幅もそこそこあるので、穴を開けたらネコじゃらしの軸ぐらい挿せそうです。

 さっそく手持ちのドリルで穴を開けました。嵌合を考えて最初は小さめに穴を開けます(約3mm)。ネコじゃらしの軸の先端も適当に削り、穴に挿して様子をみます。この作業を繰り返し、ちょうど良いポイントを見つけていきました。

↑ホイールにネコじゃらしを挿す穴をドリルで開ける。

 ネコじゃらし用ホイールができたので、専用ネジで回転サーボモーターに取り付けます。モーターから伸びているコードをワークショップモジュールのコネクターに挿します。このとき注意するのが、プログラムで使った端子とワークショップモジュールのコネクターの番号を合わせること、コードの色とコネクターの色を合わせること、その2点です。

☞電子工作ビギナー向けポイント/電子部品から伸びたコードにはそれぞれ役割がある。マイコンボードやモジュール基板に挿すときはどのコネクターがその役割に対応するか、コードの色とコネクターの色を確認して接続しよう!

●筐体は空き箱

 中心となる装置に目処がたったので、何かしら適当な箱を筐体にすることにしました。本家のおもちゃを参考にすると、本体部分の直径が約180mm、地面からネコじゃらしを挿してある部分までの高さが約35mmといった感じです。このイメージに近い空き箱を探すと…ありました。先ごろ我が家で切れた環形蛍光灯(輪っかタイプ)が入っていた空き箱です。中央に回転サーボモーターが入る穴を開けると、すっぽりと収まりました。

 コードの先を穴に通して、ワークショップモジュールに挿すといい感じです。これで簡易的な筐体ができました。

↑空き箱を利用して作った筐体。

●まずはシンプルなプログラムで動かす

 次はプログラミングです。まずは、クルクル回転させて問題がないか見てみます。

 micro:bitのプログラミングには、専用のビジュアルプログラミングソフトMakeCode がオススメです。ほかにJavaScriptや、連携すればScratchも使えます。初めて使う方はmicro:bit公式サイトを見たり、入門書などを参考にするとよいでしょう。

・MakeCode:https://makecode.microbit.org/

・micro:bit公式サイト:https://microbit.org./ja/※一部英語のみのページもあり

・入門書「micro:bitではじめるプログラミング」:https://www.switch-science.com/products/7357-1?_pos=2&_sid=870390b05&_ss=r

 ここではシンプルにともかくも回転すればよしとします。プログラムは以下の通りです。

*micro:bitのボタンAを押すと回転サーボモーターに挿したホイールが回転するプログラムです。

 micro:bitにプログラムを送り込み、ワークショップモジュールに挿します。ポイントは制御するプログラムのピンの番号とワークショップモジュールのコネクターの番号を間違えないことです。コードの色を合わせるように挿すことも重要です。これらを間違えると作動しません。

↑micro:bit、回転サーボモーター、ワークショップモジュールの組み合わせ。

 ホイールにネコじゃらしを挿し、ワークショップモジュールに電池を入れて、スイッチオン。おお~、いい感じに回転してます。

●あれ、カバーがとれちゃう!

 あとはカバーがわりの新聞紙をかぶせてどうなるか? ホイールに挿したネコじゃらしの先がちょっと出るくらいの直径(約600mm)で新聞紙を切り、真ん中に穴を開けます。ホイールと回転サーボモーターを止めてある同じネジで新聞紙も止めてみました。でも回転させるとそのうち新聞紙がずれて、取れてしまいます。「さて困った…」

 カバーとネコじゃらしが回転するとカバーとこすれてカサカサ音がします。この音もネコの狩猟本能をくすぐります。ここはなんとか、カバーがわりの新聞紙を安定させたいところです。

●無理を通せば道理が引っ込む??

 サーボの高さを高くするとか、ネコじゃらしを長くするとか、いろいろ考えてやってみたのですが、根本的な解決になりませんでした。

 でも何かを作るときはたいていどこかで問題が発生します。いろいろ考えてそれを克服するわけですが、困難を楽しむぐらいが趣味の工作としては健全です。イライラしてもたいてい解決にはつながりません。ネコの喜ぶ顔(?)を思い浮かべながらがんばりましょう。

☞電子工作ビギナー向けポイント/試作でうまく動作しないのは当たり前のこと。イライラするより試行錯誤を楽しもう。

 ホイールの真ん中に細い軸を立てて、その上から新聞紙をかぶせることを考えつきました。これなら軸だけが回転して新聞紙はわずかに動くぐらいですむかもしれません。手元にあった紙製ストローの径がちょうど合いそうだったので、約3cmに切って軸に固定することにしました。この固定はかなりしっかりしなければならないので、グルーで無理無理固めました。無理を通せば通りが引っ込む式で強引に軸を立てましたが、結局、これが正解。

↑軸をグルーで無理無理固定した。

 やってみると、新聞紙に引っかかることなく、ネコじゃらしが回転します。「これなら」と思い、ネコたちの前で試すと反応も上々。

 これでほぼほぼ先が見えてきました。完成まで8合目までは来た感じ。

「あとはプログラミングだけかな」

●回転サーボモーターとプログラミング

 サーボモーターは、何かを動かすときに回転軸を制御できる、電子工作には欠かせない部品です。サーボモーターをうまく使いこなすことが、動きのある工作を作るときのキーポイントになります。

 回転サーボモーターもサーボモーターの一種ですが、ちょっと特殊なところがあります。通常、サーボモーターは0~180度の範囲で回転軸を制御しますが、回転サーボモーターは360度回転できます。ただし、MakeCodeのプログラム上は0~180度で表現するので、ちょっとややこしいですが、慣れれば回転方向や・回転の速さを制御できます。

 基本的には、MakeCode中の「サーボ 出力する 端子 P0 角度 180」のブロックを使います。制御のためのパラグラフとして変えられる数字は、端子の番号と角度になります。

*制御の方法

・「 端子 P0」→数字はワークショップモジュールのコネクターに合わせます。「P0」または「P8」を指定します。

・「角度 180」→この数字が、回転方向と回転速度を決めます。回転方向は0~89が時計回り(右回り)、90が停止、91~180が反時計回り(左回り)となります。回転速度は、90を起点にして0に近づくにつれ(数字は減っていく)速くなります。同じく90を起点にして180に近づくにつれ(数字は増えていく)速くなります。

●ネコじゃらしをどう動かしたら喜んでくれるか?

 ここから先、ネコじゃらしをどう動かすはお好みでしかないですが、制御できるパラメーターとしては、回転方向、回転速度、回転の回数(作動時間で制御)、決めた動作パターンの回数などがあります。ポイントは、停止をうまく入れるところでしょうか。動いたり、止まったり、逆回転したり、急にスピードが上がったり、とネコが喜びそうなアクションを加えてネコじゃらしを動かします。

 私はまず以下のような動作をさせてみました。結構、喜んでくれたように思っています(飼い主の自己満足かもしれませんが…)

<ボタンAを押すと…>

時計回りに1回転→停止2秒→反時計回りに1回転停止2秒→時計回りに1回転(以後ループ。繰り返し4回)

回転速度はネコの反応を見ながら、いろいろ調整して決めました。自分としては遅過ぎず早過ぎずでちょうどいいかと思ってます。このへんは好みですね。

 プログラムができたら、micro:bitに送り込みます。プログラム入りのmicro:bitを、回転サーボモーターを挿したワークショップモジュールに挿します。ワークショップモジュールのスイッチをオンにして、micro:bitのそれぞれのボタンを押せば、動作が始まります。

●もっと使い勝手がいいように

 やってみて、ちょっと面倒だなと思うことがありました。箱からmicro:bitの挿してあるワークショップモジュールを取り出して、ボタンAを押し直す点です。そこで、micro:bitをもう1枚用意して、通信機能を使ってこれをリモコンとしました。使い勝手がいいように、リモコン側にもオン-オフ機能付きの電池ボックス

https://www.switch-science.com/products/5277?_pos=4&_sid=5950b3348&_ss=r

をつけてスタンドアローンで使えるようにしました。

↑送信側のmicro:bitには電池ボックスをつけておく。

 プログラムはこんな感じです。

<送信側>

<受信側>

●見栄えも楽しく!

 きちんと機能できる最初の試作品ができました。ここまで、案外うまくいった印象です。

 ただ、見ているうちにもうちょっと見栄えもよくしたくなりました。

 100円ショップをうろうろしてちょうどいい大きさの鉢植えプレートを見つけたので、これに穴を開けて、回転サーボモーターを取り付け、裏にワークショップモジュールを取り付けました。これで自由にmicro:bitが抜き差しできるし、ワークショップモジュールのスイッチのオンオフも楽です。

↑完成した電動ネコじゃらし(表側)。

↑micro:bitを挿したワークショップモジュールは両面テープで貼付(裏側)。

●ネコ大喜び。でも…悲しき「ネコあるある」

 早速、ネコたちの目の前でスイッチオン!

 ハッピーがまず近づいてきましたが、おっかなびっくりで反応はイマイチ。やがてミーがやってきてネコじゃらしに飛びつきます。

「おお、遊んでる、遊んでる!」

 回転するネコじゃらしをおいかけるミー。反応は上々です。手作りトイで遊ぶ姿に感無量…。

 だがしかし…。

およそ10分ぐらいでしょうか、様子を見ていたハッピーはやがてどこかへ消え、ミーはなぜか、ネコじゃらしに興味を無くして、軸の方をかじり出す始末。

 ↑ネコじゃらしそっちのけで真ん中の軸をかじるミー。

 ここは一旦撤収して、日をおいて再度試みることにします。次回までにプログラムで動作パターンを変え、ネコじゃらしも別のものにしようかと。この辺の修正が簡単にできるのが、手作りのよさです。

 ネコたちの喜ぶ姿を想像しながら、今日も手直しに励むのでした。(その1終わり)

☞ネコ電子工作のポイント/ネコは基本的に本能に忠実な、気まぐれな性格。「遊んでくれない」、「壊された」は、よくあること。めげずにがんばりましょう!

前の記事 Pythonで動的にモジュールをインポートして実行するようにするけど、モジュール側の定義もチェックしたい話