Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Радостный робот (Робо да Алегрия)

Компоненты и расходные материалы

Arduino UNO
× 1
Espressif ESP8266 ESP-01
× 1
Микро-серводвигатель SG90
× 6
Двигатель постоянного тока с редуктором и резиновыми колесами
× 2
Драйвер h-моста L298N
× 1
16-канальный 12-разрядный драйвер ШИМ / сервопривода Adafruit - I2C интерфейс - PCA9685
× 1
Светодиодный экран MAX7219 8x8
× 4
Драйверы двигателя SparkFun Dual H-Bridge L298
× 1
батарея 18650
× 2
держатель батареи 18650
× 2
Arduino Proto Shield
× 1
диод 1N4001
× 1
Резистор 10 кОм
× 3

Необходимые инструменты и машины

3D-принтер
3D-принтер (общий)

Приложения и онлайн-сервисы

Autodesk Fusion 360
IDE Arduino
Android SDK

Об этом проекте

Первое место в конкурсе Instructables Wheel Contest, второе место в Instructables Arduino Contest и второе место в Instructables Design for Kids Challenge. Спасибо всем, кто голосовал за нас !!!

http://www.instructables.com/id/Joy-Robot-Rob%C3%B4-Da-Alegria-Open-Source-3D-Printed-A/

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

В этом руководстве показано, как создать дистанционно управляемого робота-гуманоида, управляемого через сеть Wi-Fi, с помощью Arduino Uno, подключенного к модулю Wi-Fi ESP8266. В нем используются некоторые серводвигатели для движения головы и рук, некоторые двигатели постоянного тока для перемещения на небольшие расстояния и лицо из светодиодных матриц. Роботом можно управлять из обычного интернет-браузера с помощью интерфейса, разработанного в формате HTML. Смартфон Android используется для трансляции видео и аудио с робота на интерфейс управления оператора.

В учебном пособии показано, как была напечатана и собрана конструкция робота на 3D-принтере. Объясняются электронные схемы и подробно описывается код Arduino, чтобы любой мог воспроизвести робота.

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

  • https://www.instructables.com/id/WiDC-Wi-Fi-Controlled-FPV-Robot-with-Arduino-ESP82/
  • https://www.instructables.com/id/Controlling-a-LED-Matrix-Array-With-Arduino-Uno/
  • https://www.instructables.com/id/Wi-Servo-Wi-fi-Browser-Controlled-Servomotors-with/

Особая благодарность другим членам команды, участвовавшим в вышеупомянутом проекте, ответственным за первую версию кода, представленного в этом руководстве:

  • Тьяго Фарауш
  • Диего Август
  • Ян Кристиан
  • Хелам Морейра
  • Пауло де Азеведо младший
  • Гильерме Пупо
  • Рикардо Каспирро
  • ASEBS

Узнайте больше о проекте:

  • https://hackaday.io/project/12873-rob-da-alegria-joy-robot
  • https://www.hackster.io/igorF2/robo-da-alegria-joy-robot-85e178
  • https://www.facebook.com/robodaalegria/

Чем вы можете помочь?

Этот проект финансируется членами команды и небольшими пожертвованиями некоторых предприятий. Если вам понравилось, вы можете нам помочь:

  • Проголосовать: Этот проект участвует в обучающих программах Wheels, Design for Kids и Arduino Contests. Пожалуйста, проголосуйте за нас! :D
  • Пожертвование :вы можете присылать нам советы, если хотите поддержать создание робота и его будущие улучшения. Советы будут использоваться для покупки расходных материалов (электроника, 3D-печать, нити и т. Д.), А также для продвижения наших услуг в детских больницах. Ваше имя будет добавлено в титры проекта! Вы можете отправлять советы по нашему дизайну на платформе Thingiverse:https://www.thingiverse.com/thing:2765192
  • Нравится :Покажите нам, насколько вы цените наш проект. Поставьте нам отметку «Нравится» на платформах, на которых мы документируем наш проект (Facebook, Hackster, Hackaday, Maker Share, Thingiverse ...).
  • Поделиться :Поделитесь проектом на своем любимом веб-сайте в социальной сети, чтобы мы могли охватить больше людей и вдохновить больше разработчиков по всему миру.

Знаете ли вы, что Creality CR10mini можно купить всего за 349,99 долларов? Используйте код купона cr10mini3d на Gearbest и получите его:http://bit.ly/2FZ5OXw

Шаг 1. Немного истории ...

Проект «Робо да Алегрия» («Радостный робот») родился в 2016 году в регионе Байшада-Сантиста (Бразилия) с целью развития технологий и привлечения сообщества к движению производителей. Вдохновленный добровольными проектами, реализуемыми неправительственными организациями в детских больницах, проект направлен на разработку робота, использующего открытое аппаратное обеспечение и программные инструменты apen, способного внести немного удовольствия в среду детской больницы и внести свой вклад в работу других организаций.

Семя проекта было посеяно в конце 2015 года. После разговора о создании и развитии технологий, продвигаемых Ассоциацией стартапов Baixadas Santista (ASEBS). Это был идеализированный проект без денежного вознаграждения, но представлял собой тему, в которую люди будут вовлечены альтруистично, с целью помочь другим людям.

Робот претерпел различные преобразования от своей первоначальной концепции до настоящего состояния. От одной головы с механическими глазами и бровями до ее нынешней гуманоидной формы было выполнено несколько итераций, проверяющих различные конструкционные материалы и электронные устройства. От прототипа из акрила и МДФ, вырезанного лазером, мы перешли к корпусу, напечатанному на 3D-принтере. От простого интерфейса с двумя серводвигателями, управляемыми через Bluetooth, до корпуса, состоящего из 6 серводвигателей и 2 двигателей, управляющих постоянным током через веб-интерфейс с использованием сети Wi-Fi.

Конструкция робота была полностью произведена с помощью 3D-печати с использованием Fusion 360. Чтобы сделать возможным производство реплик роботов в производственных помещениях или фабричных лабораториях, где максимальное время использования принтеров имеет решающее значение, конструкция робота была разделена на части. менее трех часов печати каждый. Комплект деталей склеивается или прикручивается для крепления к кузову.

Лицо, состоящее из светодиодных матриц, дает роботу возможность выражать эмоции. Руки и шея, приводимые в движение сервомоторами, придают небольшому автомату необходимую мобильность для взаимодействия с пользователями. В центре управления роботом Arduino Uno взаимодействует со всеми периферийными устройствами, включая связь с модулем ESP8266, что дает пользователю возможность управлять выражениями и движениями через любое устройство, подключенное к той же сети Wi-Fi.

В сундуке робота также установлен смартфон, который используется для передачи аудио и видео между оператором робота и детьми. Экран устройства по-прежнему можно использовать для взаимодействия с играми и другими приложениями, предназначенными для взаимодействия с телом робота.

Шаг 2. Инструменты и материалы

Для этого проекта были использованы следующие инструменты и материалы:

Инструменты:

  • 3D-принтер - Все тело робота напечатано на 3D-принтере. Для создания всей конструкции потребовалось несколько часов 3D-печати;
  • Нить из PLA - Белые и черные нити PLA используются для печати тела;
  • Отвертка - Большинство деталей соединяются при помощи болтов;
  • Супер клей - Некоторые детали крепились с помощью суперклея;
  • Плоскогубцы и кусачки
  • Припой и проволока

Электроника :

  • Arduino Uno (ссылка / ссылка) - Используется как главный контроллер робота. Он отправляет сигналы на двигатели и обменивается данными с модулем WiFi;
  • ESP8266-01 (ссылка / ссылка) - Используется как «WiFi-модем». Он получает сигналы от интерфейса управления, которые должны выполняться Arduino Uno;
  • Серводвигатели SG90 (x6) (link / link) - Четыре сервопривода использовались для рук и два для движений головой;
  • Двигатели постоянного тока с редуктором и резиновыми колесами (x2) (ссылка / ссылка) - Они позволяют роботу преодолевать небольшие расстояния;
  • Двухканальный H-мост L298N (x1) (ссылка / ссылка) - преобразует цифровые выходы Arduino в напряжение питания двигателей;
  • 16-канальный сервоконтроллер (ссылка / ссылка) - С помощью этой платы можно управлять несколькими серводвигателями, используя всего два выхода Arduino;
  • Светодиодный экран MAX7219 8x8 (x4) (ссылка / ссылка) - Используются как лицо робота;
  • Кабель Micro USB - Используется для загрузки кода;
  • Перемычки "мама-мама" (немного);
  • Перемычки "папа-мама" (немного);
  • Смартфон - Использовался смартфон Motorola 4.3 "Moto E. Могли бы работать и другие устройства аналогичного размера;
  • аккумулятор 18650 (x2) (ссылка) - Они использовались для питания Arduino и других периферийных устройств;
  • Держатель батареи 18650 (x1) (ссылка / ссылка) - Они держат батарейки на месте;
  • Диоды 1N4001 (x2)
  • Сопротивление 10 кОм (x3)
  • Переключатель 20 мм (x1)
  • Protoshield (ссылка) - Помогает разводить схему.

Механика:

  • Шариковые колеса (x2)
  • Болты M2x6,0 мм (+ -70)
  • Болты M2x10 мм (+ -20)
  • Гайки M2x1,5 мм (x10)
  • Болты M3x40 мм (x4)
  • Гайки M3x1,5 мм (x4)

Приведенные выше ссылки являются предложением о том, где вы можете найти элементы, используемые в этом руководстве, и поддержать развитие этого проекта. Не стесняйтесь искать их в другом месте и покупать в своем любимом местном или интернет-магазине.

Знаете ли вы, что Creality3D CR10mini можно купить всего за 349,99 долларов? Используйте код купона cr10mini3d на Gearbest и получите его:http://bit.ly/2FZ5OXw

Шаг 3. 3D-печать

Конструкция робота была полностью произведена с помощью 3D-печати с использованием Autodesk Fusion 360. Для того, чтобы можно было производить копии роботов в производственных помещениях или фабричных лабораториях, где максимальное время использования принтеров имеет решающее значение, конструкция робота была разделена на части. менее трех часов печати каждый. Комплект деталей склеивается или прикручивается для крепления к кузову.

Модель состоит из 36 различных частей. Большинство из них было напечатано без опор, с заполнением 10%.

  • Верхняя часть головы (справа / слева)
  • Голова внизу (справа / слева)
  • Боковые заглушки (правая / левая)
  • Лицевая задняя панель
  • Лицевая передняя панель
  • Ось шеи 1
  • Ось шеи 2
  • Ось шеи 3
  • Центр шеи
  • Рука (правая / левая)
  • Плечо (правое / левое)
  • Плечевая чашка (правая / левая)
  • Наплечник (правый / левый)
  • Ось рычага (правая / левая)
  • Бюст (справа / слева)
  • Грудь (правая / левая / передняя)
  • Колеса (справа / слева)
  • База
  • Держатель телефона
  • Назад (вправо / влево)
  • Ручки (вправо / влево)
  • Шкафчик (справа / слева)

Процедура установки робота описана в следующих шагах.

Вы можете скачать все файлы stl на следующих веб-сайтах:

  • https://www.thingiverse.com/thing:2765192
  • https://pinshape.com/items/42221-3d-printed-joy-robot-robo-da-alegria
  • https://www.youmagine.com/designs/joy-robot-robo-da-alegria
  • https://cults3d.com/en/3d-model/gadget/joy-robot-robo-da-alegria

Это экспериментальный образец. Некоторые части нуждаются в доработке (для более поздних обновлений проекта). Есть несколько известных проблем:

  • Помехи между проводкой некоторых сервоприводов и плечом;
  • Трение между головой и бюстом;
  • Трение между колесами и конструкцией;
  • Отверстие для некоторых винтов слишком тугое, и его необходимо увеличить с помощью сверла или ножа для хобби.

Если у вас нет 3D-принтера, вы можете сделать следующее:

  • Попросите друга распечатать его для вас;
  • Найдите поблизости место для хакеров / производителей. Модель была разделена на несколько частей, поэтому печать каждой части по отдельности занимает менее четырех часов. Некоторые места для хакеров / производителей будут взимать плату только за использованные материалы;
  • Купите себе 3D-принтер. Вы можете найти Anet A8 всего за 165,99 долларов. Получите свое на Gearbest:http://bit.ly/2kqVOdO
  • Заинтересованы в покупке набора для самостоятельной сборки? Если достаточное количество людей заинтересуется, я могу предложить наборы для самостоятельного изготовления на Tindie.com. Если хотите, отправьте мне сообщение.

Шаг 4. Обзор схем

Робот управляется с помощью Arduino Uno по своей сути. Arduino взаимодействует с модулем ESP8266-01, который используется для удаленного управления роботом по сети Wi-Fi.

16-канальный сервоконтроллер подключен к Arduino с помощью связи I2C и управляет 6 серводвигателями (два для шеи и два для каждой руки). Массив из пяти светодиодных матриц 8x8 питается и управляется Arduino. Четыре цифровых выхода Arduino используются для управления двумя двигателями постоянного тока с помощью h-моста.

Схемы питаются от двух USB-аккумуляторов:один для двигателей и один для Arduino. Я попытался привести в действие всего робота с помощью единственного блока питания. Но раньше ESP8266 терял соединение из-за скачков напряжения при включении / выключении двигателей постоянного тока.

В груди робота есть смартфон. Он используется для трансляции видео и аудио в / из интерфейса управления, размещенного на обычном компьютере. Он также может отправлять команды на ESP6288, таким образом управляя телом самого робота.

Можно заметить, что используемые здесь компоненты могут быть не оптимизированы для его целей. Например, NodeMCU можно использовать вместо комбинации Arduino + ESP8266. Rapsberry Pi с камерой заменит смартфон и также будет управлять двигателями. Можно даже использовать Android-смартфон в качестве «мозга» для своего робота. Это правда ... Arduino Uno был выбран, потому что он очень доступен и прост в использовании для всех. К тому времени, когда мы начали этот проект, платы ESP и Raspberry Pi все еще были относительно дорогими в том месте, где мы живем ... когда-то мы хотели построить недорогого робота, платы Arduino были лучшим выбором на тот момент.

робот% 2Bmk0% 2B-% 2Brev8_Esquem_C3_A1tico.pdf робот% 2Bmk0% 2B-% 2Brev8_bb.pdf

Шаг 5. Сборка лица

На лице робота использовались четыре светодиодные матрицы 8x8.

Структура была разделена на две части (лицевая задняя пластина и лицевая передняя пластина), напечатанные на 3D-принтере с использованием черного PLA. На их 3D-печать у меня ушло около 2,5 часов с 10% заполнением и без опор.

Из-за нехватки места разъемы светодиодных матриц пришлось распаять и изменить их положение, как описано ниже:

  • Снимаем светодиодную матрицу;
  • Входные и выходные разъемы Dessolder;
  • Повторно припаяйте другую сторону печатной платы так, чтобы контакты были направлены в центр платы.

Вы можете увидеть окончательный результат на изображениях.

Затем четыре светодиодные матрицы были прикреплены к задней панели с помощью 16 болтов M2x6 мм. Контакты были подключены согласно схемам.

Первая матрица была подключена с помощью 5-жильной перемычки папа-мама. Штыревой конец позже был подключен к контактам Arduino. Женский конец подключен к входным контактам матрицы. Выход каждой матрицы соединен с входом следующей с помощью перемычки «мама-мама».

После соединения матриц передняя пластина устанавливается четырьмя болтами М2. Оберните перемычки вокруг задней и передней панелей, чтобы не было ослабленных проводов.

Модуль лица позже будет установлен внутри головы робота, как это будет объяснено в следующих шагах.

Шаг 6:Установка головы

Голова робота была разделена на восемь частей, напечатанных на 3D-принтере, все они были напечатаны из белого PLA с разрешением 0,2 мм, заполнением 10% и без опор:

  • Верхняя часть головы (справа и слева)
  • Голова внизу (справа и слева)
  • Головной убор (справа и слева)
  • Ось шеи 1
  • Ось шеи 2

На печать структуры диаметром 130 мм у меня ушло почти 18 часов.

Верх и низ головы разделены на две части. Они склеены с помощью суперклея. Нанесите клей и дайте ему постоять несколько часов.

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

Серводвигатель №5 был прикреплен к оси 1. Я расположил сервопривод в середине оси, затем прикрепил рупор и использовал винт, чтобы зафиксировать его положение. Я использовал два болта M2x6 мм, чтобы закрепить ось 2 шеи на серводвигателе. Серводвигатель №6 присоединяется к оси 2 шеи таким же образом.

Ось 2 шеи позже была соединена с центром шеи, как это показано на следующем шаге.

Лицевой модуль установлен внутри головы.

Шаг 7. Сборка взрыва и плеч

На печать бюста и плеча у меня ушло около 12 часов.

Этот раздел состоит из пяти разных частей:

  • Бюст (вправо / влево)
  • Плечи (правые / левые)
  • Центр шеи
  • Ось шеи 3

Детали бюста приклеены с помощью суперклея. Плечи были прикреплены по бокам с помощью болтов M2x10 мм, а серводвигатели (серводвигатели №2 и №4) были установлены с каждой стороны. Они проходят через прямоугольные отверстия на каждом плече (на самом деле проволоку довольно сложно провести) и крепятся с помощью болтов и гаек M2x10 мм.

Центральная горловина имеет прямоугольное отверстие, в которое вставляется часть оси 3 шеи. Для соединения этих двух частей использовались четыре болта M2x6 мм. После этого к плечам прикрепили центральную шею. Он использует те же болты, которые используются для крепления плеча к груди. Для фиксации положения используются четыре гайки M2x1,5 мм.

Серводвигатель №6 был соединен с осью шеи 3 с помощью двух винтов. Затем я установил ось 3 шеи внутри прямоугольного отверстия в центре шеи и использовал четыре болта M2x6 мм, чтобы зафиксировать ее положение.

Шаг 8:Сборка рук

На печать каждой руки у меня ушло около 5 часов.

Каждая рука состоит из четырех частей:

  • Наплечная чашка
  • Наплечная крышка
  • Ось рычага
  • Рука

Ось рычага расположена по центру и крепится к самому рычагу с помощью трех болтов M2x6 мм. На другом конце оси прикреплен сервопривод.

Серводвигатель (№1 и №3) устанавливается внутри плечевой чашки с помощью нескольких винтов, а затем устанавливается его рог (тот, который прикреплен к оси рычага). На чашке есть отверстие для установки другого рожка, который прикреплен к сервоприводу (№2 и №4), уже установленному на плечах, как было показано на предыдущем шаге.

На чашке (и на плече) есть еще одно отверстие для пропуска тросов сервоприводов. После этого устанавливается крышка, закрывающая плечо робота, с помощью двух болтов M2x6 мм.

Шаг 9:Установка сундука

The chest is the part that links the bust to the bottom (wheels and base) of the robot. It's made of only two parts (right and left parts. I printed them in 4 hours.

The shoulders of the robot fits on upper part of the chest. There is a hole for a bolt that helps the alignment and fixation of thos parts. Although it's recomended to glue those two parts.

The bottom of this parts have six holes, which are used for the connection to the wheels, as it will be shown later.

At this point I labelled the servomotors with some stickers, in order to make the connection of the circuits easier.

Step 10:Assembling the Wheels

The wheels of the robot uses three 3d printed parts:

  • Wheels (left/right)
  • Front

It took me around 10h to print those parts.

I followed the following steps for assembling the wheels:

  • First I had to solder some wires to DC motors connectors. Those wires were later used for powering the motors using a H-bridge circuit;
  • The motors were then attached to the structure using two M3x40 bolts and nuts for each. Actually a shorter bolt might be used (but I found none online);
  • After that I glued the front pannel, which links the other parts of the structure;
  • This part has some holes on its top. They are used for its attachment to the chest, shown previously. Six M2x6mm bolts were used for the connection of both sections.

Step 11:Phone Holder

The phone holder is a single 3d printed part, and it takes around 1 hour to print.

The robot has a smartphone at it's belly. It was designed for a Motorola Moto E. It has a 4.3" display. Other smartphones with similar size might fit as well.

The phone holder part is used to hold the smartphone in the desired position. First the smart phone is positioned, then it's pressed against the body of the robot using the phone holder and four M2x6mm bolts.

It's importart to connect the USB cabe to the smartphone before tightening the bolts. Otherwise it will be hard to connect it later. Unfortunatly the space is very limited, so I had to cut part of the USB connector away... :/

Step 12:Mounting the Base

The base has only one 3D printed part. It took me around 4h to print that part.

It has several holes for the installation of other components, like the ball wheels, and circuit boards for instance. The following procedure was used for assembling the base:

  • Install the 16 channel servo controller using four M2x6mm bolts;
  • Install the L298N h-bridge circuit using four M2x6mm bolts;
  • Install the Arduino Uno using four M2x6mm bolts;
  • Install the protoshield on the top of the robot;
  • Wire up the circuits (as it's described a couple steps later);
  • Installe the ball wheels using two screws for each one. The wires were arranged so that they are traped between the base and the screws used in the installation of the wheels;
  • Base was attached to wheels section using some screws.

Step 13:Back and Power Pack

The back cover of the robot was designed so that one can easilly open it for accessing the circuits, recharging the batteries, or turning the smartphone on/off.

It's made of six 3d printed parts:

  • Back (left/right)
  • Knobs (x2)
  • Locks (left/right)

It took me around 5h30 for printing the parts. Right and left back parts were glued using superglue. Wait until the glue is completly dry, or the cover will break easilly.

The power pack consists of two 18650 batteries and a battery holder. I had to solder some wires (between battery #1 negative pole and battery #2 positive pole). The negative pole of the power pack was connected to Arduinos GND (using some wires and jumpers). A on/off swich was installed between the positive pole and Arduino's Vin input.

The on/off switch was attached to back 3d printed parts using a M2x6mm bolt and M2x1.5mm nut. The battery holder was attached to the back using four M2x6mm bolts.

The cilindrical part of the locks had to be sanded with a sand paper for a better fitting. They pass through the holes on the cover. The knobs are connected and glued on the other side.

The cover fits to the back of the robot. The knobs can be turned for locking the lid, protecting the insides of the robot.

Step 14:Wiring Up the Circuits

The circuit was wired up according to the schematics.

Arduino:

  • Arduino pin D2 => L298N pin IN4
  • Arduino pin D3 => L298N pin IN3
  • Arduino pin D6 => L298N pin IN2
  • Arduino pin D7 => L298N pin IN1
  • Arduino pin D9 => MAX7219 pin DIN
  • Arduino pin D10 => MAX7219 pin CS
  • Arduino pin D11 => MAX7219 pin CLK
  • Arduino pin D4 => ESP8266 RXD
  • Arduino pin D5 => ESP8266 TXD
  • Arduino pin A4 => SDA
  • Arduino pin A5 => SCL
  • Arduino pin Vin => Battery V+ (before diodes)
  • Arduino pin gnd => Battery V-

ESP8266-01

  • ESP8266 pin RXD => Arduino pin D4
  • ESP8266 pin TXD => Arduino pin D5
  • ESP8266 pin gnd => Arduino pin gnd
  • ESP8266 pin Vcc => Arduino pin 3V3
  • ESP8266 pin CH_PD => Arduino pin 3V3

L298N h-bridge

  • L298N pin IN1 => Arduino pin D7
  • L298N pin IN2 => Arduino pin D6
  • L298N pin IN3 => Arduino pin D3
  • L298N pin IN4 => Arduino pin D2
  • L298N pin +12V => Battery V+ (after diodes)
  • L298N pin gnd => Arduino gnd
  • L298N OUT1 => Motor 1
  • L298N OUT2 => Motor 2

MAX7219 (first matrix)

  • MAX7219 pin DIN => Arduino pin D9
  • MAX7219 pin CS => Arduino pin D10
  • MAX7219 pin CLK => Arduino pin D11
  • MAX7219 pin Vcc => Arduino pin 5V
  • MAX7219 pin gnd => Arduino pin gnd

MAX7219 (other matrixes)

  • MAX7219 pin DIN => MAX7219 pin DOUT(previous matrix)
  • MAX7219 pin CS => MAX7219 pin CS (previous matrix)
  • MAX7219 pin CLK => MAX7219 pin CLK (previous matrix)
  • MAX7219 pin Vcc => MAX7219 pin VCC (previous matrix)
  • MAX7219 pin gnd =:MAX7219 pin gnd (previous matrix)

16-channel servo controller

  • Servo controller pin SCL => Arduino pin A5
  • Servo controller pin SDA => Arduino pin A4
  • Servo controller pin Vcc => Arduino pin 5V
  • Servo controller pin gnd => Arduino pin gnd
  • Servo controller pin V+ => Battery V+ (after diodes)
  • Servo controller pin gnd => Arduino pin gnd

Some say the Sg90 servo can be powered between 3.0 and 6.0V, others between 4.0 and 7.2V. To avoid trouble I decided to put two diodes in series after the batteries. This way, the voltage for servos is 2*3.7 - 2*0.7 =6.0V. The same is applied to the DC motors.

Notice this is not the most efficient way, but it worked for me.

robot%2Bmk0%2B-%2Brev8_bb.pdf robot%2Bmk0%2B-%2Brev8_Esquem_C3_A1tico.pdf

Step 15:Arduino Code

Install the latest Arduino IDE. No library was needed for communication with ESP-8266 module or control of the DC motors.

I'll need to add the following libraries:

  • LedControl.h :library used to control the LED matrixes;
  • Adafruit_PWMServoDriver.h :library used to control the servo motors.

Arduino code is divided in 9 parts:

  • RobodaAlegria.ino: this is the main sketch, and it call the other parts. Libraries are imported here. It also define and initialize global variables;
  • _05_Def_Olhos.ino: this is where the matrixes for each eye are defined. Each eye is represented by a 8x8 matrix, and 9 options where defined:neutral, wide-eye, closed up, closed down, angry, borred, sad, in love, and dead eyes. There is a different matrix for right and left eyes;
  • _06_Def_Boca.ino: this is where the matrices for the mouth are defined. The mouth is represented by a 16x8 matrix, and 9 options where defined:happy, sad, very happy, very sad, neutral, tongue out, open, wide-open, and disgusted mouth;
  • _10_Bracos.ino: predefined movements for arms and neck are defined in this file. Nine movements, mov1() to mov9(), were configured;
  • _12_Rosto.ino: in this file there are some functions for updating the face of the robot, combining the matrixes defined in _05_Def_Olhos.ino and _06_Def_Boca.ino;
  • _13_Motores_DC: it defines the functions for ther DC motors;
  • _20_Comunicacao.ino: a function for sending data to ESP8266 is defined in this file;
  • _80_Setup.ino: it runs on Arduino power up. It set the inicial face and position of the motors of the robot. It also send commands for the connection to a given Wi-Fi network;
  • _90_Loop: main loop. It looks for incoming commands from ESP8266 and call specific functions to control the outputs.

Download Arduino code. Replace the XXXXX by your wifi router SSID and YYYYY by router password on on '_80_Setup.ino'. Please check the baudrate of you ESP8266 and set it properly in the code ('_80_Setup.ino'). Connect the Arduino board to your computer USB port and upload the code.

RoboAlegria.rar

Step 16:Android Apps

An Android smartphone was used to broadcast the video and audio from the robot to the control interface. You can find the app I used on Google Play store (https://play.google.com/store/apps/details?id=com.pas.webcam).

The screen of the smartphone may also be transmited to the control interface, so that the operator can see what's on the screen. You can also find the app I used to mirror the screnn on Google Play store (https://play.google.com/store/apps/details?id=com.ajungg.screenmirror).

An Android video game was also designed to interact with the robot. It's not yet very stable, so it isn't available for download.

Step 17:Control Interface

A html interface was designed for the control of the robot.Download interface.rar and extract all the files to a given folder. Then open it on Firefox. The interface is divided in two blocks. To the left there are displays for the camera and screen mirror. To the right there are controll buttons for the commands.

Textbox forms are used in that interface to enter IP address of the ESP8266 module ('Endereço IP Arduino:'), video/audio server from Android IP Webcam app ('IP Webcam (IP):') and Screen Mirror IP address ('Screen Mirror (IP):').

Under 'Ações predefinidas' tab user can select between 9 predefined body movements and 13 different faces. On 'Ações personalizadas' tab user can set a given angles for each of the 6 servos, and individually select between 9 eyes possibilities and 8 mouths variations. A javascript function runs whenever one of those buttons is clicked, and a message is sent for ESP8266's IP address.

Keyboard arrow keys are used for moving the robot forward or backward, and to rotate left or right.

When the interface is started, a warning is displayed, asking if the user wants to share the microphone. If this option is selected, sound intensity of the microphone will be used to send a preconfigured command to the robot. This command will trigger an animation, simulating speech movement on robot's face. A settings button on upper right corner might be used to set the sensitivity of the microphone.

This settings menu might also be used to configure the speed of arms and neck movements.

interface.rar

Step 18:Have Fun

Power it up and have fun!

If you like it, please share this tutorial with you friends! And don't forget to vote on Instructubles Contests! :D

http://www.instructables.com/id/Joy-Robot-Rob%C3%B4-Da-Alegria-Open-Source-3D-Printed-A/

Код

  • Код Arduino
  • HTML Interface
Код Arduino Arduino
 Нет предварительного просмотра (только загрузка). 
HTML InterfaceHTML
 Нет предварительного просмотра (только загрузка). 
Github
https://github.com/wayoda/LedControlhttps://github.com/wayoda/LedControl
Github
https://github.com/adafruit/Adafruit-PWM-Servo-Driver-Libraryhttps://github.com/adafruit/Adafruit-PWM-Servo-Driver-Library

Изготовленные на заказ детали и корпуса

Thingiverse
https://www.thingiverse.com/thing:2765192CAD file on thingiverse.com
Youmagine
https://www.youmagine.com/designs/joy-robot-robo-da-alegria

Схема


Производственный процесс

  1. Прототип Raspoulette
  2. Робот-бокс для компакт-дисков Raspberry Pi
  3. Робот с подвижной сигнализацией
  4. Создайте робота Minecraft Creeper
  5. Архимед:ИИ-робот-сова
  6. Робот для открытия резюме
  7. Робот ROS
  8. Простой робот Pi
  9. Робот для супер-крутой навигации внутри помещений
  10. Что такое линейный двигатель?