Робот, отслеживающий источник света на Arduino
В этом проекте мы создадим робота с двумя осями координат, который отслеживает источник света на базе микроконтроллера Arduino Uno. Ссылки на все необходимые 3D модели и код присутствуют, так что вы сможете создать его самостоятельно, даже без каких-либо навыков программирования или проектирования. Все, что вам понадобится - это 3D-принтер, Arduino Uno и несколько других дополнительных компонентов и инструментов, список которых приведен ниже.
Список необходимых компонентов
Инструменты
- ПК
- 3D-принтер
- Паяльник (и припой)
- Отвертка
Материалы
- Нить для 3D-печати (рекомендуется PLA)
- Breadboard
- Самоклеящаяся резиновая или поролоновая лента
- Какой-то тонкий провод с твердым сердечником
- Термоусадочные трубки
Элекстрические компоненты
- Arduino Uno (или совместимая плата)
- 2 конденсатора по 100 мкФ на 5 В
- 2 микро серводвигателя
- 4 фоторезистора (LDR)
- 1 светодиод x 5 мм
- 1 резистор 220 Ом
- 4 резистора по 10 кОм
- 11 саморезов M3
- 8 саморезов M2
- 4 крепежных винта M3 с гайками
3D печать необходимых деталей

Первый шаг - это 3D-печать всех деталей с использованием предоставленных ниже файлов .STL. По завершению печати я раскрасил свои изделия, но вы можете оставить как есть или использовать пластик другого цветв. Решать вам!
- Bottom cover.stl
- Electronics housing.stl
- X Bracket.stl
- Y Bracket.stl
- Light shade.stl
- Gimble base.stl
Сборка механической и электронной части

На этом этапе вы можете установить фоторезисторы и серводвигатели, а также смонтировать Arduino к опорной плите. Имейте в виду, что нам еще нужно сделать плату распределения питания, поэтому не собирайте заранее какие-либо детали, напечатанные на 3D-принтере.
Установка фоторезисторов (LDR)
Робот отслеживает свет, сравнивая значения, возвращаемые 4 фоторезисторами. Эти значения будут отличаться друг от друга, если источник света не перпендикулярен отслеживающей головке, поскольку светлый оттенок будет отбрасывать тень на некоторые из фоторезисторов. В этом случае Затем код Arduino обеспечивает логику перемещения по осям X и Y соответственно, чтобы оставаться в точке, перпендикулярной источнику света. Установить фоторезисторы очень просто: они имеют специальные карманы, встроенные в отслеживающую головку. Просто просуньте ножки в отверстия, нанесите суперклей и вдавите его, пока он не сядет заподлицо с поверхностью.
Установка сервоприводов
Установите сервоприводы на свои места и закрепите их саморезами M2. Теперь вы можете завершить механическую сборку, прикрепив рожки сервопривода. После этого вы можете прикрепить следящую головку к верхней части узла с помощью 4 крепежных винтов и гаек M3.
Установка платы Arduino Uno
Тут все предельно просто. Совместите резьбовые отверстия на Arduino с отверстиями в основании, и закрепите ее с помощью 3-х саморезов M3.
Электрическое питание

Ключевым компонентом этого робота является плата распределения мощности, поскольку она обеспечивает подачу нужной мощности на нужный компонент. Эта плата также поможет уменьшить колебания напряжения, вызванные питанием сервоприводов напрямую от Arduino.
Изготовление платы распределения питания
Вырежьте кусок макетной платы размером примерно 45 х 35 мм. Это должно дать вам достаточно места для пайки всех компонентов. Смотря на рилагаемую принципиальную схему, соответствующим образом припаяйте компоненты. Оба серводвигателя имеют конденсаторы емкостью 100 мкФ на проводах питания и заземления для предотвращения скачков напряжения. 4 фоторезистора имеют резисторы 10 кОм в качестве делителей напряжения, подключенных к земле (см. Принципиальную схему). Светодиод питания вставляется в отверстие на корпусе и имеет резистор 220 Ом, подключенный для понижения мощности, чтобы предотвратить его выгорание. В качестве альтернативы использованию прототипной платы вы можете просто спаять все вместе, но без должного опыта наверняка выйдет не очень хорошо.
Окончательная сборка



Теперь, когда плата распределения питания готова, пришло время собрать все вместе!
Подключение проводов
Сначала припаяйте соответствующие провода от платы распределения питания к различным обозначенным компонентам (обязательно пропустите их через отверстие в корпусе электроники снизу, иначе у вас возникнут проблемы!) ВАЖНО: Убедитесь, что вы подключили фоторезисторы в правильной последовательности, как показано на рисунке. Эти числа соответствуют числам на принципиальной схеме. То же самое и с сервоприводами - нижний отмечен буквой «Y», а верхний - «X». Теперь подключите оставшиеся провода к соответствующим контактам на Arduino. Индикатор питания можно вставить в отверстие над USB-портом после нанесения суперклея.
Сборка деталей, напечатанных на 3D-принтере
Узел кардана теперь можно прикрепить к верхней части корпуса электроники с помощью 4 саморезов М3. Затем аккуратно вставьте Arduino (который уже прикреплен к нижней пластине) вместе с платой распределения питания в корпус, нажимая до тех пор, пока пластина не окажется заподлицо с дном, а отверстия для винтов не совпадут. Теперь с помощью 4 саморезов M3 прикрепите нижнюю пластину к корпусу. Поверх шурупов можно добавить несколько резиновых/поролоновых ножек, чтобы придать ему устойчивость и предотвратить царапины на столе.
Программа для Arduino

Пришло время оживить нашего робота! Загрузите скетч в Arduino через IDE Arduino. Робот питается от USB, поэтому вы можете использовать любой стандартный источник питания USB для его включения (например, зарядные устройства для телефонов, ноутбуки и т. д.).
Послесловие и напутсвие
Теперь вы можете включить Фила и заставить его выполнять собственно предназначение! Используйте фонарик (или любой другой источник яркого света) и попробуйте подвигать им. Робот должен перемещаться за светом, куда бы он не был направлен. Если он работает, поздравляю, вы построили его правильно!
P.S. Обратите внимание, что «Dynagon Robotics» - это не компания, это просто выдуманное название.