BeamBOT учится ездить по линии. Датчик на плате

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

Не поддерживается SVG

Тип компонентаНоминалКоличествоСписок
МикросхемаULN2003A1DA1
Резистор10 кОм1R1
Провод 8
 

Если ты поставишь робота на край черной линии он будет ехать вдоль нее поворачивая то правым, то левым колесом. Правда выглядит завораживающе? Как же работает наша схема? С правым колесом все просто: на вход первого канала (транзистора Дарлингтона) микросхемы ULN2003A подключен датчик линии «В», а на его выход собственно мотор правого колеса. Следовательно когда датчик «видит» белую поверхность правое колесо поворачивается вперед. С левым колесом все интереснее: его мотор подключен к выходу второго канала, а вот вход к выходу первого. Когда канал ULN2003A «выключен» (на его входе «В»), его выход «висит в воздухе», то есть ни к чему не подключен. Что бы это исправить мы добавили резистор R1, который «подтягивает» выход первого канала к «+» питания и вход второго тоже, так как они соединены. Этим мы добились того, что когда на входе первого канала «-», на входе второго «+», и наоборот. Следовательно и моторы с колесами включаются по очереди.

Кстати если ты уберешь резистор R1 из схемы, то робот все также будет ездить по краю линии. Почему так? Все дело в том, что функцию резистора будет R1 выполнять правый мотор.

Экспериментируй:

  • Попробуй сделать так, чтобы робот ехал задом наперед.
  • Попробуй использовать задний датчик «З» в место переднего «В».