Модуль 4-х датчиков препятствия

Описание

Модуль предназначен для использования в движущихся роботах для обнаружения препятствий по ходу движения. Для управления датчиками используется один общий управляющий модуль, подключаемый к контроллеру.

Каждый датчик имеет инфракрасный излучатель и приёмник. Датчик измеряет время между моментом излучения инфракрасного света и моментом его приёма, тем самым делает вывод о дальности объекта. Если инфракрасный сигнал был получен обратно (отразился от объекта), загорается светодиод, сигнализируя о том, что обнаружено препятствие. Чувствительность датчиков настраивается потенциометрами на управляющем модуле.

Технические характеристики

  • Напряжение питания: 3,3 - 5 В
  • Потребляемый ток: до 1 А
  • Эффективный диапазон работы: 1 - 60 см
  • Эффективный угол обзора: 35˚
  • Рабочая температура: -10 … +50 °С

Физические размеры

  • Датчики (Д х Ш х В): 25 х 12 х 8 мм
  • Модуль (Д х Ш х В): 50 х 40 х 12 мм

Плюсы использования

  • Заменяет сразу четыре датчика препятствия, экономя выводы на контроллере
  • Просты в подключении

Минусы использования

  • Неэффективны для измерения расстояния

Пример подключения и использования

В примере приведено определение наличия препятствий с помощью датчиков модуля, если препятствие обнаружено, информация выводится в монитор Serial-порта. (В примере использовался контроллер Smart Uno)

Схема подключения:

Скетч для загрузки:

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 сек
 
}