Модуль 4-х датчиков препятствия
Описание
Модуль предназначен для использования в движущихся роботах для обнаружения препятствий по ходу движения. Для управления датчиками используется один общий управляющий модуль, подключаемый к контроллеру.
Каждый датчик имеет инфракрасный излучатель и приёмник. Датчик измеряет время между моментом излучения инфракрасного света и моментом его приёма, тем самым делает вывод о дальности объекта. Если инфракрасный сигнал был получен обратно (отразился от объекта), загорается светодиод, сигнализируя о том, что обнаружено препятствие. Чувствительность датчиков настраивается потенциометрами на управляющем модуле.
Технические характеристики
- Напряжение питания: 3,3 - 5 В
- Потребляемый ток: до 1 А
- Эффективный диапазон работы: 1 - 60 см
- Эффективный угол обзора: 35˚
- Рабочая температура: -10 … +50 °С
Физические размеры
- Датчики (Д х Ш х В): 25 х 12 х 8 мм
- Модуль (Д х Ш х В): 50 х 40 х 12 мм
Плюсы использования
- Заменяет сразу четыре датчика препятствия, экономя выводы на контроллере
- Просты в подключении
Минусы использования
- Неэффективны для измерения расстояния
Пример подключения и использования
В примере приведено определение наличия препятствий с помощью датчиков модуля, если препятствие обнаружено, информация выводится в монитор 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 сек }