Projetos

Robô com Controle Remoto via Web Server

Eletrogate 14 de junho de 2022

Introdução

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.


Montagem

Comprando o Kit Chassi 2WD, você se deparou com esses componentes:

Peças que integram o kit chassi 2WD: a base, em acrílico, duas rodas com pneus, duas caixas redutoras com motor e eixo em 90 %, uma roda boba, 4 parafusos longos, 8 parafusos curtos, 8 porcas, um adaptador para 4 pilhas AA em série e 4 suportes, em acrílico, para as caixas de redução.

Kit chassi 2WD

Para nosso projeto, optamos por retirar a película protetora do acrílico, como mostra a imagem abaixo:

Película protetora sendo retirada com o auxilio de uma pinça.

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

Caixa de redução com a alça do motor solta. Para solta-la, é necessário puxar sua aba no sentido do eixo e, então, afasta-la do redutor. O faça com cuidado.

Alça do motor solta

Motor com fios soldados

Caixa com motor com terminais soldados

Para fixar o motor ao chassi:

  • Encaixe dois suportes para as caixas às fendas internas;
  • Coloque a caixa de forma que seus furos fiquem alinhados com os furos do suporte;
  • Encaixe o suporte externo com os furos alinhados e parafuse com a porca.

O resultado esperado pode ser visto abaixo:

As fendas para encaixe dos suportes ficam nas laterais da base, próximas a seu centro longitudinal, um pouco deslocadas para frente. São as únicas em que os suportes entram sem folga.

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

A roda boba deve ser fixada na parte traseira da base. A orientação que permite encaixe é a em que o maior comprimento da base da roda fica na direção transversal da base do chassi.

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.

Cada projeto terá uma área mais adequada para o posicionamento do adaptador para pilhas.

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ô.

A posição da bateria também depende da montagem anterior do projeto. Foram obtidos bom resultados ao passar a braçadeira pelas pequenas fendas longitudinais presentes em trios na região frontal da base.

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.

Seja a frente da placa a região em que estão os pinos digitais, também a frente do CI da ponte. À esquerda, estão os conectores referentes ao motor B. À direita, os referentes ao A. Na frente, da esquerda para a direita, estão os pinos: ENABLE do motor B; IN4; IN3; IN2; IN1; ENABLE do motor A; 5 V do módulo (entrada ou saída); GND e entrada de potência, que pode receber entre 6 e 35 V. Cada pino ENABLE faz par com um pino de 5 V, posicionado próximo a ele. Atrás dos 3 últimos, próximo dos conectores referentes ao motor A, consta um par de pinos para o acionamento do regulador embutido na placa. Quando este par está conectado, o pino de 5 V deve ser utilizado como saída de tensão, somente, e a linha de 5 V do módulo estará alimentada pelo regulador.

Pinagem do módulo de ponte H

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:

A distribuição dos componentes superiores também depende da montagem do projeto. É interessante manter o ESP distante do circuito de potência, visando evitar interferências eletromagnéticas.

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 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:

  • Carregue o código abaixo na Uno;
void setup() {
  Serial.begin(9600);
}

void loop() {
  Serial.print(analogRead(A0) * 5.0 / 1024); Serial.println(" V");
  delay(500);
}
  • Conecte o conversor à Uno como no esquemático abaixo;
Conexão para ajuste da saída do conversor. O pino IN+ do conversor deve ser conectado ao 5V da Uno, o OUT+ ao A0 e IN- e OUT- ao GND.

Conexão para ajuste da saída do conversor.

  • No IDE, abra o monitor serial;
O monitor serial do IDE pode ser acessado pelo íconê de lupa, no canto superior esquerdo da janela.

Ícone para acesso ao monitor serial do IDE.

  • Ajuste o trimpot do conversor até que os valores enviados pela Uno estejam entre 3.3 e 3.4 V;
O trimpot se localiza em uma das laterais do conversor e deve ser ajustado com auxilio de uma pequena chave de fenda.

Trimpot do conversor.

No monitor serial, serão exibidas as leituras da tensão do conversor.

Leituras adequadas.

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.

Para descrever as conexões do circuito, segue uma lista com todos os pinos envolvidos. Nesta, os que estiverem separados por vírgula estão conectados entre si e os conjuntos separados por ponto final não estão conectados. Para conectar pares de pinos da ponte H, recomendamos utilizar conectores mini jumper. A melhor forma de realizar as conexões vai depender da montagem do projeto. Entretanto, para conexões que envolvam mais de um pino, recomendamos utilizar as trilhas vagas da protoboard. Caso a rotação de algum dos motores fique contrária ao sentido esperado, basta inverter suas respectivas conexões. positivo do motor B, OUT3 do módulo ponte H. negativo do motor B, OUT4 do módulo ponte H. positivo do motor A, OUT1 do módulo ponte H. negativo do motor A, OUT2 do módulo ponte H. pino A do par de pinos do conversor, pino B do par de pinos do conversor. ENABLE do motor A, pino de 5 V com o qual faz par. ENABLE do motor B, pino de 5 V com o qual faz par. entrada de potência da ponte H, chave soldada ao fio do adaptador de pilhas. GND da ponte H, GND da Uno, negativo do adaptador de pilhas. IN1 da ponte h, 3 da Uno. IN2 da ponte h, 5 da Uno. IN3 da ponte h, 9 da Uno. IN4 da ponte h, 10 da Uno. GP0 do adaptador para ESP, 4 da Uno. TXD do adaptador para ESP, 0 da Uno. pino 1 do resistor de 1 kohm, 2 da Uno. pino 2 do resistor de 1 kohm, base do transistor. emissor do transistor, GND do conversor de tensão, GND do adaptador para ESP. coletor do transistor, pino 1 do resistor de 22 kohm, GP2 do adaptador para ESP. pino 2 do resistor de 22 kohm, OUT+ do conversor de tensão, Vcc do adaptador para ESP, RST do adaptador para ESP, CHPD do adaptador para ESP. GND da bateria, GND do conversor de tensão, GND da Uno. chave soldada ao fio do adaptador da bateria, IN+ do conversor de tensão, Vin da Uno.

Esquema de ligação elétrica do sistema

O robô, montado, ficará assim:

robô montado

robô montado

robô montado


Os Códigos

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:
Janela do repositório. Para o clonar ou baixar, deve-se clicar no botão "code", que exibirá uma janela de seleção de método de aquisição do projeto.

Primeira etapa para download dos códigos

  • Após, selecione “Download ZIP”, destacado em azul:
Janela de download do arquivo ZIP do projeto. Deve-se selecionar a ultima opção.

Segunda etapa para download dos códigos

  • Com o arquivo baixado, extraia-o para o local de preferência:
Pasta do projeto descompactada. Nesta, estão a página "src", com os códigos fonte; o .gitignore, com a lista de arquivos que devem ser ignorados pelo versionador; o esquemático do hardware, como arquivo do fritzing; o arquivo da licença e o "readme".

Pasta do projeto descompactada

  • Para carregar o programa da Uno nesta, acesse o código pelo caminho ./src/arduino_main/arduino_main.ino, conecte-a ao computador, selecione placa e porta corretas e, então, carregue-o normalmente.
Pasta "arduino_main". Nesta, estão os arquivos "arduino_main.ino" e "constantes.h"

Pasta “arduino_main”

Menu "Ferramentas" com as opções referentes ao carregamento na Uno selecionadas. Em placa, deve-se selecionar "Arduino Uno" e em porta, a porta à qual a placa estiver conectada.

Menu ferramentas com seleção adequada ao carregamento na Uno

  • Para que o ESP fique em modo de programação, é necessário que, em sua inicialização -quando a alimentação é conectada-, o pino GPIO0 esteja conectado ao GND. Isso pode ser feito ao encaixar parte do terminal de um resistor PTH entre os encaixes destes respectivos pinos no adaptador para USB. A parte do terminal deve ter, aproximadamente, o tamanho visto na imagem abaixo: 16 mm.
A parte do terminal que será utilizada como conector deve ter, aproximadamente, 16 mm. Retirando-a, restam cerca de 10 mm para conectar o resistor na protoboard.

Tamanho da parte do terminal a ser utilizada

  • Corte esta parte e a dobra como na imagem abaixo. A distância entre as duas pontas deve ser de, aproximadamente, 5 mm. Entretanto, a extensão do segmento central do novo conector deve ser superior a 5 mm, permitindo que o centro deste seja dobrado no plano perpendicular ao formado pelos seguimentos que serão inseridos no adaptador junto aos pinos, de forma a não interferir na conexão do pino GPIO2.
Terminal dobrado conforme descrição anterior.

Conector devidamente dobrado

  • Com o adaptador desenergizado, encaixe o conector ao adaptador USB, conectando os pinos GPIO0 e GND, conforme imagem a seguir. É necessário que o vértice central do conector esteja para fora da região dos pinos.
Terminal encaixado no adaptador USB. Tomando como cima a direção do conector USB em relação ao adaptador, os pinos que devem ser conectados são o primeiro e o terceiro da fileira superior.

Conector encaixado no adaptador USB

  • Ainda antes de conectar o adaptador ao computador, encaixe, com cuidado, a ESP01 no adaptador.
ESP e conector conectados ao adaptador.

ESP01 conectado ao adaptador USB com conector entre GND e GPIO0

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.

Detalhamento visual das instruções para instalação da biblioteca. Nas opções dos arquivos baixados, clique em "Extract Files…" ou "Extrair Arquivos… ". Após, selecione a pasta de bibliotecas do IDE. Por fim, clique em "OK".

Instalação das bibliotecas

  • Para carregar o programa do ESP neste, acesse o código pelo caminho ./src/esp_main/esp_main.ino; conecte-o, utilizando o adaptador com o ajuste de carregamento, ao computador e, no menu “Ferramentas”, selecione
    • a placa “Generic ESP8266 Module”;
    • em “Flash Size”, a opção “1MB (FS:512KB OTA:~246KB)”;
    • em “Erase Flash”, “All Flash Contents”
    • e a porta COM à qual o módulo está conectado.
  • Após, carregue-o normalmente.
Pasta "esp_main". Nesta, estão a página "data" e os arquivos "esp_main.ino", "constantes.h" e "paginaBase.h".

Pasta “esp_main”

Menu "Ferramentas" com as opções referentes ao carregamento no ESP selecionadas. Em placa, deve-se selecionar "Generic ESP8266 Module"; em "Flash Size", 1MB (FS: 512KB OTA:~246KB)"; em "Erase Flash", "All Flash Contents" e, em "Porta", a porta COM à qual o módulo está conectado.

Menu “Ferramentas” com as opções referentes ao carregamento no ESP selecionadas

  • Após carregar o programa, é necessário armazenar alguns arquivos na memória flash do ESP e, por isso, será necessário utilizar a LittleFS. Clique aqui para baixar esta ferramenta. Até então, ela só foi testada, por nós, na versão 1.8.19 do IDE. Para integra-la ao sistema:
    • crie, na pasta de diretórios do IDE -geralmente Documentos/Arduino-, uma pasta chamada “tools”.
Pasta "Arduino", em "Documentos". Nesta, estão as pastas "libraries", criada pelo IDE quando alguma biblioteca é baixada pelo gerenciador de bibliotecas, e "tools", recém criada pelo usuário. Na segunda, será descompactada a ferramenta de carregamento de arquivos na flash do ESP.

Pasta de diretórios do IDE

    • Então, descompacte, na página recém criada, o arquivo baixado pelo link acima. Para isso, clique, sobre esse, com o botão direito do mouse; selecione “Extract files” ou “Extrair arquivos”; selecione a pasta e, por fim, clique em “OK”.
Menu exibido pelo clique com o botão direito do mouse sobre o arquivo baixado. Para selecionar o local de descompactação da pasta, clique na segunda opção referente ao WinRAR, "Extrair Arquivos".

Menu do arquivo zip

Opções de extração do arquivo baixado. Deve-se selecionar o caminho que leva à pasta "tools", recém criada, incluindo ela.

Opções de extração do arquivo

    • Se o IDE estiver em execução, reinicie-o. Se os passos forem seguidos corretamente, o recurso “ESP8266 LittleFS Data Upload” está disponível na terceira divisão do menu “Ferramentas” deste.
Menu "Ferramentas" do Arduino IDE. Se a instalação da LittleFS foi bem sucedida, esta estará disponível na terceira divisão desse.

Menu “Ferramentas” do Arduino IDE

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ô.


Como Usar

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.

Gerenciador de WiFi do smartphone exibindo a rede "ROBO_ELETROGATE" e uma mensagem que indica que está conectado, mas sem internet.

Gerenciador de WiFi do smartphone exibindo a rede “ROBO_ELETROGATE”

É 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

Página do joystick conectada pelo AP. Nesta, estão o joystick, utilizado para enviar os dados pertinentes ao movimento do robô, e três botões que permitem acesso a, de cima para baixo: o gerenciador de wifi, a loja e o blog.

Página do joystick conectada pelo AP

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.

Gerenciador de redes do robô. Neste, constam, de cima para baixo, 4 campos de texto, respectivamente, SSID, Senha, IP e gateway, 1 botão, em que está escrito "Cadastrar", o título "Credenciais Cadastradas", uma lista de seleção ao lado de um botão, em que está escrito "Apagar", abaixo, um botão em que está escrito "joystick" e, por fim, a frase "robô não conseguiu se conectar".

Gerenciador de WiFi do robô

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:

  • se preenchidos, o robô tentará, na rede cadastrada, ocupar o IP e se comunicar com o Gateway informados. Caso seja informado um IP bloqueado ou o Gateway incorreto, não será possível se comunicar com o robô enquanto este estiver conectado a esta rede.
    • Por esta opção, quando o robô se conecta à rede, não é acionado um novo AP para verificação do IP, visto que será o configurado pelo usuário. Assim, para acessar o joystick, basta conectar seu smartphone à rede cadastrada e acessar, por algum navegador, o IP cadastrado.
Página do joystick conectada pelo STA. Nesta, estão o joystick, utilizado para enviar os dados pertinentes ao movimento do robô, e três botões que permitem acesso a, de cima para baixo: o gerenciador de wifi, a loja e o blog.

Página do joystick conectada pelo STA

  • Se deixados em branco, o robô usará o IP e o Gateway fornecidos pelo ponto de acesso ao qual estiver conectado.
    • Neste caso, o AP será, novamente, acionado. Para verificar por qual IP será possível acessar o robô pela rede cadastrada, conecte-se à rede gerada pelo robô, entre na página do IP 192.168.4.1 e, então, toque em “Gerenciar WiFi”.
Gerenciador de redes do robô. Neste, constam, de cima para baixo, 4 campos de texto, respectivamente, SSID, Senha, IP e gateway, 1 botão, em que está escrito "Cadastrar", o título "Credenciais Cadastradas", uma lista de seleção ao lado de um botão, em que está escrito "Apagar", abaixo, um botão em que está escrito "joystick", texto em que constam o IP atribuído ao robô pela rede e seu respectivo gateway e, abaixo, um botão em que está escrito "Desligar AP".

Gerenciador de WiFi exibindo o IP atribuído ao robô pela rede e seu respectivo gateway

    • Após, conecte o smartphone à rede cadastrada, acesse o IP informado pela página e toque em “Gerenciar WiFi”.
Gerenciador de redes do robô. Neste, constam, de cima para baixo, 4 campos de texto, respectivamente, SSID, Senha, IP e gateway, 1 botão, em que está escrito "Cadastrar", o título "Credenciais Cadastradas", uma lista de seleção ao lado de um botão, em que está escrito "Apagar", abaixo, um botão em que está escrito "joystick", texto em que constam o IP atribuído ao robô pela rede e seu respectivo gateway e, abaixo, um botão em que está escrito "Desligar AP".

Gerenciador de WiFi exibindo o IP atribuído ao robô pela rede e seu respectivo gateway, acessada pela rede cadastrada

    • Toque em “Desligar AP”.
Gerenciador de redes do robô. Neste, constam, de cima para baixo, 4 campos de texto, respectivamente, SSID, Senha, IP e gateway, 1 botão, em que está escrito "Cadastrar", o título "Credenciais Cadastradas", uma lista de seleção ao lado de um botão, em que está escrito "Apagar", um botão em que está escrito "joystick" e, abaixo, texto em que constam o IP atribuído ao robô pela rede e seu respectivo gateway.

Gerenciador de WiFi exibindo o IP atribuído ao robô pela rede e seu respectivo gateway. Acessado pela rede cadastrada e com o AP já desligado.

    • Por fim, toque em “Joystick”.
Página do joystick conectada pelo STA. Nesta, estão o joystick, utilizado para enviar os dados pertinentes ao movimento do robô, e três botões que permitem acesso a, de cima para baixo: o gerenciador de wifi, a loja e o blog.

Página do joystick conectada pelo STA

Há um atalho para, caso necessário, apagar todas as credenciais salvas sem a necessidade de acessar o gerenciador de WiFi. Para utiliza-lo:

  • desligue, totalmente, o robô;
  • conecte, com um jumper, os pinos RXD e GND do adaptador para o ESP, como mostra o diagrama abaixo, em que a conexão é feita com um jumper laranja;
Conexão para a exclusão de todas as credenciais salvas. Mostra, em um diagrama feito no fritzing, um jumper laranja conectando os pinos RXD e GND do adaptador para ESP.

Conexão para a exclusão de todas as credenciais salvas.

  • ligue o robô e aguarde até que o LED, geralmente azul, conectado ao pino TXD comece a piscar;
  • desligue o robô;
  • retire o jumper que conecta o pino RXD ao GND;
  • ligue o robô e o use normalmente.

Funcionamento

Tenha a Metodologia Eletrogate na sua Escola! Conheça nosso Programa de Robótica Educacional.


Sobre os Autores


Eduardo Henrique

Formado técnico em mecatrônica no CEFET-MG, atualmente estuda Engenharia de Controle e Automação na UFMG.


Samuel Martins
@samuel.martins192

Cursando Eletroeletrônica no SENAI CETEL. Fanático por eletrônica, automação, impressão 3D e afins, dedico meu tempo livre a pesquisas e projetos ligados às principais áreas de interesse, pratico aeromodelismo e sou curioso por astrofotografia.


Eletrogate

14 de junho de 2022

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.

Conheça a Metodologia Eletrogate e Lecione um Curso de Robótica nas Escolas da sua Região!

Eletrogate Robô

Cadastre-se e fique por
dentro de novidades!