ギヤボックスの組み立て

今回はタミヤのダブルギヤボックス左右独立4速タイプを使いました。
説明書を読めば簡単に作れます。
ニューブロックとサイズがぴったりなのでおすすめです。

※画像はAmazonから転載

ニューブロックとの接続部品の作成

raspberry-piとギヤボックスはニューブロックの穴に合わせた部品にネジで固定することで機体に固定する部品を作る。
ニューブロックの穴14mmの立方体。raspberry-piのネジ穴は2.75mm,、ギヤボックスのネジ穴は3mmだが、余裕をもってそれぞれ3mmと3.2mmにした。
画像はギヤボックスの部品の3dデータと全部品の実物。基本は押し出しだけでできるが、接続部分は角をフィレットした方がいい。寸法はraspberry-piはスイッチサイエンスのPDFを、ギヤボックスは説明書を見ればわかる。
ギヤボックスとタイヤの接続部品は14mmの立方体に3mmの穴をあけるだけ。

プログラミング

SSHで操作するため、getchライブラリを使ってキーボード入力による操作を使います。
pip install py-getch をしないとgetchは使えないのでpipしましょう。
あとはif文とGPIOを使えば簡単にプログラムが書けます。getchは常にキーボードの状況を見ているわけではなく、押されたときに反応するので、ストップ用のキーを用意するといい。
操作は赤外線センサーやアンテナなどを使えば、SSHを使わなくても操作可能になる。
安く済ませるならSSHでキーボード入力、外で使いたいならその他の方法がいいと思うが、ニューブロックのタイヤを考えると外で使うのは無理がありそう。
プログラム例

機体の組み立て

箱になるように組み立てればそれでよし。
ただし、幅は1ブロックで構成しないとギヤボックスがフィットしない。
中にブレッドボードを入れ、そこで配線をする。
プログラムで使ったGPIOに合わせて配線することに注意。
また、gpio readall をコマンドした際に初めから出力が1になっているピンを使うと電源につないだ瞬間にモーターが回り始めることがあるのでそこも注意。

配線

1.GND。raspberry-piのGNDと2つのモータドライバのGNDをつなぐ。
2.モーター端子。
3.未接続
4.出力信号。接続しなくていい。PWMをしたいなら必須。PWMを使って左右の回転数に差をつけてれば進行方向を変えるが可能。
5.モーターの状況を決める信号を入力する。raspberry-piのGPIOピンと接続。
6.5番ピンと同じ。
7.raspberry-piの5Vと接続。
8.同上。
9.未接続
10.モーター端子
2枚目の画像に実際の配線の画像があります。(わかりにくいと思いますが)
詳しくはデータシートを参照。

※1枚目の画像は秋月電子通商から転用。データシートもここ。

完成!

5V、2.4A対応電源に接続することに注意!(理想は2.5A以上だが、問題はない)
動作の様子
今回は簡単に作れるものにしたかったので省きましたが、リンク機構をつくればもっとスムーズに動くはずです。