Всем начинающим электронщикам и программистам хотим представить 3 варианта схем крошечных роботов на базе контроллеров ATtiny, вибромоторов и фото-транзисторов. Эти три маленькие автономные транспортные средства имеют много общего: контроллер, аккумулятор и механизм передвижения, и все они воспринимают мир через фото-транзисторные глаза. Но имеют различные конструкции с разными возможностями и поведением.
Главная особенность их конструкции — фототранзистор и светодиод. Это позволяет им взаимодействовать в зависимости от того, как они запрограммированы, это может быть как сложное действие — передача данных между ботами или просто отслеживание препятствий. В результате взаимодействие будет зависеть от типа ботов. Например, глаза робота 1 смотрят в точку вниз, чтобы сканировать поверхность, в то время как робот 3 смотрит только вперед.
Особенность поведения микророботов
- Робот 1 — левый и правый глаза смотрят вниз.
- Робот 2 — имеет один глаз смотрящий вниз и вперед.
- Робот 3 — имеет один глаз, который смотрит вперед, и два отдельно контролируемых светодиода на 45 градусов в обе стороны. Он умеет обнаруживать препятствия и определять, в каком направлении повернуть, чтобы избежать их.
Контроллер может быть любой из 8-контактных ATtiny. Я использовал tiny85, потому что у меня были такие в наличии. Аккумуляторы LIR2032 — литиевые как монета, что извлечены из какого-то брелка. Они не служат долго, но можно купить хорошие новые батареи.
В нижней части каждого из роботов вы можете увидеть MOSFET-транзисторы 2N7002K для управления двигателями. Дополнительно установлены различные резисторы, конденсаторы и светодиоды.
Схемы сборки роботов
На данный момент, программа является очень простой, но легко добавить еще один поведенческий шаблон в коде, так как основной цикл просто вызывает функцию поведения.
Список радиодеталей
- ATtiny852
- 2N7002K
- 2 маленьких моторчика
- красный светодиод
- АСДЛ-6620 — фототранзистор
- различные SMD резисторы и конденсаторы для схемы
- LIR2032 — 3.6 В аккумуляторная батарея
В прилагаемом тут архиве есть Ардуино версия, которая может быть использована непосредственно в Arduino, и C++ версия, но она также использует Arduino библиотеку.