Rover controlado por telefone acessível: 6 etapas
Rover controlado por telefone acessível: 6 etapas
Anonim
Image
Image
Crie a GUI
Crie a GUI

Um tempo atrás, fiz um rover controlado por telefone usando o MotorAir. Eu queria revisitar a ideia básica, mas usando peças mais baratas e mais amplamente disponíveis. Além disso, como é baseado no Arduino, é um grande trampolim para mais do que apenas um rover que se locomove. Você pode adicionar sensores, servos, etc. para realmente conduzir este projeto em qualquer direção que você quiser (viu o que eu fiz lá?).

Etapa 1: Criar a GUI

Crie a GUI
Crie a GUI
Crie a GUI
Crie a GUI

Este projeto usa remotexy.com, que é um serviço muito legal que oferece um criador de GUI drag'n'drop para fazer seu próprio aplicativo para controlar seu projeto de robótica a partir de seu dispositivo móvel. Isso torna este projeto viável para muitas pessoas para as quais, de outra forma, estaria fora do alcance. Ele pode funcionar com uma variedade de microcontroladores (principalmente arduino) e técnicas sem fio (Bluetooth, WiFi, nuvem, Ethernet - ok, aquele não é sem fio).

Optei por um Arduino Pro Mini 5V e um HC-05 porque já os tinha de outros projetos. Embora o HC-05 seja compatível apenas com o Android, se você tiver um dispositivo Apple, pode preferir usar o HM-10. Felizmente, sua biblioteca resume e encapsula todas as idiossincrasias de trabalhar com todas essas tecnologias diferentes para que você possa se concentrar na GUI e nas partes do seu projeto que são únicas!

Então, primeiro selecionei a configuração que queria (quais placas estava usando). Em seguida, arrastei os elementos de controle que queria da coluna da esquerda e defini algumas propriedades para eles na coluna da direita. Em seguida, cliquei no botão verde Obter código-fonte e voila, a maior parte do trabalho foi feito para mim. Instalei a biblioteca deles em meu IDE Arduino, baixei o código que foi gerado e comecei a trabalhar nele localmente em meu IDE.

Etapa 2: personalizar o código

O código que o RemoteXY criou para nós está pegando as coordenadas de um joystick virtual e tornando-as acessíveis ao nosso esboço do Arduino.

Agora precisamos adicionar algum código adicional para fazer algo com base na localização do joystick. Basicamente, o esboço inclui …

  • o código RemoteXY que é tudo que você precisa para obter as coordenadas do joystick virtual
  • uma função de mistura para misturar as coordenadas X e Y
  • uma função de movimento para enviar comandos ao controlador do motor

na função de loop, o código obtém as coordenadas X e Y atuais do joystick, as mistura para determinar a velocidade que cada canal do motor deve estar indo e, em seguida, envia um comando ao controlador do motor para girar nessa velocidade e direção.

Se estiver usando um Arduino Pro Mini, você precisará de uma placa de breakout FTDI antes de carregar seu esboço para o Arduino porque o Arduino Pro Mini não tem uma porta USB. Basta usar o FTDI como intermediário entre o USB e o Arduino.

Você pode obter o código que usei aqui:

Etapa 3: Eletrônica e fiação

A Eletrônica e Fiação
A Eletrônica e Fiação
A Eletrônica e Fiação
A Eletrônica e Fiação
A Eletrônica e Fiação
A Eletrônica e Fiação

Neste projeto usei um Arduino Pro Mini (5V), um controlador de motor TB6612FNG e um adaptador bluetooth HC-05. Juntos, gastei menos de $ 13 com essas peças … embora eu tenha comprado cerca de 1,5 ano atrás e o lugar onde os comprei não os tenha mais. Mas, anime-se, eles ainda podem ser encontrados na Amazon e em outras lojas online de forma bastante barata se você fizer compras. Obviamente, você obterá um preço por placa melhor se puder encontrar um pacote múltiplo que funcione bem se você fizer uma placa personalizada para conectá-los todos, já que vem em um pacote de 3. Além disso, todas essas placas são muito versáteis e ter alguns extras espalhados (ou para usar como substitutos se você deixar a fumaça sair) vale a pena na minha opinião.

O controlador de motor TB6612FNG é um ótimo controlador de motor para qualquer um dos chassis Runt Rover porque os motores usados neles puxam apenas 0,25 A em estol e esse controlador de motor pode lidar com 1,5 A por canal.

Eu originalmente testei isso com fios de jumper plugados em uma placa de ensaio sem solda, mas depois limpei tendo uma placa feita no OSH Park. Isso o tornou mais limpo, compacto e durável. Agora só preciso conectar meus componentes quando quiser usá-los ou posso facilmente retirá-los para emprestá-los para outro projeto.

Etapa 4: o chassi

O chassi
O chassi
O chassi
O chassi
O chassi
O chassi

Fiquei animado para usar a bandeja de bateria 6xAA, que tem um conector de bateria de 9v na parte superior, porque 9v é o ponto ideal para a maioria das placas Arduino. Eu queria fora do caminho, mas de fácil acesso. Decidi que usar alguns ímãs seria uma maneira inteligente de montar a bandeja da bateria. Então fiz um furo na bandeja da bateria para montar um ímã com firmeza, escondi a porca quadrada dentro de uma das molas … fica um pouco confortável, mas funciona muito bem.

Para montar o outro ímã no interior do chassi, descobri (de todas as coisas) que um suporte para correia dentada funciona perfeitamente. Uma vez que os opostos se atraem, usei um ímã que é escareado no lado norte e outro que é escareado no lado sul. Os parafusos de cabeça chata que usei para montá-los se encaixam perfeitamente no rebaixador. Cobri o ímã na bandeja da bateria com algumas camadas de fita isolante. Isso reduzirá um pouco a força da atração e proporcionará um pouco de amortecimento quando eles ficarem juntos e, se por algum motivo um dos ímãs quebrar, será um trabalho de limpeza mais fácil.

Etapa 5: emparelhe o aplicativo com o seu projeto

Assim, sua GUI é criada, seu código é escrito e carregado em seu Arduino e seu projeto é conectado. Agora é hora de aplicar energia ao seu projeto conectando a bateria. Em seguida, você precisará emparelhar seu projeto com o telefone, como faria com qualquer dispositivo bluetooth. No meu telefone Android (executando Android OxygenOS), eu precisei deslizar duas vezes de cima para baixo na tela, clicar na engrenagem, em Bluetooth e selecionar HC-05 na lista de dispositivos disponíveis. Em seguida, digitei o PIN que era 1234.

Etapa 6: Abra o aplicativo e o Drive

Depois de emparelhar o telefone e o projeto bluetooth, abra o aplicativo Remote XY Free (se ainda não o fez, agora é um bom momento para instalá-lo a partir da Google Play Store). Se esta é a primeira vez que o executa, você precisa clicar no botão + no canto superior direito, escolher bluetooth e, em seguida, selecionar o HC-05 na lista. No futuro, ao abrir o aplicativo Remote XY, você verá um botão azul HC-05 que será pressionado para entrar na interface do projeto.

Depois de entrar na GUI projetada anteriormente, você pode arrastar o joystick e seu rover deve começar a se mover! Parabéns! Você sabe que fez seu próprio rover controlado por telefone! Assim que estiver familiarizado com esta configuração, você pode começar a pensar em ideias para seus próprios complementos e melhorias para levar este rover simples para o próximo nível.

Recomendado: