Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
products:beambot:uchitsya_ne_peresekat_granicu [2025/08/26 17:28] – [BeamBOT учится не пересекать границу] labuser30 | products:beambot:uchitsya_ne_peresekat_granicu [2025/10/05 14:05] (текущий) – [BeamBOT учится не пересекать границу] labuser30 |
---|
=====BeamBOT учится не пересекать границу===== | =====BeamBOT учится не пересекать границу===== |
| |
| Давай применим умение запоминать состояние и научим нашего робота новому трюку. Как насчет умения ездить вперед-назад внутри очерченной границы? Для этого нам понадобится сразу три микросхемы: ULN2003A для инверсии сигналов от датчиков линии, CD4013 для запоминания состояний и L293D для управления моторами. Давай соберем схему и испытаем ее. |
| |
~~NOCACHE~~ | ~~NOCACHE~~ |
| |
| <php>pinlab_draw_picture("beambot/uchitsya_ne_peresekat_granicu/scheme1");</php> |
| |
<php>pinlab_bom("beambot/uchitsya_ne_peresekat_granicu/scheme1.mont");</php> | <php>pinlab_bom("beambot/uchitsya_ne_peresekat_granicu/scheme1.mont");</php> |
| |
<php>pinlab_draw_instruction("beambot/uchitsya_ne_peresekat_granicu/scheme1.mont");</php> | <php>pinlab_draw_instruction("beambot/uchitsya_ne_peresekat_granicu/scheme1.mont");</php> |
| |
| Если поставить робота на белую поверхность очерченную черной полосой он будет бесконечно кататься вперед-назад внутри границы. Как работает схема и зачем нужна микросхема ULN2003A? Оба мотора подключены к первому Н-мосту драйвера L293A, который управляется прямым и инверсным выходами RS-триггера CD4013. Входы же триггера подключены к переднему и заднему датчикам линии, но не напрямую, а через микросхему ULN2003A. Каналы микросхемы ULN2003A кроме того что усиливают сигнал, еще инвертируют его. То есть если на входе логический сигнал "1", то на выходе "0". Однако, чтобы работало и наоборот нужно выходы каналов подтянуть к "+", для этого и используются резисторы R1 и R2. Зачем вообще инвертировать сигналы от датчиков? Дело в том что датчики выдают логический сигнал "1" когда находятся на белой поверхностью и "0", наоборот нужен сигнал "1" на вход триггера, когда робот наезжает на черную линию. |
| |
<WRAP round tip> | <WRAP round tip> |
Экспериментируй: | Экспериментируй: |
* Поменяй местами провода подключенные к разъемам датчиков "В" и "З". Как теперь ведет себя робот? | * Поменяй местами провода подключенные к разъемам датчиков "В" и "З". Как теперь ведет себя робот? |
| |
</WRAP> | </WRAP> |
| |