Это старая версия документа!


BeamBOT учится ездить по линии

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

Принцип работы схемы следующий: как только датчик фиксирует нахождение над темной полосой, активируется один мотор, в то время как второй останавливается. Это заставляет робота поворачиваться. Процесс продолжается до момента обнаружения светлой поверхности. После этого состояния моторов меняются: ранее работавший замирает, а бездействовавший запускается. Начинается вращение в обратную сторону, которое прекращается, когда датчик вновь видит черную черту. Цикл запускается заново, и благодаря постоянным колебаниям корпуса устройство начинает перемещаться по стыку двух контрастных зон.

Схема эксперимента

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

Таблица компонентов

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

Монтажная схема

Теперь, если ты поставишь робота на край черной линии, он будет ехать вдоль нее, поворачивая то правым, то левым колесом. Правда, эффектно? Рассмотрим, как работает схема.

С правым колесом все просто: на вход первого канала микросхемы ULN2003A к транзистору Дарлингтона подключен датчик линии В, а на его выход – мотор правого колеса. Следовательно, когда датчик «видит» белую поверхность, правое колесо проворачивается вперед.

С левым колесом – интереснее: его мотор подключен к выходу второго канала, а вход – к выходу первого. Второй канал микросхемы выполняет роль инвертора, т.е. он меняет сигнал на противоположный. Поэтому оба мотора работают по- очереди, хотя управляются одним датчиком.

У микросхемы ULN2003A есть особенность: когда канал микросхемы «выключен» (в нашем случае канал DA1.1) – его выход ни к чему не подключен. На жаргоне электронщиков – «висит в воздухе» и на нем нет никакого напряжения. Но чтобы включить второй канал (DA1.2) нужен уровень напряжения. Чтобы его получить, мы добавили резистор R1, который «подтягивает» выход первого канала к «+» питания в моменты, когда выход DA1.1 «висит в воздухе». Ток, протекающий через R1 включает DA1.2 и левый мотор.

Таким образом когда датчик находится над белой поверхностью работает один мотор, а когда над черной – другой. Когда над белой – один мотор подруливает в сторону черной линии, а когда Робот буквально видит границу линии, отслеживает ее и движется вдоль нее.

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

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

☚ Предыдущий | Содержание | Следующий ☛