Arduinoを使ってラインフォロワーロボットを製作しました。フォトリフレクタを2個使用した簡単なものです。
今後、フォトリフレクタの数を増やして精度とスピード感のあるライントレーサーを作成してみたいと思っています。
今回は1号機の製作忘備録としてまとめてみました。
次の動画は、A3の厚紙4枚に2cm幅のラインを作り、その上をトレースしているビデオです。
使用している主な部品は、安く仕上げるためにフォトリフレクタ、arduino pro_mini、モータードライバー、ギヤードモーター及びタイヤ、
電池ケース、基板、キャスター、スイッチ等は全て中国製です。1200円ほどで作成しました。
次に、回路図を表示します。
モータードライバーは、L298Nモータードライバー($1.35)を使用しました。
スケッチプログラムは、余計なものは省き簡単なプログラムとしました。
actionstop()も必要ないかなと思います。
const int threshold = 600; void actionstop() { digitalWrite(6,LOW); digitalWrite(7,LOW); digitalWrite(8,LOW); digitalWrite(9,LOW); } void setup() { pinMode(6,OUTPUT); pinMode(7,OUTPUT); pinMode(8,OUTPUT); pinMode(9,OUTPUT); pinMode(10,OUTPUT); pinMode(11,OUTPUT); } void loop() { int Lsenser = analogRead(A0); int Rsenser = analogRead(A1); if (Lsenser < threshold & Rsenser < threshold) { analogWrite(10,80); digitalWrite(6,HIGH); digitalWrite(7,LOW); analogWrite(11,80); digitalWrite(8,HIGH); digitalWrite(9,LOW); }else if(Lsenser >= threshold & Rsenser < threshold) { analogWrite(10,80); digitalWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,LOW); digitalWrite(9,LOW); }else if(Rsenser >= threshold & Lsenser < threshold) { digitalWrite(6,LOW); digitalWrite(7,LOW); analogWrite(11,80); digitalWrite(8,HIGH); digitalWrite(9,LOW); }else { actionstop(); } }
フォトリフレクタで、中国製のITR9909と秋月販売のLBR-127HLDのピン配置は下図のように違っています。
混乱しやすいですが、実質的には同じと考えてよいと思います。参考として掲載しました。