マイクロビットをつかって「ライントレースカー」をつくりたいと思います。
「ライントレースカー」は、白い床面に引かれた黒いラインに沿って走る車です。
「フォトリフレクタ」という部品で床が白いか黒いかを検知し、それによって車が進む方向を制御します。
先日、フォトリフレクタまわりの回路構成について検討し、以下のような回路とすることにしました(記事は こちら)。
また、車の本体は先日製作した「マイクロビットロボカー(改良版)」(記事は こちら)をベースにしてライントレースカーに改造しようと考えています。
上記のフォトリフレクタ回路を2セット用意し、ロボカーの前面下向きに、ふたつで黒いラインをはさむように取り付け、それぞれの検知信号を、マイクロビットの「0」端子と「1」端子につなぎます。
両方のフォトリフレクタが白を検知しているときは車はまっすぐ進み、どちらかが黒を検知すると、その方向に車が向きを変えるようプログラミングすることで、車がラインに沿って走るという仕組みです。
2セット分のフォトリフレクタ回路はブレッドボードでつくり、テープなどをつかってロボカーに取り付けることにします。
まず最初に、ブレッドボードにふたつのフォトリフレクタを取り付けます。
次に10kΩの半固定抵抗をふたつ取り付けます。
短いジャンパーワイヤを6本用意し、以下のように取り付けます。
10kΩの抵抗をふたつ取り付けます。
100Ωの抵抗をふたつ取り付けます。
このブレッドボードとマイクロビットをつなぐためのジャンパーワイヤを4本用意し、以下のように取り付けます。
これでブレッドボードは完成です。
マイクロビットロボカー(改良版)では「KEYESTUDIOモータードライバー拡張ボード(KS4033)」を使ってマイクロビットと他の部品をつないでいますので、ブレッドボードからのジャンパーワイヤ4本も、この「拡張ボード(KS4033)」につなぎます。
ブレッドボードからのジャンパーワイヤ「黒」「赤」「白」「黄」を、拡張ボードの「GND」「3V」「0」「1」につなぎます。
ブレッドボードを下向きにして、テープなどでロボカーの前面に貼り付けます。
その際、フォトリフレクタと地面の間が「6mm〜8mm」程度になるように高さを調整します。
マイクロビットには以下のようなプログラムを書き込みます。
フォトリフレクタが白黒を判別するためのしきい値を「300」にしています。
左右のフォトリフレクタがどちらも黒を検知したら「後進」、左のみ黒を検知したら「左回り」、右のみ黒を検知したら「右回り」、どちらも白を検知したら「前進」するというプログラムです。
コピー用紙に1.5センチ程度の黒い線をプリントし、その上にロボカーを置くと、ロボカーが黒い線に沿って動きます。
なお、フォトリフレクタが誤検知する場合には、半固定抵抗を回してうまく検知できるように調整する必要があります。
また、今回のプログラムでは、ロボカーの動きがギクシャクしていて、ライントレースはできるものの、あまりなめらかな動きではありませんでした。
もっとスムーズに動かすためには、プログラムの方にももう少し工夫が必要かもしれません。