Теперь у меня два датчика УЗ. И мне нужно что бы они выполняли одну и ту же функцию. То есть детектили препятствия. Вот кусок кода который отвечает за детектирование препятствий и края стола. (Этот кусок предназначен для одного датчика, а мне нужно что бы было одновременно два.)
CODE:
distance = getDistance();//тут берется расстояние
ledLevel = (int) (distance*10)<=255?255-distance*10:0;//тут вычисляется уровень который нужно подать на моторчик.
}
long getEchoTiming() {
digitalWrite(trigPin, LOW);//тут высталяем на вход тригер логический нуль
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);//ставим единицу
delayMicroseconds(10);//ждем пока сигнал отразится
digitalWrite(trigPin, LOW);//ставим нуль
long duration = pulseIn(echoPin,HIGH);//слушаем эфир (она вычитает сколько микросекунд прошло)
return duration;//возвращяем значение
}
long getDistance() //эта функция возвращает расстояние в сантиметрах до объекта перед сенсором
{
long distacne_cm = getEchoTiming()/29/2;
return distacne_cm;
}
(Отредактировано автором: 12 Августа, 2012 - 12:22:37) |