Модуль предназначен для использования в движущихся роботах для обнаружения препятствий по ходу движения. Для управления датчиками используется один общий управляющий модуль, подключаемый к контроллеру.
Каждый датчик имеет инфракрасный излучатель и приёмник. Датчик измеряет время между моментом излучения инфракрасного света и моментом его приёма, тем самым делает вывод о дальности объекта. Если инфракрасный сигнал был получен обратно (отразился от объекта), загорается светодиод, сигнализируя о том, что обнаружено препятствие. Чувствительность датчиков настраивается потенциометрами на управляющем модуле.
В примере приведено определение наличия препятствий с помощью датчиков модуля, если препятствие обнаружено, информация выводится в монитор Serial-порта. (В примере использовался контроллер Smart Uno)
Что нужно | Кол-во, шт |
---|---|
Контроллер Smart UNO | 1 |
Модуль 4-х датчиков препятствия | 1 |
Провода папа-мама | 6 |
Скетч для загрузки:
const int barrierSensor1 = 8; //пин подключения датчика препятствия
const int barrierSensor2 = 9; //пин подключения датчика препятствия
const int barrierSensor3 = 10; //пин подключения датчика препятствия
const int barrierSensor4 = 11; //пин подключения датчика препятствия
void setup() {
Serial.begin(9600); //инициализация Serial - порта
}
void loop() {
if (digitalRead(barrierSensor1) == LOW) //если есть припятствие на датчике 1
Serial.println("There is barrier near sensor #1"); //сообщить о нем
else //если препятствия нет
Serial.println("There is clear near sensor #1"); //сообщаем что чисто
if (digitalRead(barrierSensor2) == LOW) //если есть припятствие на датчике 2
Serial.println("There is barrier near sensor #2"); //сообщить о нем
else //если препятствия нет
Serial.println("There is clear near sensor #2"); //сообщаем что чисто
if (digitalRead(barrierSensor3) == LOW) //если есть припятствие на датчике 3
Serial.println("There is barrier near sensor #3"); //сообщить о нем
else //если препятствия нет
Serial.println("There is clear near sensor #3"); //сообщаем что чисто
if (digitalRead(barrierSensor4) == LOW) //если есть припятствие на датчике 4
Serial.println("There is barrier near sensor #4"); //сообщить о нем
else //если препятствия нет
Serial.println("There is clear near sensor #4"); //сообщаем что чисто
delay(1000); //задержка 1 сек
}