Решил научить моего робота ездить по линии, а для этого нужен соответствующий датчик, т.е. датчик яркости, который будет определять белая или черная поверхность под ним.
Схему взял что попроще:
Т.е. список деталей следующий:
- инфракрасный светодиод
- инфракрасный фотодиод
- резистор 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
Что я и сделал: Робот не выезжающий за черную линию - Boundary Rider
Комментариев нет:
Отправить комментарий