よっしゃ、WiFiラジコン作ったろ!
Lチカできたら、モーター回すっしょ
モーターの回転音ってテンション上がりますよね!
マブチモーター回します。
モーターはどうやって回しましょう
SDカードの出力にモーターくっつけても回りません。電流が足りません。ノイズとかなんとかかんとかでいろいろまずいはず(詳しくは知らん)。で、トランジスタとかダイオードとかくっつけると回せるようになりますが、世の中は便利なもので、IC1つにいろいろまとめてくれたモータドライバというものがあります。ので、これを使います。
モータドライバへ2ビット入力してやれば、前後進と停止、ブレーキの制御が出来ます。Flashairからは5ピンの出力があり、モータを2個制御できるので、右左に割り当ててキャタピラ回せばいい感じになるだろ、と。
イメージはこう(給電部分は省略)。
手元に昔買ったTA7291Pが2個あったのでこれを使ってこんな回路を組みます。
手元にいい感じの抵抗がなかったので、Rになってるのは全部47k、R'だけ100kを使用、トランジスタは1815 (*1)。
ほんとはほかにも電流制限抵抗とかヒューズとか入れるべきなんだろうけど、よくわからん。
で、ブレッドボードで作って、タミヤのギアボックス繋ぐとこうなる。
。。。ぐちゃぁ。
コントロールページ作りましょ
関数はこんな感じ。
//■■モータ1制御■■ function fwd1(){ stat = stat | 0x01; stat = stat & 0x1d; url = url_comm + ("0"+stat.toString(16)).slice(-2); flashair_get(url); } function bwd1(){ stat = stat | 0x02; stat = stat & 0x1e; url = url_comm + ("0"+stat.toString(16)).slice(-2); flashair_get(url); } function stop1(){ stat = stat | 0x03; url = url_comm + ("0"+stat.toString(16)).slice(-2); flashair_get(url); } function brake1(){ stat = stat & 0x1c; url = url_comm + ("0"+stat.toString(16)).slice(-2); flashair_get(url); }
//■■モータ2制御■■ function fwd2(){ stat = stat | 0x04; stat = stat & 0x17; url = url_comm + ("0"+stat.toString(16)).slice(-2); flashair_get(url); } function bwd2(){ stat = stat | 0x08; stat = stat & 0x1b; url = url_comm + ("0"+stat.toString(16)).slice(-2); flashair_get(url); } function stop2(){ stat = stat | 0x0c; url = url_comm + ("0"+stat.toString(16)).slice(-2); flashair_get(url); } function brake2(){ stat = stat & 0x13; url = url_comm + ("0"+stat.toString(16)).slice(-2); flashair_get(url); }
これをhtmlにおいたボタンから呼べば終わり。
ほんとならタミヤのクローラキットとかに積むんだけど…
先が見えたら満足してしまったのでここまで。
まぁ、ぶっちゃけラジコン欲しいだけなら一昔前に流行ったエアロアールシー (*2)とかから基盤引っぺがすほうがお手軽だと思うけど。
- 最終更新:2016-01-13 23:54:25