Прототип 2

ROB-75073

Этот робот прекрасно езжит по линии, видит все повороты и прекрасно маневрирует. Его способности прекрасно ездить позавидует любой. Состоит из 3 датчиков линии, на двух колёсах.

Робот медленно двигался по чёрной линии, его датчики внимательно сканировали окружающую обстановку, не давая отклониться от заданного пути. Он был создан для выполнения определённых задач и безупречно справлялся со своей работой. Каждое движение было продумано до мелочей, каждый поворот совершался с поразительной точностью. Робот не испытывал усталости, его электронный мозг был настроен лишь на выполнение поставленной перед ним задачи. И вот, пройдя весь путь по чёрной линии, он достиг цели и остановился, гордо выполнив свою миссию.

int In1 = 5;  
int In2 = 6;  
int In3 = 9;  
int In4 = 10; 
int S_Pin1 = A3;  
int S_Pin1 = A4;  
int S_Pin2 = A5;  
int val0 = 0;  
int val1 = 0;  
int val2 = 0;  
void setup()
{
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
Serial.begin(9600);
}
void loop() {
val1 = analogRead(S_Pin1); // считываем значение с датчик 1
val2 = analogRead(S_Pin2); // считываем значение с датчик 2
Serial.print("values: "); // выводим значения в COM-порт
Serial.print(val1);
Serial.print("\t");
Serial.println(val2);
if(val1>100 && val2>100) // если значения равны – едем вперед
{
digitalWrite(In1, HIGH);
digitalWrite(In3, HIGH);}
Serial.println("forward");
if(val1 < 100) // если сигнал первого меньше  – едем влево
{
digitalWrite(In1, HIGH);
digitalWrite(In3, LOW);
Serial.println("left");
}
if(val2 < 100) // если сигнал второго меньше – едем вправо
{
digitalWrite(In1, LOW);
digitalWrite(In3, HIGH);
Serial.println("right"); // едем вправо
}
delay(50);
}