LEGO MindStorms NXT の拡張インタフェース NicoSensor を用いた 拡張インタフェースの講習会の2回目。 アナログポートでどういうことができるのかということで、 外部モータの制御と、スイッチと直列につけた抵抗の電圧を アナログ値を読み込む実験を体験して頂いた。
フォトカプラとモータ制御
前回の講習会で、LEDの点灯をやっているので、フォトカプラ経由で ダーリントン接続のトランジスタでモータを動かす。 モータドライバICを使っても良かったけど、Vccを取り出すジャンパ線用の 丸ピンをつけてないので、図のような回路にて実験。
しかし、実験をすると4グループ中2グループがモータが回りっぱなし。 ブレッドボードに太いトランジスタの足をねじ込んだ悪影響を心配するが、 それでも回りっぱなし。よくよくみると、モータ用電源の+/ーの配線ミス。 電池BOXの極性が分かりにくいのも原因だけど、逆方向電圧だと動かなくて すぐに気がつくはずなんだけど、トランジスタ保護の逆方向ダイオード経由で 電流が流れていたみたい。
抵抗スイッチ直列回路を光センサーとして読み込む
NXTの光センサーはアナログの電圧を読んでいるだけみたいなので、 抵抗値をかえた2つのスイッチの電圧をよめば、2つのON/OFFを読み取れる。 これは無事に実験できたけど、1グループの回路では抵抗値の誤差でしきい値が 当初予定よりずらす必要があった。