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:
Comprando o Kit Chassi 2WD, você se deparou com esses componentes:
Para nosso projeto, optamos por retirar a película protetora do acrílico, como mostra a imagem abaixo:
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.
Para fixar o motor ao chassi:
O resultado esperado pode ser visto abaixo:
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:
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.
Agora, fixaremos o suporte para pilhas na parte inferior do chassi. Estamos utilizando fita dupla face, mas cola quente também pode ser utilizada.
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ô.
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:
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 a Uno e o ESP, conectaremos os terminais da bateria às entradas de energia da Uno e do conversor que fornecerá tensão para o ESP. Atenção: antes de conectar o adaptador do ESP ao conversor de tensão, é necessário ajustar a saída do segundo para 3.3 V. Tensões superiores a esta danificam a módulo e inferiores são insuficientes para seu funcionamento. Para ajustar, com segurança, a tensão saída do conversor, sem precisar de um multímetro:
void setup() { Serial.begin(9600); } void loop() { Serial.print(analogRead(A0) * 5.0 / 1024); Serial.println(" V"); delay(500); }
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.
O robô, montado, ficará assim:
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:
Após cada carregamento, seja do programa ou dos arquivos, é necessário desconectar e reconectar o adaptador ao computador. Não é necessário alterar a posição ou desconectar o conector.
• No código, são utilizadas duas bibliotecas não embutidas: ESPAsyncWebServer e ESPAsyncTCP. Estas devem ser baixadas, respectivamente, de https://github.com/me-no-dev/ESPAsyncWebServer/archive/refs/heads/master.zip e https://github.com/me-no-dev/ESPAsyncTCP/archive/refs/heads/master.zip.
• Após baixados os arquivos zip, ambos devem ser descompactados na pasta de bibliotecas do IDE -geralmente, Documentos/Arduino/libraries.
Carregar o programa pode apagar os arquivos salvos na Flash. Por isso, o faça, caso ainda não tenha. Após, retire o adaptador da porta USB; insira-o novamente e, então, clique em “ESP8266 LittleFS Data Upload” para carregar os arquivos. Depois, conecte o ESP-01 ao adaptador para protoboard, no robô.
Quando o robô é ligado pela primeira vez, não há credenciais de rede cadastradas nele. Por isso, será criada uma rede chamada “ROBO_ELETROGATE”. Sua senha é, por padrão, 123456789. Entretanto, pode ser alterada no arquivo constantes.h.
É necessário conectar o aparelho a esta para acessar a interface do robô pela primeira vez. Ela não possui conexão com a internet e, portanto, o aparelho pode se desconectar automaticamente. Caso aconteça, deve-se, nas configurações do smartphone, desabilitar a desconexão automática. Com o smartphone conectado à rede do robô, acesse, em algum navegador, o endereço 192.168.4.1
Por esta página, já é possível controlar o robô. Entretanto, a conexão por AP é menos responsiva e consome mais energia, reduzindo sua autonomia. Assim, o ideal é conecta-lo a algum ponto de acesso e o controlar a partir deste. Para isso, ainda conectado à rede “ROBO_ELETROGATE”, toque o botão “Gerenciar WiFi”, visto abaixo do joystick.
No primeiro acesso ao gerenciador, o robô indica que não conseguiu se conectar a redes externas. Para cadastrar uma rede, é obrigatório preencher o campo “SSID” e, caso a rede possua senha, o campo “Senha”. Os campos IP e Gateway são opcionais:
Há um atalho para, caso necessário, apagar todas as credenciais salvas sem a necessidade de acessar o gerenciador de WiFi. Para utiliza-lo:
Tenha a Metodologia Eletrogate na sua Escola! Conheça nosso Programa de Robótica Educacional.
|
|
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.
Tenha a Metodologia Eletrogate dentro da sua Escola! Conheça nosso Programa de Robótica nas Escolas!