Инфракрасные приемники серий TSOP (17xx, 21xx) давно и достаточно успешно используются в любительской робототехнике. Применяются они как по своему прямому назначению (для приема команд по ИК-каналу) так и в качестве недорогих бесконтактных датчиков препятствия. Их преимущество по сравнению с обычными инфракрасными фототранзисторами и фотодиодами – лучшая помехозащищенность, так как TSOPы реагируют только на сигнал с определенной частотой и скважностью. Частота принимаемого сигнала обозначена в маркировке ИК-приемников – последние две цифры.
Несомненными преимуществами так же являются простота подключения и доступность в приобретении.
Представленный модуль ИК-датчика прост в повторении и по сути сочетает в себе два узла – TSOP2136 с обвязкой и электронный ключ для управления инфракрасными светодиодами с возможностью настройки яркости излучения.
Модуль можно использовать:
- В качестве приемника команд по ИК-каналу с помощью протокола RC5.
- В качестве передатчика команд по ИК-каналу.
- В качестве приемо-передатчика для обмена информацией по ИК-каналу (как для связи с ПК так и с другими устройствами)
-
В качестве бюджетного бесконтактного сенсора препятствий.
Рассмотрим работу модуля в качестве датчика препятствий. Как было сказано выше – ик-приемники серии TSOP реагируют только на определенный сигнал, в нашем случае это сигнал с частотой 36kHz и скважностью 50%. Генерация сигнала осуществляется программно микроконтроллером. Излучаемый сигнал, отражаясь от поверхности препятствия, улавливается приемником и обрабатывается МК. По умолчанию – в отсутствие принимаемого сигнала на выходе TSOPа присутствует высокий логический уровень, в противном случае – низкий уровень.
Таким образом в МК обработка сигнала:
Нет препятствия – 1 на входе порта МК.
Дальность уверенного обнаружения препятствий в ходе экспериментов была достигнута до 30 см и зависит от точной генерации излучаемого сигнала, мощности излучения светодиодов и особенностей поверхности обнаруженного препятствия (цвет, фактура, материал). Светлый объект с высокими отражающими свойствами может быть обнаружен и с более дальнего расстояния.
$regfile = "m8def.dat" 'используем Mega8
$crystal = 16000000 'частота кварцевого резонатора 16mHz
'Генерация частоты 36kHz
'Настраиваем Timer1
Config Timer1 = Counter , Edge = Rising , Prescale = 8 , Compare A = Toggle
' Расчитываем Compare1a
' тактовая частота (kHz) / частота TSOPa (kHz) / 2 = Compare
' 16000 / 36 / 2 = 222
Compare1a = 222
'PortB.1 - выход сигнала
'PinC.0 - считываем состояние TSOPa
'Portd.0 - сигнальный светодиод
Config Pinb.1 = Output
Config Portd.0 = Output
Config Pinc.0 = Input
Start Timer1
Do
If Pinc.0 = 0 Then
Portd.0 = 1
Else
Portd.0 = 0
End If
Loop
End