Anteriormente, fizemos um post ensinando a montar um robô controlado pelo bluetooth do celular. Este robô, por mais impressionante e divertido que seja, possuía duas limitações: o app para controla-lo estava disponível somente para aparelhos android e o alcance do bluetooth é, relativamente, pequeno. Neste post, mostraremos como montar e configurar uma nova versão deste projeto, implementando a comunicação por WiFi e o controle por meio de Web Server. Tal modelo permitirá que o robô seja controlado por qualquer aparelho com acesso aos principais navegadores e por distâncias maiores.
Para este projeto, precisaremos de:
Componentes do robô
Comprando o Kit Chassi 2WD, você se deparou com esses componentes:
Kit chassi 2WD
Para nosso projeto, optamos por retirar a película protetora do acrílico, como mostra a imagem abaixo:
Processo de retirada da película de proteção do acrílico
O primeiro passo da construção do robô é soldar os respectivos fios aos terminais dos motores. Para isso, primeiro, tiramos o motor de sua caixa de redução, removendo a alça que os une. Após tira-los, soldamos os fios e os colocamos de volta.
Caixa de redução com motor
Alça do motor solta
Motor com fios soldados
Caixa com motor com terminais soldados
Para fixar o motor ao chassi:
O resultado esperado pode ser visto abaixo:
Caixas fixadas no chassi
Caixas com rodas
A seguir, instalaremos a roda boba. Instalaremos os extensores ao suporte da roda e, então, iremos os parafusar ao chassi do robô, como mostram as seguintes imagens:
Roda boba com extensores montados
Roda boba montada no robô
Antes de posicionarmos os componentes de alimentação, devemos preparar seus interruptores. Tanto no suporte para as pilhas quanto no adaptador para bateria, corte o fio vermelho próximo ao item, solde uma parte a um terminal da chave gangorra e outra parte ao outro terminal.
Adaptador e suporte com chaves soldadas
Agora, fixaremos o suporte para pilhas na parte inferior do chassi. Estamos utilizando fita dupla face, mas cola quente também pode ser utilizada.
Suporte para pilhas colado na parte inferior do chassi
A bateria não será colada no chassi. Assim, evitaremos a necessidade de constantemente cola-la novamente ou trocar a fita. Para fixa-la, utilizaremos uma braçadeira de nylon. Com aperto suficiente, a bateria ficará firmemente fixada no chassi. Abaixo, você pode verificar como ficou em nosso robô.
Bateria fixada na parte inferior do chassi
Para controlar os motores, utilizaremos o módulo de ponte H L298N. A pinagem do módulo pode ser vista abaixo.
Atenção: a entrada de 5 V não será utilizada, porque a tensão lógica será fornecida pelo regulador do módulo
A protoboard na qual o adaptador do ESP será encaixado, o módulo da ponte H e o Arduino foram fixados na parte superior do chassi. Diversas distribuições destes componentes ao longo dessa superfície podem ser adotadas. Abaixo, como ficou a nossa:
componentes superiores fixados no chassi
componentes superiores fixados no chassi
Para fornecer energia ao módulo e aos motores, conectaremos os terminais do suporte para pilhas nas entradas de alimentação do módulo. Nessa etapa, conecte, junto ao fio de GND do suporte, um jumper na entrada de GND do módulo. Esse será utilizado para manter o módulo na mesma referência dos demais componentes. Para alimentar o Arduino e o ESP, conectaremos os terminais da bateria às entradas de energia do Arduino e do conversor que fornecerá tensão para o ESP. Após isso, encaixe o ESP no adaptador e o adaptador na protoboard, prestando atenção na seta, no adaptador, que indica a posição correta da conexão.
Devemos, por fim, inserir os componentes responsáveis por converter o sinal lógico do Arduino para o ESP. Tal conversão não pode, neste caso, ser feita por um simples divisor resistivo, porque isso faria com que a GPIO2 do ESP estivesse em nível lógico baixo quando este fosse ligado, o colocando em modo de programação. Utilizaremos, então, um transistor NPN que manterá o pino em nível alto durante a inicialização e o passará para nível baixo quando o Arduino estiver pronto para receber dados.
Por fim, devemos conectar os pinos pendentes. Para nosso projeto, com o código que será mostrado adiante no post carregado no Arduino, todas as conexões do sistema podem ser vistas no esquemático abaixo.
Esquema de ligação elétrica do sistema
O robô, montado, ficará assim:
robô montado
robô montado
robô montado
Para ter acesso aos códigos deste kit, acesse o respectivo diretório em nosso perfil do Github. Se você já possui conta no Git, sugerimos que clone o repositório em seu PC, facilitando o acompanhamento das atualizações no projeto. Para baixar os códigos sem o uso de recursos de versionamento, siga o passo-a-passo:
No repositório, clique em “code”, em verde:
Primeira etapa para download dos códigos
Após, selecione “Download ZIP”, destacado em azul:
Segunda etapa para download dos códigos
Com o arquivo baixado, extraia-o para o local de preferência. Para o Arduino, na configuração de conexões vista na montagem, desenvolvemos o arduino_main. (O Uno é enviado com o programa Blink, como é recebido e, portanto, deve ser programado para funcionar com o projeto. Recomendamos que o kit seja testado utilizando o código em arduino_main antes do desenvolvimento de algoritmos próprios, o que dará a segurança de que o hardware estará funcionando adequadamente.) Para o ESP8266, que, neste projeto, assume o papel de mestre e hospedeiro do WebServer, foram desenvolvidos os códigos e arquivos encontrados em esp_main. Repare que, no caso de alteração do programa, é necessário enviar os arquivos em data para o ESP, conforme ensina nosso post sobre o tema.
Para controlar o robô, é necessário um aparelho que consiga se conectar a redes WiFi de 2.4 GHz e um navegador (google, firefox, safari, edge, opera, etc). Enquanto o robô não estiver conectado às redes de WiFi disponíveis no local, para controla-lo, deve-se seguir as etapas a seguir:
Ao ligar o robô, conecte o celular à rede “ROBO_ELETROGATE”. Sua senha, por padrão, é “12345678”, mas pode ser alterada no código.
redes detectadas pelo aparelho
Conectado ao ponto de acesso do robô, pesquise, no navegador de preferência, o IP: 192.168.4.1:81/
Será aberta a página vista abaixo.
tela principal do gerenciador de WiFi
Então, se quiser conectar o robô a alguma rede WiFi, selecione “Configure WiFi”. Neste caso, será apresentada uma lista com as redes detectadas pelo robô.
redes detectadas pelo ESP
Selecione sua rede, preencha o campo referente à senha e clique em “Save”.
campos a serem preenchidos com as credenciais da rede selecionada
Aguarde alguns segundos, conecte-se novamente à rede “ROBO_ELETROGATE” e abra o endereço 192.168.4.1/IP para verificar em qual IP o robô pode ser encontrado em sua rede.
pagina de exibição do IP atribuído pela rede ao ESP
Conecte-se a sua rede e, no navegador, digite o IP visto na página anterior. Pronto! Agora, é só controlar o robô.
tela com o joystick do robô
Caso não queira conectar o robô ao WiFi, usando-o somente em modo AP, na primeira tela, selecione “Exit”. Na versão atual deste projeto, clicar em “Exit” irá apagar as credenciais de WiFi salvas.
opção para controle por AP
Então, reconecte-se à rede “ROBO_ELETROGATE” e acesse o endereço 192.168.4.1 para controlar seu robô.
tela com joystick do robô conectada pela rede do ESP
Quando o robô já estiver conectado a uma rede WiFi, suas credenciais estarão salvas e a tela inicial da página será ignorada. Neste caso, ao ligar o robô, já será possível o controlar diretamente pelo IP concedido a ele pelo roteador. Para verificar, novamente, este IP, conecte-se à rede ROBO_ELETROGATE e acesse o endereço 192.168.4.1/IP. Nessa rede é possível, também, controlar o robô por meio do endereço 192.168.4.1.
|
|
A Eletrogate é uma loja virtual de componentes eletrônicos do Brasil e possui diversos produtos relacionados à Arduino, Automação, Robótica e Eletrônica em geral.