オール3Dプリントラジコン戦車(仮)制作日記 その3
引き続き、ラジコン製作をしている。
今回は、簡単なLED制御機能を作った。
ハードウェア面
ラジコンに取り付けるLEDを準備する。
それをピンソケットに挿し込む。
こうすることで、もしLEDが切れた場合に交換が容易にできる。
と思ったが、配線の方に抵抗を付けておけば、LEDをそのまま付けるだけで済んだな…。
LEDはボディの前面左右に6つ、後方左右に2つの計8つ取り付ける。
前面は、片方に赤、青、緑の3色ずつ並んでいる。
赤青緑を同時に点灯させると光の三原色で白に見えるという寸法。
後方はスペースの都合で青のみになっている。
ソフトウェア面
LED一つを制御するLEDControllerクラスを作成。
それをまとめて管理するLEDManagerクラスを作成。
LEDControllerクラスは、点灯開始時と消灯時にフェードイン・フェードアウト機能を追加。
また、点灯中は、常時点灯、一定間隔で点滅、ゆっくり明滅、の3種類を用意。
点滅時間やフェードイン・フェードアウト時間はミリ秒単位で指定可能。
LEDManagerクラスは、どのLEDを光らせるかを一括で制御する。
全体ON/OFF、前面赤のみ、前面赤点滅、前面七色、等をメインプログラムから簡単に制御できるようにしている。
また、点灯モードを順次切り替えていく関数も用意している。
メインプログラム側は、コントローラのボタンを押す度に点灯モードが切り替わるようにした。
また、別のボタンで全体青点灯/消灯できるようにもした。
点灯テスト
動画は以下の流れになっている。
- 全消灯
- 全点灯
- 赤ゆっくり明滅
- 青ゆっくり明滅
- 緑ゆっくり明滅
- 全色ゆっくり明滅
- 赤点滅
- 青点滅
- 緑点滅
- 全色点滅
- 前面七色にグラデーション(わかりにくい)
- 全消灯
- 全青点灯
- 全青消灯
まとめ
LEDを8個分の配線とピンソケットを用意するのが結構疲れた。
特にピンソケットを1つだけ切り出すのが大変だった。
ペンチでへし折ると、大体側面がえぐれて中の金属部が見えてしまう。
そうならないように、カッターで切れ目を入れたのだが、中々削れなくて疲れた。
とはいえ、秋月の「分割ロングピンソケット」はかなり便利。
なにげに電子工作部分はほぼほぼできたっぽいので、次は残りの外装の出力に取り掛かろうと思う。