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のピン配置は下図のように違っています。
混乱しやすいですが、実質的には同じと考えてよいと思います。参考として掲載しました。