вторник, 17 сентября 2013 г.

Паяем датчик линии на CleClo:Proto

Решил научить моего робота ездить по линии, а для этого нужен соответствующий датчик, т.е. датчик яркости, который будет определять белая или черная поверхность под ним.
Схему взял что попроще:
Т.е. список деталей следующий:
  • инфракрасный светодиод
  • инфракрасный фотодиод
  • резистор 330 Ом, 0.125 Вт
  • резистор 10 кОм, 0.125 Вт
  • разъем 1х3 прямой (или угловой, кому как сподручнее)
  • платка CleClo:Proto
Схемку нарисовал в программе EAGLE и прикинул как расположить эффективнее детальки и куда бросать перемычки, получилось очень даже ничего - компакненько:
Слева лицевая сторона, с детальками; справа - обратная, где перемычки.

Быстренько подпаял все в свои места. Перемычками пользоваться не пришлось, я имею ввиду проводками со стороны, для этих целей вполне подошли длинные ножки светодиодов.
Светодиод светит постоянно, светит он в инфракрасном диапазоне невидимом человеческому глазу. Поэтому, чтобы определить светит он или нет, нужно посмотреть на него через фото/видео-камеру.
Подключается этот датчик в аналоговый вход. Чтобы сразу проверить работоспособность датчика удобно использовать скетч в примерах программы Ардуино: [File->Examples->3.Analog->AnalogInOutSerial]. Подключить датчик к входу A0 и смотреть показания датчика в мониторе порта [Tools->Serial Monitor]. У меня при среднем освещении комнаты (а освещение влияет на датчик) белый лист бумаги определяется в пределах 700, а черная полоса напечатанная на лазерном принтере больше 900.
В общем все работает, следующий шаг, прикрутить это к моему BD Rider'у.
Что я и сделал: Робот не выезжающий за черную линию - Boundary Rider

Файлы: схема и плата в формате EAGLE: CleClo-Proto-LineFinder.zip