FijiBot

Fijibot является автономным роботом, самостоятельно заряжающимся от солнечной панели. Я построил его, используя 1.5л бутылку от воды Fiji, Arduino Uno, солнечные панели 6В (и дополнительные элементы), Arduino Proto Shield (и дополнительные элементы), колеса и управление от радиоуправляемой машинки.

Я решил использовать бутылку от воды Fiji как корпус для робота, потому что воду Fiji производит экологичная компания, а мой робот тоже экологичен, т.к. заряжается от солнечных батарей. Также я считаю, что в прямоугольной бутылке со скруглёнными краями робот будет красиво смотреться!

Материалы и инструменты

Материалы:
1х бутылка 1,5 от воды Fiji (я испортил несколько бутылок при разработке, но их у меня много).
1х Разобранная радиоуправляемая машинка .
1х Arduino Uno.
1х Arduino Proto Shield.
1х BLS штырьки.
1х Провода с BLS разъемами.
1х 6В солнечная панель.
2х Сервоприводы непрерывного вращения Parallax.
2х 4-6VDC Обычные сервоприводы Parallax.
1х Дальномер Ping Parallax.
1х Держатель для 4 АА батарей.  
1х Разъем для батареи 9В.  
4х Фоторезисторы
4х Держатель светодиодов для монтажа в панель.
4х 10кОм резистор.
1х Диод 1N4001.

Инструменты:
Паяльник.
Припой.
Третья рука.
Инструмент для зачистки проводов.
Бокорезы.

Мозг робота

Для этого проекта я использовал Arduino Uno, потому что я считаю что это хороший микроконтроллер для небольших проектов, мне нравиться программировать на  C++, и сейчас в интернет-магазинах большой  выбор плат и клонов Arduino.

Fijibot имеет четыре сервопривода: по одному сервоприводу непрерывного вращения на каждое заднее колесо, один обычный сервопривод ля поворота дальномера Ping, и другой обычный сервопривод для перемещения передней оси для поворота направо или налево.

Учитывая то, что робот работает в ограниченном пространстве бутылки, я решил, что необходимо иметь возможность легко подключать и отключать все датчики, сервоприводы и т.д. от Arduino. Потому я купил Arduino Proto Shield, BLS штырьки  и 6” провода с BLS разъемами. Я припаял BLS штырьки к Arduino Proto Shield  и соединил всё проводами с разъемами.

В средине Arduino Proto Shield есть две параллельных линии подключаемых +5В и GND. Справа и слева перпендикулярно от этих линий есть линии по три отверстия. Я установил BLS штырьки на две параллельных и перпендикулярные линии. Таким образом, я получил питание, GND и сигнальные штырьки для сервоприводов и дальномера Ping. Потом я добавил 4 BLS штырька (по 2 на линию) на +5В и сигнальные контакты для подключения фоторезисторов.

Примечание: Обратите внимание, что я не припаял BLS разъемы, которые идут в комплекте с Arduino Proto Shield  на аналоговые контакты и вторую часть цифровых контактов, а припаял провода непосредственно к контактным площадкам.

Я подключил провода к ШИМ контактам (для сервоприводов) и аналоговым контактам (для фоторезисторов). Я также установил резистор 10 кОм от каждого фоторезистора к GND.

Я подключил провода от выводов 7 и 9 Arduino Proto Shield к положительному и GND выводу зеленого светодиода соответственно.

Для запуска 4-х сервоприводов и Arduino, я использовал два отдельных источника питания. Arduio работает от 9В батареи подключенной к Vin. Четыре сервопривода и дальномер Ping работают от 4 АА батарей, которые подключены параллельно солнечным панелям 6В. Для предотвращения обратного тока между солнечными панелями и батареями я поставил диод.

Я подключил питание через DPST переключатель, чтобы я мог отключить робота полностью, но солнечные панели остались подключены к 4 АА батареям. То есть они могут зарядится даже когда робот выключен.

Датчики

Провода с BLS разъемами продаются одной шиной на 40 проводов. Вам надо просто отрывать от неё необходимое вам количество проводов.

Поскольку фоторезисторы устанавливаются на шасси при помощи держателей для светодиодов, необходимо быстро и легко отключать и подключать их к плате. Потому я просто взял два провода с BLS разъемами, один конец проводов подключил к фоторезистору, а другой к Arduino Proto Shield. Резиновая изоляция в держателе светодиодов защищает провода от короткого замыкания.

Шасси

Я нашел дешевую радиоуправляемую машинку с большими колесами и подумал, что она хорошо подойдет для Fijibot. Потому я убрал все лишние детали и оставил лишь задние колеса и переднюю часть (колеса с подвеской).

Я решил использовать задние колеса в качестве ведущих, а передние колеса и подвеску для управления. Я прикрепил два сервопривода непрерывного вращения к задней части бутылки при помощи двустороннего скотча. Также я соединил эти два сервопривода при помощи двустороннего скотча. Затем я сделал небольшое отверстие в бутылке для кабелей от них.

Подвеску с обычным сервоприводом я прикрепил к передней части бутылки. Я вырезал в бутылке прямоугольное отверстие и четыре отверстия. Через прямоугольное отверстие я прикрепил обычный сервопривод к подвеске, чтобы поворачивать колеса влево или вправо.  Сервопривод  закрепил при помощи гаек и 10 мм болтов.

Далее, вырезал отверстие по середине бутылки на стороне противоположной этикетки, чтобы можно было осуществлять работу внутри бутылки. Я думал, что это приведет к уменьшению прочности бутылки, но она осталось крепкой. Потом я закрыл это отверстие при помощи скотча. Сделал четыре отверстия 8мм на передней, задней и боковых частях бутылки для крепления держателей светодиодов.

Ультразвуковой дальномер Ping крепится к обычному сервоприводу. Я просверлил отверстие в верхней части бутылки, для соединения вала сервопривода с монтажным кронштейном Ping, а потом сделал четыре отверстия 5мм для крепления сервопривода к бутылке.

Наконец, я вынул все провода через отверстие, чтобы подключить их к печатной плате.

Программа

Основная задача Fijibot — найти «пищу». Его “пища” — свет для зарядки батарей с помощью солнечной панели. Я использовал четыре фоторезистора, установленных в держатели светодиодов на 4-х сторонах (спереди, сзади и по бокам) для поиска самого светлого места в комнате. Программа сравнивает значения с фоторезисторов и едет на самый яркий источник света. Когда он находит источник света, он останавливается и начинает заряжаться.

В поисках света для зарядки батареи, Fijibot избегает контакта с предметами с помощью дальномера Ping. Программа проверяет препятствия в указанном диапазоне (75 см). Если что-то обнаружено, Fijibot останавливается, смотрит налево и направо (используя обычный сервопривод Parallax), и решает, в каком направлении двигаться. Если он заблокирован спереди, слева и справа, то он двигается назад и ищет другой путь.

Сборка робота

Когда прошит Arduino,  можно приступить к сборке Fijibot!

Сначала, я подключил сервоприводы и датчики к плате. Я закрепил пату и сделал всё внутри бутылки через отверстие, которое закрывается на липучки. Также, я использовал липучки для крепления платы и батарей внутри бутылки.

Наконец, установив колеса и батареи, я был готов тестировать его!

Я опустил лампы освещения в гараже, и поместил робота между ними. Предполагалось, что он найдет ближайший источник света и поедет к нему. Сначала я включил одну лампу, и он поехал к ней, потом я выключил её и включил вторую. Он поехал к ней. Он прошел это испытание!

Оригинал статьи

Добавить комментарий

Ваш адрес email не будет опубликован.