Raspberry Pi で戦車を作る(拡張編)

ひと通り、Raspberry Pi で動く戦車ができたのでおしまい…という訳ではなくて、これを拡張/派生させていきます。RasPi 戦車の最大の目的は、

  • リモコンで動くこと
  • モーターが制御できること

の2点なので、有線ケーブル(USBケーブル接続など)は対象外です。あと、戦車自体を「動かす」ことが私の目的なので、Raspberry Pi に外部電源を乗せています。これは、拡張先である Arduino なども同じです。メインチップに供給する電源とは違うところから取ってくるってのが必須。

image

以前、LEGO Mindstorms EV3 で作った時のノウハウを使っているので、PS3 Dualshock3 のコントローラーで Bluetooth 接続させています。モータードライバは手早く済まそうと思って購入してしまいました(本当は自作する予定だった)。制御フローでいえば、5つのブロックに分かれているわけで、これを切り替えることで、拡張できますよね。というか、もともとそのつもりでプログラムの作っています。

ざっと、今考えているところを書き出すとこれだけあります。

image

Bluetooth 付きのコントローラーとして Wii コントローラーを使う方法があります。また、Android のスマートフォンを使って RFCOMM で繋ぐ方法もありますよね。通信方法も、Bluetooth よりも WiFi のほうが手軽です。更に、赤外線を使うと非常に安くできます。Dualshock3 が 4,000円を超えますが、赤外線だと500円ぐらいでできそうです。

また、本体は、Raspberry Pi で動かしてますが、Arduino を使ってもできるハズです。これもシリアル通信にすれば結構いろんなことができるし、赤外線通信も可能です。ライントレーサーのような自動で動く仕組みでもいいんですが、ここはコントローラーで動かしていきたいですね。

モータ制御のところも、現在の ON/OFF だけではなくて、PWM 制御にすれば高速/低速で動かせます。このあたりはラジコンカーの制御も合わせると色々種類があります。また、コントローラ自体が多様(スマートフォンからの動かせるし)なので、従来のラジコンよりも色々な操作をひとつのコントローラに詰め込めます。動力のモーターと、サーボを同時に動かすこともできるだろうし、LEDや音を鳴らすこともできるでしょう。そのあたりのギミックが無線でもやりやすくなっています。

Raspberry Pi 2 自体は 5,000円近くするので、数台用意して実験するのは大変ですが、Arduino のボードを使って半額ぐらいで済ますことも可能です。更に言えば、Arduino で使っているチップを取り出して、必要な部分だけ基板で組めばもっと安くできそうです。このあたりはもうちょっと探っていきたいところです。

Arduinoブートローダ書き込み済みATMega328P-PU(内蔵CR発振8MHz版) – スイッチサイエンス
https://www.switch-science.com/catalog/1414/
Arduinoブートローダ書き込み済みATMega328P-PU(内蔵CR発振8MHz版)

こんな感じで、ブートローダーが書き込んだものが 400円弱で手に入るのだから、モーター制御だけの専用基板に組み込めば、かなり小さく&安くできそうな感じです。そうすると、1台だけじゃなくて、5,6台は一気に作れそうですよね。5台ぐらいあると、個々に赤外線センサーや距離センサーを乗せて、相互に自動で動かしたりかなりおもしろいことができそうです。まあ、1万円/台で作ってもいいんでしょうが、そこは創意工夫と頭を使って製作費を下げる努力をするということで。

カテゴリー: RaspberryPi パーマリンク