Семейство мини роботов, каждый со своим собственным поведением.
Описание
В данном проекте представлено семейство мини роботов на базе контроллеров ATtiny, вибрационных двигателей и фототранзисторов.
Подробная информация
Эти три небольших автономных транспортных средства имеют множество аналогичных компонентов, таких как контроллер, батарея и механизм перемещения. Они все распознают окружающий мир с помощью глаз на базе фототранзисторов. Тем не менее, все они отличаются по своей конструкции, имеют различные возможности и характеристики. Они являются первыми представителями растущего семейства миниатюрных роботов, с которыми я долгое время провожу свои эксперименты.
Ключевым аспектом их конструкции является, по крайней мере, один фототранзисторный глаз и один управляемый светоизлучающий диод. Эти компоненты позволяют мини роботам эффективно взаимодействовать с окружающей средой. В зависимости от того, как они запрограммированы, это может быть также сложно, как передача данных между роботами или также просто, как внешнее взаимодействие с другими роботами. Конечное взаимодействие будет зависеть от типа роботов. К примеру, глаза робота 1 направлены вниз, чтобы сканировать поверхность, в то время как робот 3 смотрит лишь прямо вперед.
На данном этапе я не программировал их на сложное взаимодействие. Их основные поведенческие характеристики заключались в следующем:
- Робот 1 – Имеет левый и правый глаз, которые направлены вниз. Они могут обнаруживать светлые участки на поверхности. Посмотрите видео его работы в качестве оператора линейного слежения.
- Робот 2 – Имеет один глаз, направленный вниз, и один вперед. Глаза контролируют группу светодиодов по ее периметру. Они отслеживают светлые участки на поверхности и смотрят вперед. Робот также может посылать сигнал во всех направлениях с помощью светоизлучающих диодов.
- Робот 3 – Имеет один глаз, направленный вперед, и два отдельно контролируемых светодиода, которые направлены под углом 45 градусов в каждую сторону. Предполагается, что этот робот может обнаруживать препятствия и определять направление, куда нужно повернуть, чтобы их преодолеть. Я пока ещё продолжаю разрабатывать эту функцию.
Аппаратные средства:
В качества контроллера можно использовать любой 8-выводной ATtiny. Я использовал tiny85, поскольку он просто был в наличии. Я попробовал версию на базе ATtiny10, но впоследствии больше к ней не возвращался. В качестве батарей я использовал перезаряжаемые литиевые батареи монетного типа IR2032, которые я вытащил из брелока-фонарика на солнечной батарее. Хоть они и недолго работали между циклами заряда, однако я не планировал тратить много денег на приобретение новых батарей.
Вот как выглядит нижняя часть платы каждого робота.
Здесь вы можете увидеть МОП-транзисторы 2N7002K, которые предназначены для управления двигателями. Также на платах установлены различные резисторы, конденсаторы и светодиоды. Схемы роботов указаны ниже:
Программное обеспечение:
На данном этапе используется очень простая программа. В ее код достаточно просто добавить ещё один шаблон поведения, поскольку основной цикл просто вызывает функцию поведения. Робот 1 имеет поведение линейного слежения. Робот 2 сканирует поверхность и может отправлять сигнальные сообщения другим роботам, находящимся в данной зоне. Робот 3 избегает препятствия (все ещё работаю над данной функцией). Я могу, конечно, загрузить текущий программный код для данного робота, если будет нужно, но в этот код постоянно вносятся изменения и он ещё далек от завершения. Вот почему на этом этапе я пока не предоставил данный программный код.
Если я сделаю новых роботов, видео, коррекции и т.д., тогда, естественно, я предоставлю обновленную информацию об этом.
Перечень компонентов
- 1 × микроконтроллер ATtiny85
- 2 × МОП-транзисторы 2N7002K МОП с изолированным затвором
- 2 × небольших двигателя от андромеда роботов
- 1 × красный светоизлучающий диод
- 1 × фототранзистор ASDL-6620
- 1 × комплект различных резисторов и конденсаторов с поверхностным монтажом, которые изображены на схеме
- 1 × перезаряжаемая батарея LIR2032 3.6В
Ниже представлен код линейного слежения для робота 1 на Github.
- Robot1.ino – Arduino версия может использоваться непосредственно в Arduino
- Robot1.cpp – c++ версия, которая все ещё использует Arduino библиотеки
Список радиоэлементовОбозначение
Тип
Номинал
Количество
ПримечаниеМагазинМой блокнот
Робот 1.
МК AVR 8-битATtiny851
MOSFET-транзистор2N7002K2
ФототранзисторASDL-66202
Электролитический конденсатор10 мкФ1
Резистор330 Ом1
Резистор10 кОм2
СветодиодКрасный1
Двигатель2
От роботов "Андромеда"
Перезаряжаемая батареяLIR2032 3.6 В1
Робот 2.
МК AVR 8-битATtiny851
MOSFET-транзистор2N7002K3
ФототранзисторASLD-66202
Электролитический конденсатор10 мкФ1
Резистор100 Ом1
Резистор470 Ом1
Резистор10 кОм2
СветодиодКрасный4
Двигатель2
От роботов "Андромеда"
Перезаряжаемая батареяLIR2032 3.6 В1
Робот 3.
МК AVR 8-битATtiny851
MOSFET-транзистор2N7002K2
ФототранзисторASLD-66201
Электролитический конденсатор10 мкФ1
Резистор220 Ом2
Резистор22 кОм1
СветодиодКрасный2
Двигатель2
От роботов "Андромеда"
Перезаряжаемая батареяLIR2032 3.6 В1
Добавить все
Скачать список элементов (PDF)
Прикрепленные файлы:
- TinyRobotFamily.zip (5 Кб)