Схема робота-жука на жесткой логике показана на рисунке 1. В отличие от микроконтроллерного оригинала в ней дополнительный третий датчик, который, при использовании микросхемы К561ЛА7, заставляет жука послушно останавливаться и замирать, если вы занесли над ним руку (или мухобойку). В этом исполнении третий датчик направлен вертикально вверх.
Если микросхему К561ЛА7 заменить на К561ЛЕ5, а третий датчик направить вниз и под небольшим углом вперед, робот сможет ползать по столу не опасаясь падения на пол (на краю стола он остановится).
Конструкция и схема оптических датчиков такая же, как в микроконтроллерном оригинале. Но датчики сделаны на других микросхемах - ВА1604 (почти полные аналоги LM567).
Данные микросхемы представляют собой однотональные декодеры, состоящие из задающего генератора, усилителя, фазового детектора и выходного ключа. Тот факт, что частота задающего генератора должна быть равна частоте селекции, позволяет задающий генератор использовать как генератор импульсов для инфракрасного светодиода.
Все датчики сделаны по одинаковым схемам. Импульсы с выхода задающего генератора (вывод 5 ВА1604) поступают на транзисторный ключ, в коллекторной цепи которого есть ИК-светодиод. Отраженный от препятствия пульсирующий ИК-свет попадает на фототранзистор, а с его эмиттера фототок поступает на вход тонального (частотного) декодера (вывод 3 ВА1604). Если частоты совпадают на выводе 8 ВА1604 - ноль. При несовпадении частоты или при отсутствии отражения - единица.
Рис.2 и 3При монтаже важно сделать так, чтобы ИК-свет от светодиода не мог напрямую попасть на фототранзистор. Проще всего это сделать, расположив светодиод и фототранзистор по разные стороны платы (рис. 2). Датчики на А1 и А2 одинаковы, а датчик на A3 отличается тем. что светодиод и фототранзистор расположены вертикально перпендикулярно плате (рис. 3).
Здесь, чтобы исключить прямое попадание света от HL3 на НТ3 используется светонепроницаемый экран, который можно сделать, например, из латуни. Экран крепится пайкой в двух ни с чем не связанных отверстиях платы. В варианте жука на микросхеме К561ЛЕ5 HL3 и НТ3 располагаются под платой (со стороны печатных проводников), немного наклонно вперед.
Основные датчики (на А1 и А2) расположены на плате так, что направлены вперед по движению жука и немного в стороны. Расположенный слева датчик управляет правым мотором, а расположенный справа, - левым.
В отсутствие препятствия на выходах А1 и А2 единицы, и оба мотора вращаются так, что жук едет вперед. Появление препятствия перед датчиком вызывает смену полярности питания мотора (смену направления вращения). Например, при встрече препятствия впереди слева, правый мотор станет тянуть жука назад, а левый будет продолжать двигать его вперед.
В результате жук будет поворачивать вправо до тех пор, пока препятствие слева не выйдет из поля зрения левого датчика. Затем, прямолинейное движение возобновится. Аналогично при появлении препятствия справа, но поворот будет влево.
Встретив препятствие, расположенное перпендикулярно, перед обоими датчиками, жук начнет пятиться, а затем снова возвращаться к препятствию. Благодаря неточности движущего механизма, имеющемуся в схеме гистерезису, различию в чувствительности датчиков и неидеальной ровности поверхности, по которой робот движется, эти движения будут не строго повторяющимися, и через несколько попыток робот повернет в ту или другую сторону.
Логическое устройство выполнено на D1. На микросхеме сделаны два блокируемых триггера Шмитта, с противофазными выходами. Цепи R3-C5 и R14-C10 нужны для создания небольшой задержки срабатывания схемы. Совместно с триггерами Шмитта они дают некоторый временной гистерезис переключения направления вращения моторов. Это исключает зацикливание робота на пороговом значении расстояния до препятствия.
Как уже говорилось, третий датчик, в схеме с К561ЛА7. направлен вверх. Когда над ним ничего нет на выходе A3 единица. Это не мешает работе триггеров Шмитта. При появлении над датчиком на достаточном расстоянии некоторой поверхности, от неё происходит отражение ИК-луча, и на выходе A3 возникает ноль.
Этот ноль поступает на входы всех элементов микросхемы К561ЛА7 и переводит их в единичное состояние Открываются транзисторные ключи, подающие на двигатели только один полюс питания и ток через них не возникает. Двигатели выключаются.