ラズパイでラジコンを作ったので製作記を書いてみます。
まずはハードウェア編。
##1.材料
No | 品名 | 型番 | 価格 | 備考 |
---|---|---|---|---|
1 | Raspberry Pi | モデル3B | 5,000円くらい | モデルは何でもいいです |
2 | タミヤ楽しい工作シリーズ ダブルギヤボックス | - | 924円 | - |
3 | タミヤ楽しい工作シリーズ ユニバーサルプレートセット | - | 396円 | - |
4 | タミヤ楽しい工作シリーズ トラック&ホイールセット | - | 660円 | 2~4で土台が作れると思うけど、もしかしたら足りないものがあるかも… |
5 | Arduino用モータードライバシールド | - | 3,175円 | https://www.switch-science.com/catalog/427/ |
6 | モバイルバッテリ | - | 2000円くらい | 電池&電池ボックス等でも可 |
7 | Raspberry Pi 4B用プロトタイプ基板 | ABB-RSP-B-4-NR | 388円 | 自分はこれを使いましたが、同じ作り方をするならこの基板はおすすめしません |
8 | 40ピン基板用ピンソケット | 21602X20GSE | 95円 | - |
9 | Raspberry Pi用スペーサー | MPS-M2611 | 300円 | - |
10 | はんだごて | - | - | - |
11 | コネクタ,配線材料、はんだ等 | - | - | - |
- | - | 合計 | ざっくり15,000円くらい | - |
No.5↓
自分が持っていたのは古い型のもので、今だと新しい型が出ているようです。
自分の場合、以前にもArduinoでラジコンを作ってみようと思ったことがあり、タンクの土台やモーターシールドを入手済みだったので、それらを流用するためにこのような材料で製作しました。
ゼロから作る場合は、他の構成もあると思います。
##2.タンクの土台作り
上にも書いた通り、タンクの土台は既にできてたので、ここは特に書くことありません。
イチから作る場合も、たぶんそんなに難しくはないと思います。
ミニ四駆みたいな感じだと思います。
##3.ラズパイ-モーターシールド中継基板
ソフトの工程を含めて考えても、ここが一番苦戦しました。
モータードライバシールドの回路図を以下に一部抜粋します。
ここのPWMA,PWMBが、モーターの駆動信号で、PWM信号を入力したいところです。
また、DIRA,DIRBというのはモーターの回転方向を制御する端子で、Highで順回転、Lowで逆回転です。
ラズパイのピン配は以下のようになっています。
ラズパイの「ハードウェアPWM」に使えるチャンネルは2つしかなく、以下のポートが割り当てられています。
*PWM Channel 0 : GPIO12、GPIO18
*PWM Channel 1 : GPIO13、GPIO19
※こちらの記事を参考にさせてもらいました↓
https://qiita.com/s417-lama/items/0ef64a7af3fcf6a56cc5
よって、
GPIO12or18をPWMAorBに接続 または、
GPIO13or19をPWMAorB(残った一方)に接続
ということになります。
DIRA,DIRBには、適当にGPIOを繋げばOKです。
あとはラズパイの5VとGNDを、モーターシールドの5V・GNDに繋げば、動いてくれるはずです。
と、ここまではよかったんですが、コネクタとかを基板にはんだ付けし始めたら、大変でした。
また気が向いたら詳細な配線図とかを追加しようと思いますが、とりあえず苦労したエピソードだけ書いておくと、
下の写真で伝わるか微妙ですが、モーターシールドのピンをぐにっと一列ぶん曲げてコネクタに挿しています。
こうしないと、下に見えている剣山みたいな部分にピンがあたってショートしてしまいます。
また、作っている途中で気づいたんですが、この基板は以下のようにパターンで繋がって同電位になっているところがあります。
よって、何も気にしないとラズパイ側の意図しないピンとモーターシールドのピンがショートしてる場合があります。実際、あとからそのことに気づいて、基板のパターンをカッターナイフで切ることでどうにか処理しました。
なので、今回のようにAruduino用のシールドをラズパイ用に変換する基板をつくる場合は、変にパターンで繋いであるやつじゃなく、ただのユニバーサル基板とかで作ったほうがいいと思います。
とまあ、そんなこんなで、モーターシールドの変換基板を作り上げます。
##4.モーター用電源入力
あとハード的に必要なのでが、モーター駆動用の電源です。
試してないですが、たぶんラズパイからの供給電力ではモーター動かすのは厳しいので、別で電源を供給します。
モーターシールドにはそのためにVinという端子がついています。
ここの端子にモバイルバッテリから電圧を供給しました。
USBケーブルをちょっと加工し、以下のように赤と黒の線を出してきて、Vinに接続すればOKです。
ただし赤と黒の線をショートさせないようにご注意ください。危ないです。
##5.タンク土台、モーター、電源、ラズパイの接続
だいたいのモジュールが揃ったので、あとはそれを組み合わせます。
ここも意外と苦戦します。
ラズパイとかモバイルバッテリとか、タンクの土台にはそのままではうまく乗らないので、クッションというか、間を取り持つものが必要です。
自分は最初、とりあえず手元にダンボールしかなかったので、それでどうにか仕上げました。
ただ、どうにも安っぽい感じがしたので、最初の写真のようにブロックで台を作ってそこに載せました(子供のおもちゃを奪って…)
##6.まとめ
以上でハードウェア編は終了です。
全くのゼロからスタートしたら、1週間くらいはかかってしまうかもしれません。
自分のモチベーションは「子供が遊べるおもちゃを作る」ということだったので、そういうのがあればなんとかいけると思います。
Qiitaでは異端かもしれない、ハードウェアだけの記事になってしまいました。
次回はソフトウェア編です。
といってもソースコード載せるだけで終わりかもしれません。
(2020/5/1)ソフトウェア編を書きました。