Ви не увійшли.
Сторінки 1
Два датчика (оптический датчик) следят за смещением ленты, как только один из датчиков сработал включается двигатель и смещает ленту в противоположную сторону, когда лента выпрямилась, оба датчика в норме, двигатель в исходное положение (третий оптический датчик положения).
Был код изначально такой, без третьего положения.
int photoPin1 = 10; // левый фоторезистор
int photoPin2 = 11; // правый фоторезистор
int motor1 = 8; // мотор влево
int motor2 = 9; // мотор вправо
int val1 = 0; // переменные для хранения значения входного напряжения
int val2 = 0; //
void setup()
{
Serial.begin(9600);
pinMode(motor1, OUTPUT);
pinMode(motor2, OUTPUT);
}
void loop()
{
val1 = digitalRead(photoPin1); // считываем значение с фоторезисторов
val2 = digitalRead(photoPin2);
Serial.print("values: "); // выводим их в COM-порт
Serial.print(val1);
Serial.print(" : ");
Serial.println(val2);
val1 = val1; //
val2 = val2; //
if(val1==val2) // если равны - стоп двигатель
{
digitalWrite(motor1, LOW);
digitalWrite(motor2, LOW);
Serial.println("waiting");
}
else
{
if(val1>val2)
{
digitalWrite(motor1, HIGH);
digitalWrite(motor2, LOW);
Serial.println("left");
}
else
{
digitalWrite(motor2, HIGH);
digitalWrite(motor1, LOW);
Serial.println("right");
}
}
delay(500);
}
подскажите решение с новыми данными.
Неактивний
Сторінки 1