Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Joy Robot: Robô Inteligente com Arduino e ESP8266

Componentes e Materiais

Componente Quantidade
Arduino UNO 1
Módulo ESP8266 ESP-01 1
Micro Servomotor SG90 6
Motor DC com Redução e Rodas de Borracha 2
Driver Ponte H L298N 1
Driver PWM/Servo 16 Canais PCA9685 (Adafruit) 1
Display LED 8x8 MAX7219 4
Driver Dual H-Bridge L298 (SparkFun) 1
Bateria 18650 2
Suporte para Bateria 18650 2
Shield Proto para Arduino 1
Diodo 1N4001 1
Resistor 10k ohm 3

Ferramentas Necessárias

Aplicativos e Serviços Online

Sobre o Projeto

Joy Robot: Robô Inteligente com Arduino e ESP8266

Primeiro lugar no Instructables Wheel Contest, segundo lugar no Arduino Contest e finalista no Design for Kids Challenge. Obrigado a todos que votaram!

Página do projeto no Instructables

Robôs estão em toda parte – da indústria à exploração espacial e subaquática. Mas meus favoritos são os usados para diversão e entretenimento! Neste projeto, um robô DIY foi projetado para entreter crianças em hospitais, levando um pouco de alegria a elas. O foco está no compartilhamento de conhecimento e na promoção de inovação tecnológica para auxiliar ONGs que realizam trabalho voluntário em hospitais infantis.

Este tutorial mostra como projetar um robô humanoide operado remotamente, controlado via rede Wi-Fi, usando um Arduino Uno conectado a um módulo Wi-Fi ESP8266. Utiliza servomotores para movimentos da cabeça e braços, motores DC para pequenos deslocamentos e uma face feita de matrizes de LED. O robô pode ser controlado a partir de um navegador comum, usando uma interface HTML. Um smartphone Android transmite vídeo e áudio do robô para a interface de controle.

O tutorial abrange a impressão 3D e montagem da estrutura, circuitos eletrônicos e código do Arduino, permitindo que qualquer pessoa replique o robô.

Tutoriais Relacionados

Equipe

Mais Informações

Como Você Pode Ajudar

Este projeto é financiado pelos membros da equipe e pequenas doações de empresas. Se gostou, pode ajudar de várias formas:

Passo 1: Um Pouco de História...

Joy Robot: Robô Inteligente com Arduino e ESP8266

O projeto 'Robô da Alegria' nasceu em 2016, na região da Baixada Santista (Brasil), com o objetivo de desenvolver tecnologia e atrair a comunidade para o movimento maker. Inspirado por projetos voluntários de ONGs em hospitais infantis, busca desenvolver um robô usando hardware e software abertos, capaz de levar diversão ao ambiente hospitalar infantil e contribuir com o trabalho de outras organizações.

A semente foi plantada no final de 2015, após uma palestra sobre criação e desenvolvimento de tecnologia promovida pela Associação de Startups da Baixada Santista (ASEBS). Idealizou-se um projeto sem prêmio em dinheiro, mas com um tema que envolvesse as pessoas de forma altruísta, com o objetivo de ajudar outras pessoas.

O robô passou por diversas transformações desde sua concepção inicial até o estado atual. De uma simples cabeça com olhos e sobrancelhas mecânicas, até sua forma humanoide atual, várias iterações foram realizadas, testando diferentes materiais construtivos e dispositivos eletrônicos. De um protótipo em acrílico e MDF cortado a laser, migrou-se para um corpo impresso em 3D. De uma interface simples com dois servos controlados por Bluetooth, para um corpo com 6 servomotores e 2 motores DC comandados por interface web via Wi-Fi.

A estrutura foi inteiramente produzida com impressão 3D usando Fusion 360. Para permitir a produção de réplicas em makerspaces ou fab labs, onde o tempo máximo de uso das impressoras é crucial, o design foi dividido em peças menores que três horas de impressão cada. O conjunto de peças é colado ou parafusado para montagem do corpo.

A face, composta por arrays de LED, dá ao robô a capacidade de expressar emoções. Braços e pescoço acionados por servomotores dão ao pequeno autômato a mobilidade necessária para interação com usuários. No centro de controle, um Arduino Uno interfaceia com todos os periféricos, incluindo comunicação com o módulo ESP8266, permitindo ao usuário comandar expressões e movimentos através de qualquer dispositivo na mesma rede Wi-Fi.

O robô também possui um smartphone instalado no peito, usado para transmissão de áudio e vídeo entre o operador e as crianças. A tela do dispositivo ainda pode ser usada para interação com jogos e outros aplicativos projetados para interagir com o corpo do robô.

Passo 2: Ferramentas e Materiais

Joy Robot: Robô Inteligente com Arduino e ESP8266

Ferramentas

Eletrônica

Mecânica

Os links acima são sugestões de onde encontrar os itens. Sinta-se livre para buscar em outras lojas.

Passo 3: Impressão 3D

Joy Robot: Robô Inteligente com Arduino e ESP8266

A estrutura foi inteiramente impressa em 3D usando Autodesk Fusion 360. Para permitir a produção em makerspaces/fab labs, o design foi dividido em peças com menos de 3 horas de impressão cada. O modelo é composto por 36 partes diferentes, a maioria impressa sem suportes, com 10% de preenchimento.

Lista de Peças

Arquivos STL disponíveis em:

Problemas Conhecidos (Protótipo Experimental)

Não Tem Impressora 3D?

Passo 4: Visão Geral dos Circuitos

Joy Robot: Robô Inteligente com Arduino e ESP8266

O robô é controlado por um Arduino Uno no núcleo. O Arduino interfaceia um módulo ESP8266-01 para controle remoto via Wi-Fi.

Um controlador de servo de 16 canais conecta-se ao Arduino via I2C e controla 6 servomotores (dois para o pescoço e dois para cada braço). Um array de quatro matrizes LED 8x8 é alimentado e controlado pelo Arduino. Quatro saídas digitais do Arduino controlam dois motores DC usando uma ponte H.

Os circuitos são alimentados por dois power banks USB: um para os motores e outro para o Arduino. Tentei alimentar tudo com uma única fonte, mas o ESP8266 perdia conexão devido a picos quando os motores DC ligavam/desligavam.

O peito do robô abriga um smartphone para transmissão de áudio/vídeo entre operador e crianças. Também pode enviar comandos ao ESP8266, controlando o corpo do robô.

Nota: Os componentes podem não ser os ideais. Um NodeMCU substituiria o Arduino + ESP8266. Um Raspberry Pi com câmera substituiria o smartphone e controlaria os motores. Até um smartphone Android poderia ser o "cérebro". Escolhemos o Arduino Uno por ser acessível e fácil para todos. Na época, placas ESP e Raspberry Pi eram relativamente caras onde moramos.

Passo 5: Montagem da Face

Joy Robot: Robô Inteligente com Arduino e ESP8266

Quatro matrizes LED 8x8 MAX7219 foram usadas na face do robô. A estrutura foi dividida em duas partes (placa traseira e frontal) impressas em PLA preto. Tempo de impressão: ~2,5 horas com 10% de preenchimento e sem suportes.

Devido a limitações de espaço, os conectores das matrizes LED tiveram que ser dessoldados e reposicionados:

  1. Remova a matriz LED;
  2. Dessolde conectores de entrada e saída;
  3. Resolde no outro lado da placa, com pinos apontando para o centro.

As quatro matrizes foram fixadas na placa traseira com 16 parafusos M2x6mm. Os pinos foram conectados conforme o esquemático. A primeira matriz conecta-se ao Arduino via jumper macho-fêmea de 5 fios. A saída de cada matriz conecta-se à entrada da próxima via jumper fêmea-fêmea. Após a conexão, a placa frontal é instalada com quatro parafusos M2. Os jumpers são enrolados entre as placas para evitar fios soltos. O módulo da face é instalado dentro da cabeça do robô.

Passo 6: Montagem da Cabeça

Joy Robot: Robô Inteligente com Arduino e ESP8266

A cabeça foi dividida em oito peças impressas em PLA branco (resolução 0.2mm, 10% preenchimento, sem suportes): topo (direito/esquerdo), base (direito/esquerdo), tampas laterais (direito/esquerdo), eixos do pescoço 1 e 2. Tempo total: ~18 horas para estrutura de 130mm de diâmetro.

Topo e base são divididos em duas partes, coladas com super cola. As tampas laterais são fixadas com parafusos nas laterais do topo e base, permitindo desmontagem para reparos. Antes de fechar a cabeça, monta-se a face (passo anterior) e o busto (próximos passos).

Servomotor #5 fixado no Eixo do Pescoço 1. Posicionei o servo no meio do eixo, fixei o braço e usei parafuso para travar. Dois parafusos M2x6mm montam o Eixo do Pescoço 2 nesse servo. Servomotor #6 fixado no Eixo do Pescoço 2 da mesma forma. O Eixo do Pescoço 2 conecta-se ao Centro do Pescoço (próximo passo). O módulo da face é instalado dentro da cabeça.

Passo 7: Montagem do Busto e Ombros

Joy Robot: Robô Inteligente com Arduino e ESP8266

Busto e ombros levaram ~12h para impressão. Cinco partes: Busto (direito/esquerdo), Ombros (direito/esquerdo), Centro do Pescoço, Eixo do Pescoço 3.

Partes do busto coladas com super cola. Ombros fixados nas laterais com parafusos M2x10mm. Servomotores #2 e #4 instalados em cada lado – passam por furo retangular no ombro e são fixados com parafusos M2x10mm e porcas.

Centro do pescoço tem furo retangular onde o Eixo do Pescoço 3 é inserido. Quatro parafusos M2x6mm conectam as duas partes. Centro do pescoço fixado aos ombros usando os mesmos parafusos dos ombros no busto. Quatro porcas M2x1.5mm travam a posição.

Servomotor #6 conectado ao Eixo do Pescoço 3 com dois parafusos. Eixo do Pescoço 3 inserido no furo retangular do Centro do Pescoço e travado com quatro parafusos M2x6mm.

Passo 8: Montagem dos Braços

Joy Robot: Robô Inteligente com Arduino e ESP8266

Cada braço levou ~5h para impressão. Quatro peças: Copo do ombro, Tampa do ombro, Eixo do braço, Braço.

Eixo do braço centralizado e fixado no braço com três parafusos M2x6mm. Braço do servo na outra extremidade do eixo. Servomotor (#1 e #3) instalado dentro do Copo do ombro com parafusos, com seu braço (conectado ao eixo do braço) instalado. Há furo no copo para instalação de outro braço, conectado ao servo (#2 e #4) já montado nos ombros. Outro furo no copo e no ombro para passagem dos cabos dos servos. Tampa fecha o ombro com dois parafusos M2x6mm.

Passo 9: Montagem do Peito

Joy Robot: Robô Inteligente com Arduino e ESP8266

O peito liga o busto à base (rodas e base). Duas partes (direita/esquerda), impressas em 4h. Ombros encaixam na parte superior do peito. Furo para parafuso auxilia alinhamento e fixação (recomenda-se colar). Base tem seis furos para conexão às rodas. Etiquetei os servomotores com adesivos para facilitar a fiação.

Passo 10: Montagem das Rodas

Joy Robot: Robô Inteligente com Arduino e ESP8266

Rodas usam três peças impressas: Rodas (esquerda/direita), Frontal. Tempo: ~10h.

  1. Soldei fios nos conectores dos motores DC para alimentação via ponte H;
  2. Motores fixados à estrutura com dois parafusos M3x40mm e porcas cada (parafuso menor funcionaria);
  3. Colei o painel frontal, que liga as outras partes da estrutura;
  4. Painel frontal tem furos no topo para fixação ao peito (seis parafusos M2x6mm).

Passo 11: Suporte do Celular

Joy Robot: Robô Inteligente com Arduino e ESP8266

Peça única impressa em ~1h. Projetado para Motorola Moto E (4.3"). Smartphones de tamanho similar servem. O celular é posicionado e pressionado contra o corpo usando o suporte e quatro parafusos M2x6mm. Importante: Conecte o cabo USB ao celular antes de apertar os parafusos. O espaço é limitado, tive que cortar parte do conector USB.

Passo 12: Montagem da Base

Joy Robot: Robô Inteligente com Arduino e ESP8266

Base: uma peça impressa em ~4h. Vários furos para componentes: rodas livres, placas de circuito. Procedimento:

  1. Instalar controlador de servo 16 canais (4 parafusos M2x6mm);
  2. Instalar ponte H L298N (4 parafusos M2x6mm);
  3. Instalar Arduino Uno (4 parafusos M2x6mm);
  4. Instalar ProtoShield no topo;
  5. Fazer a fiação (descrito adiante);
  6. Instalar rodas livres (2 parafusos cada). Fios ficam presos entre base e parafusos;
  7. Fixar base à seção das rodas com parafusos.

Passo 13: Traseira e Bateria

Joy Robot: Robô Inteligente com Arduino e ESP8266

Tampa traseira projetada para fácil acesso a circuitos, recarga de baterias e liga/desliga do smartphone. Seis peças: Traseira (esquerda/direita), Botões (x2), Travas (esquerda/direita). Tempo: ~5h30. Partes esquerda/direita coladas com super cola (espere secar completamente).

Bateria: duas 18650 + suporte. Soldei fios entre polo negativo da bateria 1 e positivo da bateria 2. Negativo do pack → GND do Arduino. Chave liga/desliga entre positivo do pack e Vin do Arduino. Chave fixada na traseira com parafuso M2x6mm e porca M2x1.5mm. Suporte da bateria fixado com quatro parafusos M2x6mm. Parte cilíndrica das travas lixada para melhor encaixe. Passam pelos furos da tampa; botões conectados e colados do outro lado. Tampa encaixa na traseira do robô; botões giram para travar.

Passo 14: Fiação dos Circuitos

Joy Robot: Robô Inteligente com Arduino e ESP8266

Arduino

ESP8266-01

L298N Ponte H

MAX7219 (Primeira Matriz)

MAX7219 (Demais Matrizes)

Controlador de Servo 16 Canais

Dois diodos em série após as baterias reduzem a tensão para ~6.0V (2×3.7V - 2×0.7V) para servos e motores DC. Não é o mais eficiente, mas funcionou.

Passo 15: Código do Arduino

Joy Robot: Robô Inteligente com Arduino e ESP8266

Instale a IDE do Arduino mais recente. Nenhuma biblioteca necessária para comunicação com ESP-8266 ou controle de motores DC.

Bibliotecas Necessárias

Estrutura do Código (9 Arquivos)

Baixe o código Arduino. Substitua XXXXX pelo SSID do seu roteador e YYYYY pela senha no arquivo '_80_Setup.ino'. Verifique o baudrate do seu ESP8266 e ajuste no código. Conecte o Arduino via USB e faça o upload.

Passo 16: Apps Android

Joy Robot: Robô Inteligente com Arduino e ESP8266

Um smartphone Android transmite vídeo e áudio do robô para a interface de controle. Apps usados:

Um jogo Android também foi projetado para interagir com o robô, mas ainda não está estável para download.

Passo 17: Interface de Controle

Joy Robot: Robô Inteligente com Arduino e ESP8266

Interface HTML para controle do robô. Baixe interface.rar, extraia e abra no Firefox. Dividida em dois blocos: à esquerda, displays de câmera e espelhamento de tela; à direita, botões de comando.

Caixas de texto para inserir: IP do ESP8266 ('Endereço IP Arduino:'), IP do servidor de vídeo/áudio do app IP Webcam ('IP Webcam (IP):'), IP do Screen Mirror ('Screen Mirror (IP):').

Na aba 'Ações predefinidas': 9 movimentos corporais e 13 faces pré-definidas. Na aba 'Ações personalizadas': ângulos individuais para cada um dos 6 servos, 9 opções de olhos e 8 variações de boca. Função JavaScript envia mensagem para o IP do ESP8266 a cada clique.

Setas do teclado movem o robô: frente/trás, girar esquerda/direita.

Ao iniciar, aviso pergunta se deseja compartilhar microfone. Se aceito, intensidade do som envia comando pré-configurado ao robô, disparando animação de fala na face. Botão de configurações (canto superior direito) ajusta sensibilidade do microfone e velocidade dos movimentos de braços/pescoço.

Passo 18: Divirta-se!

Joy Robot: Robô Inteligente com Arduino e ESP8266

Ligue e divirta-se! Se gostou, compartilhe com amigos e vote nos Concursos do Instructables! :D

Página do projeto

Código

Bibliotecas GitHub:

Peças Personalizadas e Enclosures

Processo de manufatura

  1. Raspoulette: Protótipo de Sistema Autônomo de Porta de Galinheiro Alimentado por Energia Solar
  2. Robô DIY Inspirado no Wall‑E com Caixa de CD e Raspberry Pi
  3. Robô Alarme Rolante: Sistema Móvel Inteligente de Despertar com Raspberry Pi e Google Calendar
  4. Construa um Robô Creeper Motorizado do Minecraft com Arduino
  5. Arquimedes: O Robô Coruja Sensor de Emoções com IA
  6. Construa Robô de Visão Computacional Controlado por Fala no Windows 10 IoT Core
  7. Robô ROS: Navegação Controlada por Terminal no Raspberry Pi
  8. Simple Pi Robot – Construa Rover Autônomo 2-WD com Raspberry Pi
  9. Kit de Robô de Navegação Interna Inteligente para Projetos Arduino
  10. Entendendo Motores Lineares: Da Energia Elétrica ao Movimento Linear Preciso