Tanque no painel de controle arduino. Fazemos um tanque controlado por rádio no Arduino Nano. Tenho que fazer isso se mover

tanque arduino com controle bluetoothé um ótimo exemplo de como facilmente e sem conhecimento especial você pode transformar um tanque comum controlado por rádio em um brinquedo legal controlado por um dispositivo Android. Além disso, você nem precisa editar o código, tudo será feito por um software especializado. Você pode ter lido meu artigo anterior sobre como converter um modelo de carro controlado por rádio em controle. Com um tanque, tudo é quase igual, só que ele ainda pode girar a torre e mudar o ângulo de elevação do cano.

Para começar, apresento breve revisão as possibilidades do meu ofício:

Agora vamos colocar tudo em ordem.

Tanque Arduino com controle bluetooth - hardware.

A coisa mais importante no hardware é chassis, ou seja, corpo. Nada sairá disso sem o próprio tanque. Ao escolher um estojo, preste atenção ao espaço livre interno. Teremos que colocar um número impressionante de componentes lá. Encontrei essa opção e trabalharemos com ela.

Doador do nosso projeto.

Inicialmente estava com defeito. Queria restaurá-lo, porém, horrorizado com a qualidade de construção da placa de trabalho, decidi que a alteração seria mais confiável. Sim, e vou agradar as crianças com um velho gadget controlado de uma nova maneira.

Dimensões: 330x145x105 mm sem barril. O casco está equipado com quatro motores: dois para movimento, um para a torre e outro para o cano. Inicialmente, o tanque poderia disparar balas de borracha, mas o mecanismo estava quebrado, então simplesmente cortei o cano. Depois disso, havia espaço suficiente para colocar o recheio.

Baixe e instale o programa no site oficial e instale, a versão portátil pode ser simplesmente descompactada. Em seguida, abra meu arquivo de projeto nele e clique no botão de firmware na parte superior da interface (sétimo a partir da esquerda).

Interface FLProg

O ArduinoIDE vai abrir, mas você sabe trabalhar nele 😀 .

Tanque Arduino com controle bluetooth - diagrama de fiação

Conectamos elementos periféricos à placa, no nosso caso, bluetooth, bridges e leds de acordo com o projeto.

Lista de pinos usados

A lista mostra os números dos pinos do arduino e sua finalidade. Tudo é comentado. Os contatos de controle de movimento e torre são conectados diretamente das pontes, nenhum kit de carroceria adicional é necessário. A conexão de uma entrada analógica para medição de tensão deve ser feita através de um divisor resistivo, pois a tensão onboard do arduino é CINCO VOLTS!!! Isso é muito importante, quando a tensão limite do microcircuito é excedida, o controlador vai para outro mundo. Por isso tem cuidado. No meu caso, foram usadas duas baterias de íons de lítio no formato 18650, um divisor em resistores de 1 KΩ e 680 Ohm. Se a sua tensão operacional for diferente da minha, vá a qualquer calculadora online para calcular o divisor resistivo e calculá-lo você mesmo, com base no fato de que sua tensão de saída deve ser igual a cinco volts. Se você duvida de suas habilidades, não pode usar a medição de tensão na bateria, ela funcionará de qualquer maneira. Parei de dirigir assim - é hora de carregar.

Os LEDs, se houver, devem ser conectados através de resistores limitadores de corrente.

Tanque Arduino com controle bluetooth é um programa para tablet ou smartphone.

Como no modelo anterior, usaremos um programa para dispositivos Android chamado HmiKaskada. Espalhar versão gratuita este programa, que pode ser baixado do YandexDisk. Meu projeto é feito em versão paga e não é compatível com a versão gratuita do programa. Portanto, mais material é dedicado à criação de um projeto em uma versão gratuita.

Interface de controle

No projeto finalizado no tablet, também existe um indicador de nível de bateria, e este é o substrato do projeto. Então vamos começar...

Primeiro, vamos criar um projeto com uma tela funcional, não precisaremos mais dela. Em seguida, conecte nosso módulo bluetooth ao tablet. Para fazer isso, vá para editar a lista de servidores e clique no sinal de mais no canto superior direito. Selecionamos nosso bluetooth na lista e damos um nome a ele. Agora está configurado e pronto para ir. O próximo passo é definir o underlay para a área de trabalho. Para fazer isso, vá para o menu "outros - plano de fundo" da área de trabalho principal e carregue a imagem da interface. Você pode usar o meu ou criar sua própria imagem. Na verdade, vai funcionar sem definir o fundo, é só pela beleza.

Agora vamos colocar os controles. Vamos ao menu "configuradores" e arrastamos o botão para a área de trabalho. No menu de botões, clique no endereço e digite por exemplo 1#0.12. Onde 1 é o endereço da placa arduino e 12 é o endereço da variável do projeto. As variáveis ​​utilizadas no projeto podem ser visualizadas na árvore do projeto.

Marcar lista de endereços

Com a configuração do indicador de bateria da mesma maneira. Criamos um registrador de armazenamento no formato Integer no projeto Arduino e atribuímos ao indicador seu endereço. Por exemplo 1#10, ajuste o indicador ao seu gosto.

Quando todos os controles forem criados, configurados e colocados em seus lugares, clique no lançamento do projeto. O Android se conectará ao tanque e você poderá aproveitar o trabalho realizado.

Tanque Arduino com controle bluetooth - montagem.

A montagem da embarcação levou duas horas do meu tempo, mas o resultado superou todas as expectativas. O tanque revelou-se bastante ágil, respondendo aos comandos instantaneamente. Tive que mexer na caixa de câmbio que aciona os trilhos do tanque. Ele desmoronou, mas para minha felicidade as engrenagens não foram danificadas e um pouco de cola, graxa e mãos retas o devolveram ao serviço. A bateria padrão teve que ser substituída por duas baterias de íon de lítio 18650 conectadas em série no suporte. A tensão de alimentação final acabou sendo de 6 a 8,4 volts, dependendo do nível de carga das baterias. Também tive que trocar o motor que aciona a torre, estava em curto.

Substituiu os diodos nos faróis do meu brinquedo. Os amarelos de baixa corrente não agradaram absolutamente e foram soldados aos brancos brilhantes de isqueiros com lanternas 🙂 . Agora esta lagarta milagrosa é confortável de dirigir mesmo na escuridão total. Fotos antes e depois:

Maravilhoso)

O resultado da montagem final não parece muito bom, decidi não gastar muito tempo projetando blindagens e colocando fios. E então tudo funciona muito bem.

Assim ficou o "recheio"

Tanque Arduino com controle bluetooth - conclusão.

Como pode ser visto no material acima, não há cheiro de escavação no código ao criar um tanque controlado por bluetooth. Também não precisamos de nenhum conhecimento profundo em eletrônica. Todas as operações são intuitivas e amigáveis ​​para iniciantes. Inicialmente, o programa HMIKaskada foi desenvolvido como uma alternativa aos caros painéis industriais HMI, mas também foi útil na criação de um brinquedo. Espero que tenha ajudado a dissipar o mito sobre a complexidade de criar projetos multitarefa no arduino.

Terei todo o prazer em receber qualquer tipo de comentário sobre o artigo, bem como comentários. Afinal, eu também estou aprendendo com você...


Em materiais anteriores, fizemos análises de vídeos sobre a fabricação de vários brinquedos controlados por rádio. Vamos continuar este tópico. Desta vez, propomos conhecer o processo de fabricação de um tanque controlado por rádio.

Nós vamos precisar:
- chassis acabado;
-Arduino Nano
- 3 servos;
- sistema rotativo;
- pistola de brinquedo;
-Joystick PS2;
- receptor ao joystick;
- uma caixa para acumuladores;
- baterias recarregáveis;
- fios;
-laser.

No chassi finalizado, cujo link para compra é apresentado no final do material, existem dois motores, duas caixas de câmbio, um interruptor e um compartimento de bateria. Segundo o autor da ideia, comprar um chassi acabado custará menos do que o feito à mão. Se as baterias que você planeja usar não couberem no compartimento do chassi, como no caso do autor, você pode ocultar o driver do motor lá.

O primeiro passo é conectar o receptor do joystick ao chassi. Para fazer isso, remova a tampa dele.

Também removemos a tampa da caixa de câmbio.

Fazemos dois furos na tampa, que servirão para prender a tampa com parafusos.

Enchemos as porcas com as quais os parafusos são fixados com cola para que não se desenrolem ao dirigir e caiam na caixa de câmbio.

Agora você precisa consertar o driver do motor. Segundo o autor, ao usar fios com conectores especiais, o compartimento não fecha totalmente, então é preciso arrancar os conectores com uma mordida, descarnar os fios e soldar diretamente nas saídas do driver.

Antes de instalar o driver, é necessário cuidar do sistema rotativo da boca do tanque. Para fazer isso, desmontamos o sistema rotativo de plástico e instalamos dois servos nele. O primeiro será responsável pelos movimentos horizontais e o segundo pelos verticais.

Coletamos o sistema rotativo de volta.

Instalamos o sistema no corpo do tanque.

Você precisa fazer 3 furos adicionais no estojo. Dois deles são para os fios do motor, e um orifício largo é necessário para o barramento no controle do driver do motor.

A pistola deve estar conectada ao servo. Para isso, basta fazer um furo no servo drive e no corpo da pistola e conectar com um parafuso.

O próximo passo é conectar o gatilho da pistola ao servo. Para fazer isso, faça furos no gatilho e no bocal do servo. Conectamos os elementos com um pedaço de arame.

Na parte superior do sistema rotativo, devem ser feitos dois orifícios passantes, que também devem passar pelo cano da arma. Esses orifícios serão usados ​​para montar o focinho no sistema giratório.

Vamos passar para a programação da placa Arduino Nano.

Montamos os componentes restantes de acordo com o diagrama abaixo.

Na parte superior do chassi, instalamos pedaços da régua que servirão de asas. Instalamos compartimentos de bateria nas asas.

O laser é colado no focinho com cola quente.

Nosso tanque rc preparar.

Vamos construir um tanque RC em primeira pessoa que pode ser controlado a até 2 quilômetros de distância! Meu projeto foi baseado em um rover de controle remoto, fácil de montar, fácil de programar e um ótimo projeto para amadores!




O bot é muito rápido e ágil, sem falar que carrega dois motores potentes! Certamente ultrapassará um humano, não importa em que superfície as raças estejam!

O bot ainda é um protótipo mesmo após meses de desenvolvimento.

Então, o que é FPV?
FPV, ou visão em primeira pessoa, é uma visão em primeira pessoa. Normalmente vemos FPV enquanto jogamos em consoles e computadores, por exemplo em jogos de corrida. O FPV também é usado pelos militares para vigilância, proteção ou controle de áreas protegidas. Hobbyists usam FPV em quadcopters para filmagem aérea e apenas por diversão. Tudo isso soa tão legal quanto custa construir um quadcopter, então decidimos construir algo menor que anda no chão.

Como administrá-lo?
O bot é baseado na placa Arduino. Como o Arduino suporta uma ampla variedade de complementos e módulos (RC / WiFi / Bluetooth), você pode escolher qualquer um dos tipos de comunicação. Para esta montagem, usaremos componentes especiais que permitirão o controle a longas distâncias usando um transmissor e receptor de 2,4Ghz que controla o bot.

Há um vídeo de demonstração na última etapa.

Passo 1: Ferramentas e Materiais






A maioria das peças eu compro em lojas de hobby locais, o restante encontro online - basta procurar ofertas com melhor preço. Eu uso muitas soluções da Tamiya e minhas instruções são escritas com esse recurso em mente.

Comprei peças de reposição e materiais na Gearbest - naquela época eles estavam em liquidação.

Nós vamos precisar:

  • Clone do Arduino UNO R3
  • Protetor de Motor Pololu Dual VNH5019 (2x30A)
  • Pin pais
  • 4 espaçadores
  • Parafusos e porcas
  • Módulo de transmissão de sinal (transmissor) 2,4 Ghz - leia mais na etapa 13
  • Receptor 2.4 Ghz para pelo menos dois canais
  • 2 motores Tamiya Plasma Dash / Hyper dash 3
  • Tamiya Twin Motor Gearbox Kit (motores de estoque incluídos)
  • 2 placas Tamiya universais
  • Conjunto de trilhos e rodas Tamiya
  • 3 baterias de polímero de lítio 1500mAh
  • Câmera POV com suporte para controle remoto de direção e zoom
  • transmissor e receptor para FPV 5.8Ghz 200mW
  • garrafa de supercola
  • Cola quente

Ferramenta:

  • Multi-ferramentas
  • Jogo de chaves de fenda
  • Dremel

Etapa 2: Montagem de uma caixa de engrenagens emparelhada


Hora de desempacotar a caixa de câmbio. Basta seguir as instruções e você ficará bem.

Nota importante: Use uma relação de transmissão de 58:1!!!

  • lubrifique as engrenagens antes de montar a caixa, e não depois
  • não se esqueça dos espaçadores de metal, senão a caixa vai ranger
  • use o formato de engrenagem 58:1, é mais rápido que 204:1

Etapa 3: melhorar os motores

A caixa de câmbio vem com motores, mas eles são muito lentos na minha opinião. Por isso, decidi usar motores Hyper dash no projeto, ao invés dos motores Plasma Dash, que consomem mais energia.

No entanto, os motores Plasma Dash são os mais rápidos da série de motores 4WD da Tamiya. Motores são caros, mas você ganha melhor produto por este dinheiro. Esses motores revestidos de carbono giram a 29.000 rpm a 3V e 36.000 rpm a 7V.

Os motores são projetados para funcionar com fontes de alimentação de 3V e aumentar a tensão, embora aumente o desempenho, mas reduza sua vida útil. Com o Motor Driver Pololu 2x30 e duas baterias Lithium Polymer, o software Arduino deve ser configurado para velocidade máxima 320/400, logo na etapa do código você descobrirá o que isso significa.

Passo 4: Motoristas


Eu gosto de robótica há muito tempo e posso dizer. que o melhor driver de motor é o Pololu Dual VNH5019. Quando se trata de potência e eficiência, é A melhor opção, mas quando falamos de preço, ele claramente não é nosso amigo.

Outra opção seria construir o driver L298. 1 L298 é projetado para um motor, que é a melhor solução para motores para força elevada atual. Mostrarei como criar sua própria versão desse driver.

Passo 5: Montagem da Pista




Use sua imaginação e configure as pistas ao seu gosto.

Etapa 6: Aparafuse os espaçadores e conecte o FPV



Mais uma vez, use sua imaginação e descubra como posicionar os suportes e a câmera para uma visão em primeira pessoa. Prenda tudo com cola quente. Prenda o deck superior e faça furos para montar a antena FPV e sob os espaçadores instalados e, em seguida, parafuse tudo no lugar.

Passo 7: Deck Superior


O objetivo da criação do convés superior era aumentar espaço livre pois os componentes FPV ocupam muito espaço na parte inferior do drone, não deixando espaço para o Arduino e o driver do motor.

Etapa 8: instalar o Arduino e o driver do motor

Basta parafusar ou colar o Arduino no deck superior e, em seguida, encaixar o driver do motor em cima dele.

Etapa 9: Instalando o Módulo Receptor



É hora de conectar o módulo Rx ao Arduino. Usando os canais 1 e 2, conecte o canal 1 a A0 e o canal 2 a A1. Conecte o receptor aos pinos 5V e GND do Arduino.

Passo 10: Conecte Motores e Baterias



Solde os fios ao motor e conecte-os ao driver de acordo com os canais. Para a bateria, você precisará criar seu próprio conector usando plugues macho JST e macho Dyna. Veja as fotos para entender melhor o que é exigido de você.

Passo 11: Bateria

Pegue a bateria e determine o local onde irá instalá-la.

Depois de encontrar um lugar para ele, crie um adaptador macho para conectar à bateria. A bateria 3S 12V Li-po alimentará a câmera FPV, o motor e o Arduino, portanto, você precisará criar um conector para a linha de alimentação do motor e a linha FPV.

Passo 12: Código do Arduino (C++)

O código é muito simples, basta carregá-lo e ele deve funcionar com o driver do motor VNH (certifique-se de baixar a biblioteca do driver e colocá-la na pasta de bibliotecas do Arduino).

O código é semelhante ao do Zumobot RC, apenas alterei a biblioteca do driver do motor e ajustei algumas coisas.

Para o driver L298, use o programa padrão do Zumobot, basta conectar tudo conforme está escrito na biblioteca.

#define PWM_L 10 ///motor esquerdo
#define PWM_R 9
#define DIR_L 8 ///motor esquerdo
#define DIR_R 7

Basta fazer o upload do código e seguir para a próxima etapa.

arquivos

Passo 13: Controlador


o mercado tem tipos diferentes controladores para brinquedos controlados por rádio: para água, terra, ar. Eles também operam em diferentes frequências: AM, FM, 2,4 GHz, mas no final todos permanecem controladores comuns. Não sei o nome exato do controlador, mas sei que é usado para drones aéreos e tem mais canais do que os terrestres ou aquáticos.

Sobre este momento Estou usando um Turnigy 9XR Transmitter Mode 2 (No Module). Como você pode ver, o nome diz que é sem módulo, o que significa que você escolhe qual módulo de comunicação de 2,4 GHz construir nele. Existem dezenas de marcas no mercado que possuem características próprias de uso, controle, distância e outras funcionalidades diversas. No momento, estou usando o FrSky DJT 2.4Ghz Combo Pack para JR com módulo de telemetria e V8FR-II RX, que é um pouco caro, mas basta olhar para as especificações e os extras, o preço não parece muito por toda essa bondade. Além disso, o módulo vem imediatamente com o receptor!

E lembre-se de que mesmo que você tenha um controlador e módulos, não poderá ligá-lo até obter baterias compatíveis com o controlador. De qualquer forma, encontre o controlador que mais lhe convém e então você decidirá sobre as baterias certas.

Dica: Se você é um iniciante, procure ajuda em lojas de hobby locais ou encontre grupos de entusiastas de rádio amador, porque esta etapa não é apenas uma brincadeira e você precisará desembolsar uma quantia significativa de dinheiro.

Passo 14: Verifique




Primeiro ligue o bot, depois ligue o módulo transmissor, depois disso o módulo receptor deve indicar ligação bem-sucedida piscando o LED.

Guia do iniciante para FPV

A parte instalada no bot é chamada de transmissor e câmera FPV, e a que está em suas mãos é chamada de receptor FPV. O receptor se conecta a qualquer tela - seja LCD, TV, TFT, etc. Tudo o que você precisa fazer é inserir baterias nele ou conectá-lo a uma fonte de energia. Ligue-o e, se necessário, mude o canal no receptor. Depois disso, você deve ver o que seu bot vê na tela.

Faixa de sinal FPV

O projeto usou um módulo barato que pode funcionar a uma distância de 1,5 a 2 km, mas isso se aplica ao uso do dispositivo em um espaço aberto se você deseja receber um sinal maior força então compre um transmissor mais poder, por exemplo 1000mW. Observe que meu transmissor tem apenas 200mW e foi o mais barato que pude encontrar.

O último passo é se divertir dirigindo seu novo tanque espião com uma câmera!

A parte principal do robô é o chassi do tanque controlado por rádio e outros componentes, sua lista será escrita abaixo. Este tanque é o primeiro projeto do autor na plataforma Arduino, e ele ficou satisfeito por tê-lo usado. O autor utilizou materiais e livros da Internet.

Materiais e ferramentas:
- Chassis do tanque
-Arduino Uno
- Jumpers e breadboard
- Driver de motor integrado SN754410NE
- servo convencional
- Localizador de alcance ultrassônico
- Bateria de 9V com conector para ela
- baterias tipo D
- Cabo USB para Arduino
- Base do chassi
- Chaves de fenda
- Pistola térmica e cola para ela
- Ferro de solda e solda

Passo um. Chassi do tanque.
O autor pegou o chassi do antigo Tanque Abrams comprado em um mercado de pulgas. O tanque resultante foi desmontado para que o chassi pudesse ser removido dele. Não é necessário usar o mesmo tanque, qualquer um controlado por rádio serve. Além disso, o motor original deixou muito a desejar, então tive que montar o meu, sua montagem será na próxima etapa. Depois de preparar o chassi, o autor prendeu a base neles com cola quente. Não importa onde será fixado, mas optou-se por colá-lo no centro.

Passo dois. Maquinista.
O driver SN754410NE é usado para controlar o motor, o autor o usou, desde que disponível, você pode pegar qualquer um semelhante.
A conexão do driver ao Arduino é a seguinte:

Todos os pinos GND são conectados aos pinos GND da breadboard.
- Driver dos pinos 1 e 16 para Arduino 9 e 10.
- Os pinos 2 e 7 do driver são conectados aos pinos 3 e 4 do Arduino (são responsáveis ​​por controlar o motor esquerdo).
- Os pinos 5 e 6 do Arduino são conectados aos pinos 10 e 15 do driver (são os responsáveis ​​por controlar o motor correto).
- Os pinos 3 e 6 são conectados ao motor esquerdo e 14 e 11 ao motor direito.
- Os pinos 8 e 16 devem estar conectados para alimentar o Bredboard, alimentado por uma bateria de 9V.

Passo três. Instalação do telêmetro.
O sensor ultrassônico permite que o robô evite obstáculos em seu caminho enquanto se move. O sensor está localizado em um servo padrão e será montado na frente do robô. No momento em que o robô perceber um obstáculo a 10 cm, o servo começará a girar nas duas direções, procurando uma passagem. O Arduino lê as informações do sensor e decide qual lado é mais favorável para o movimento posterior.
Em primeiro lugar, um servo é conectado ao sensor. O autor corrige o servo para que ele gire apenas 90 graus em cada direção, ou seja, uma volta completa do servo será de 180 graus.

O sensor tem três pinos GND, sinal e 5V. A fonte de 5V é conectada à fonte de 5V do Arduino, GND a GND e o sinal ao pino 7 do Arduino.

Etapa quatro. Nutrição.
Arduino recebe energia através de uma bateria de 9V, é conectado ao conector apropriado. Os motores são alimentados por quatro baterias tipo D instaladas no porta-baterias. Para alimentar os motores, os fios do suporte são conectados à placa na qual já está instalado o driver do motor SN754410NE.

Quinto passo. Montagem do robô.
Depois de concluir todas as etapas anteriores, é hora de juntar todos os detalhes. Em primeiro lugar, o Arduino é fixado na base do tanque. Depois disso, um telêmetro ultrassônico é fixado na frente do robô com cola quente. Em seguida, o autor fixa as baterias ao lado do Arduino. As baterias podem ser instaladas em qualquer parte do tanque. Depois de instalar todos os componentes, todos os fios foram levantados e a energia foi aplicada à placa para garantir que a montagem estivesse correta.

Etapa seis. Código do programa.
Após a conclusão da montagem do tanque, é hora de escrever um programa para ele. O programa deve mostrar ao robô quando se mover e quando parar de se mover, para evitar a colisão com um obstáculo. Ao escrever o código do autor