マイコン制御基礎の次

マイコン制御基礎の次(1)

招く猫には福来たる?
−はじめてのメカトロニクス−

みわよしこ(執筆協力:山本栄一、小椋秀一、宇野雄騎)  2009/1/26

自作のマイコン制御プログラムで実際にモノを動かしてみよう! 「マイコン制御基礎」第3シリーズでは、LEDの点滅とは一味違う、“ボクサーロボットの招き猫化”にチャレンジする。(編集部)

- PR -

 マイコン制御基礎第1シリーズ「マイコン制御基礎以前」では、マイコン制御入門の「お約束」であるLEDフラッシャを制作し、アセンブリ言語によるプログラムでLEDの点滅を制御した。続く第2シリーズ「マイコン制御基礎の基礎」では、アセンブリ言語に対して理解を深め、2個のLEDを応用してマイコンの算数を理解した。しかし、LEDが点滅しただけで、“何かができるようになった自分”を実感できただろうか?

 そこで、第3シリーズ「マイコン制御基礎の次」では、自分の書いたプログラムによって実際にモノを動かしてみる。そこには、単なるLEDの点滅とは異質の喜びがあるはずだ。

第3シリーズのゴールは
ずばり「招き猫」だ!!

 深刻な不況が続く現在だからこそ、明るい希望を持ちたい。

 不況期に深刻になることなら誰でもできる。楽観的になったからといって明るい将来が開けるとは限らないが、「笑う門には福来る」というではないか。え? 「笑え」といわれても笑えない? だったら、招き猫に幸せを招かせてみよう!

 本連載では、画像1の招き猫を製作し、ごく簡単なメカトロニクスの世界に一歩踏み込んでみる。

画像1 第3シリーズのゴール「招き猫」
※画像をクリックすると動画が再生されます(aviファイル)

 左腕が3回「招き」動作を行って止まるのだが、この部分をAVRマイコンで制御している。何を招くは読者諸兄姉の判断にお任せしたい。ちなみに筆者は、この招き猫を見ていると「酒! 仕事! 男!」と叫びたくなる……。

 画像1を見てお分かりのとおり、この招き猫は紙で作った猫のスキンでまさに「猫をかぶった」状態になっている。この「猫かぶり」を外してみると、中は画像2のようなロボットである。

画像2 「招き猫」の正体−ボクサーロボット
※画像をクリックすると動画が再生されます(aviファイル)

 招き猫の「招き」動作、つまりプログラムは、LEDフラッシャでLEDを点滅させるプログラムと基本的に同様である。LEDを点滅させる代わりに、ロボットの上腕の上げ下げを制御しているだけだ。今回は左腕にだけ3回の「招き」動作をさせてみたが、必ずしも3回で止める必要はない。また、右腕に同様の回路を仕込めば、両腕での招き動作も可能だ。

 本来、招き猫は右手で“お金”を、左手で“人”を招くことになっている。本連載の内容を応用して、欲しいものを何でも招いてくれる招き猫を制作し、不況下を生き延びる勇気を出していこうではないか!?

小学生向けロボット工作キットからはじめるメカトロニクス

 本シリーズで「招き猫」に化けさせるロボットは、タミヤ社の小学生向けロボット工作キットの1つ「2チャンネル リモコン・ボクシングファイター(以下、ボクサーロボット)」である。組み立ては実に簡単で、小学校高学年以上ならば問題なく行えるはずだ。

関連リンク:
2チャンネル リモコン・ボクシングファイター
http://www.tamiya.com/japan/products/71110boxing/

 いまどきの小学生の一部は、WRO(World Robot Olympiad)に参加する機会を得て、高度なロボット制御を行っている。大人として、そのような子供たちを見ていると、タジタジになってしまう……。

関連リンク:
ようこそ日本へ、自律型ロボットの世界大会−@IT MONOist
http://monoist.atmarkit.co.jp/fembedded/articles/robocon/etrobocon2008/05/wro2008.html

 しかし、恵まれた状況にある子供たちをうらやんでいても仕方がないではないか。世の中には「大人買い」という言葉があるけれども、オモチャ、いや、教材に恵まれない状況で無理なくできるスキルアップの材料を探すのも、大人の態度の一つであろう。本連載は、わずか1980円(税別)のロボットの改造から、誰にでもできるメカトロニクス入門を目指す。

LED点滅の延長で「招き」動作の制御ができる?

 モータの回転制御は、LEDの点滅制御とはまったく異質の困難さを含んでいる。特に、今回用いたモータ(ボクサーロボットのキットに含まれている)は、この種の制御を前提として作られたものではなく、主に子供の工作を目的として作られたDCモータである。単体なら1個100円程度で販売されており、DC電源を接続すれば回転し、電源のプラス・マイナスを入れ替えれば逆回転するだけの単純なモータだ。

 この種の制御を目的とする場合、ステッピングモータやサーボモータを採用するのが通常のパターンだが、このモータはそもそも制御を目的として作られたものではない。後述するが、制御を可能にするために今回筆者はかなりの「小細工」を行った。また、ノイズ対策にも苦しんだ……。

 しかし、こうした試行錯誤の結果、ついに「LEDをOFF→ON→OFFする」の延長線上で、「モータを止める→回す→止める」の制御を行うことが可能になった。そして、LEDフラッシャのLEDの点滅を制御するプログラムの延長で、モータの回転を制御するプログラムを作成し、招き猫の「招き」動作、もとい、ボクサーロボットの腕の上下運動の制御を行うことができたのだ。

 ちなみに、このボクサーロボットは、腕を前後に動かしてパンチ動作を行う。しかしこの間、モータは一方向に回転し続けているだけだ。モータの回転を腕の前後動に変換しているのは、クランクシャフトを用いた非常に単純な仕組みである。

>>次ページで、「招き猫」プログラムの全容を公開する

  • 連載バックナンバー
  • 全記事インデックス
  • 組み込み開発トップ
  • MONOistトップ

メールマガジン

アイティメディアの提供サービス

ホワイトペーパー(TechTargetジャパン/閲覧には会員登録が必要です)

スキルアップ/キャリアアップ(JOB@IT)

スポンサーからのお知らせ

Windows Embeddedコーナー

Windows Embedded
Windows Embedded専門コーナー誕生。Windows CEやXP Embeddedに関する技術情報を提供します。

@IT MONOist 求人情報