Índice:

Tanque Raspberry Pi 3 FPV Lego: 5 etapas (com fotos)
Tanque Raspberry Pi 3 FPV Lego: 5 etapas (com fotos)

Vídeo: Tanque Raspberry Pi 3 FPV Lego: 5 etapas (com fotos)

Vídeo: Tanque Raspberry Pi 3 FPV Lego: 5 etapas (com fotos)
Vídeo: Lego Technic Automatic Candle snuffer #Shorts 2024, Julho
Anonim
Tanque de Lego Raspberry Pi 3 FPV
Tanque de Lego Raspberry Pi 3 FPV

Lego é ótimo para ensinar as crianças sobre como as coisas funcionam e, ao mesmo tempo, permitir que elas se divirtam. Sei que sempre gostei de "brincar" com lego quando era criança. Este instrutível descreve como eu construí um tanque FPV (First Person View) de lego e um Raspberry Pi 3 (Raspi 3). Procurei mantê-lo o mais simples possível, só a etapa em que você adapta os motores para trabalhar com lego requer ferramentas e um pouco de habilidade.

O tanque usa basicamente dois motores, então se você não quiser um tanque, você pode fazer um robô do tipo Romba, a construção será diferente, mas a fiação e os programas serão exatamente os mesmos.

### Este projeto é basicamente uma versão 1, então se você quiser melhorá-lo (e ainda há muito espaço para fazer), deixe um comentário. Além disso, todo o código estará disponível, na minha página do Github, os links estão nas etapas

Coisas que você vai precisar:

  • Um pouco de Lego, usei um Lego Technic Arctic Truck que tinha por aí. Use sua imaginação, porém, este conjunto tinha faixas e tudo para que funcionasse, então foi bom para este projeto.
  • Um Raspberry Pi, usei um Raspberry Pi 3 porque era o que eu tinha. Se você tiver um modelo diferente, poderá fazê-lo funcionar, mas os pinos GPIO serão diferentes.
  • Um cartão micro SD com Raspian instalado, para o Raspi 3.
  • Uma câmera Pi, a Adafruit vende alguns, bem como diferentes cabos de fita de vários comprimentos. Uma mina comprada na Aliexpress, tinha lente fisheye e era barata. Você pode usar uma webcam, mas uma câmera Pi funciona fora da caixa.
  • Um banco de energia USB para alimentar o Raspi 3, acho que o meu custou US $ 8, é 2.000 mah, então roda o Raspi 3 por um tempo.
  • Uma bateria para alimentar os motores, usei uma bateria que tirei de um carro RC barato, é 7,2 volts, 500mah e recarregável, então funciona muito bem. Uma bateria de 9 V seria boa, mas você também precisará de um conector.
  • Cabos de jumper, para conectar os pinos GPIO juntos, pelo menos 5 fêmea para fêmea.
  • L298N Motor Driver Board, estes são muito baratos e permitem que você controle os motores separadamente. Eles também são bastante padrão para esse tipo de aplicativo.
  • 2 x motor redutor DC, esses da Adafruit são bons, o mesmo pode ser comprado na Aliexpress também

Diversos

  • Fita de espuma dupla face
  • arame
  • termoretráctil
  • fita
  • elásticos
  • cabo micro usb

Se você pretende adaptar os motores da caixa de velocidades DC como eu fiz, você precisará de:

  • cortador de caixa
  • dremel com lâmina de serra circular
  • mini arquivos
  • Epóxi de 5 minutos

Você também precisará de seu próprio PC / laptop para controlar e programar o Raspi 3.

Etapa 1: construir o tanque

Construir o Tanque
Construir o Tanque
Construir o Tanque
Construir o Tanque
Construir o Tanque
Construir o Tanque

Portanto, essas não são instruções realmente, porque esta etapa deve ser realmente seu próprio projeto. Vou falar sobre algumas das coisas que tive de considerar ao construir isso, mas a verdadeira diversão está em descobrir por si mesmo (assim como o Lego real). Use as fotos se forem úteis, demorei muito para desenvolver este projeto, no final, o caminho simples foi o melhor.

  1. Construa os eixos traseiros primeiro

    1. e certifique-se de deixar espaço suficiente para os motores e torná-los largos o suficiente para os componentes caberem. Eu queria que o meu fosse bem largo, pois queria que tudo ficasse dentro dos eixos, isso permitia que o tanque ficasse bem baixo e caísse sob as coisas e perseguisse o gato.
    2. As rodas nos trilhos aqui têm um orifício que se encaixa em um eixo transversal de Lego, então tenha em mente que é aqui que seus motores serão montados.
    3. Você precisa de espaço suficiente para a pista na parte traseira e dianteira. Você pode notar na figura 2 que as peças em “L” não são semétricas, isso é para permitir o espaço da pista. Originalmente, eu os tinha semétricos, mas a pista continuou esfregando e em um ponto ficou presa e quebrou o adaptador do motor.
  2. Depois de ter os eixos construídos, você pode conectá-los

    1. usando bits longos com suportes cruzados em intervalos regulares. Certifique-se de espaçar os suportes transversais para que os componentes se encaixem entre eles, o que ajuda a manter um perfil baixo.
    2. o comprimento será determinado pela quantidade de trilha que você tem. Esta pista não tem alongamento, então é necessário um pouco de folga. Se você tiver uma esteira de borracha, pode torná-la mais apertada. Além disso, uma roda de corrida é uma boa ideia, mas no geral não é necessária.
    3. Esta etapa foi mesquinha e direta e envolve apenas um pouco de tentativa e erro.
  3. Os motores são essencialmente colados com fita de espuma de dupla face para fornecer uma grande superfície para eles serem colados.
  4. O suporte para câmera que fiz é bastante lixo, você definitivamente deveria tentar fazer o seu próprio. Eu gosto de baixo, pois parece que você está viajando rapidamente na câmera. Este seria um lugar legal para atualizar com um servo ou dois para tornar a câmera móvel.

Esperançosamente, essas notas são úteis. Eu construí isso antes de escrever o instrutível e estou um pouco hesitante em desmontá-lo agora que está indo. Eu realmente acredito que um design melhor pode ser feito, então acho que seu próprio desenvolvimento seria o melhor. Deixe um comentário se quiser que eu faça um guia completo, se houver demanda suficiente eu farei.

Etapa 2: Motor da caixa de engrenagens DC para adaptador Lego

Motor da caixa de engrenagens DC para adaptador Lego
Motor da caixa de engrenagens DC para adaptador Lego
Motor da caixa de engrenagens DC para adaptador Lego
Motor da caixa de engrenagens DC para adaptador Lego
Motor da caixa de engrenagens DC para adaptador Lego
Motor da caixa de engrenagens DC para adaptador Lego

Novamente, fiz isso antes de escrever e não tirei nenhuma foto. Acho que há vários tutoriais diferentes por aí que fazem isso. A Adafruit realmente vende um adaptador, esta é a melhor maneira, além de você não precisar destruir os suportes do seu motor. Estou na Nova Zelândia, então Adafruit não está disponível, mas DIY está:-). Isso é o que eu fiz (desculpe pelos diagramas ruins):

  1. Prepare todas as suas ferramentas, vamos cortar plástico, então não será muito difícil. Usei um par de óculos de oficina porque, pessoalmente, odeio pequenos pedaços de plástico por todo o globo ocular. Eu também usei uma daquelas tábuas de corte verdes para não bagunçar minha mesa.
  2. Portanto, o diagrama mostra uma vista superior e lateral. Basicamente, o cinza é a pequena parte branca do motor da caixa de velocidades DC e o vermelho é onde cortamos. O vermelho na vista superior é, na verdade, considerado uma seção transversal de um eixo transversal de Lego. Vamos remover esse material para que o eixo se encaixe perfeitamente dentro. Tente cortar o mais próximo possível do centro e quase ao fundo. Comecei cortando grosseiramente com a serra circular na minha dremel e, em seguida, comecei a raspar os pedaços com um estilete até obter um encaixe perfeito.
  3. Depois de cortar a broca e o eixo ficar mais ou menos reto (deve se parecer com um estranho dobrado ao meio), você pode colocar epóxi no eixo transversal de Lego. Antes de aplicar qualquer epóxi, certifique-se de aplicar fita adesiva sobre a caixa amarela do motor para que você não grude acidentalmente o eixo na caixa. Misture bem o epóxi de 5 minutos e aplique uma camada espessa sobre a broca branca e o eixo transversal, estamos procurando uma camada de 1-2mm de espessura. O epóxi de 5 minutos fica pegajoso e inutilizável muito rapidamente, então trabalhe rápido aqui.
  4. Depois de colocar uma demão de desentendimento e o epóxi não estiver funcionando, você deve terminar. Corre um pouco, então tome cuidado. Uma vez que está definido para uma consistência semelhante a borracha, você pode facilmente cortar qualquer excesso de epóxi, é assim que eu consegui uma bela extremidade plana na minha.
  5. Deixe secar durante a noite e você deve ter um motor de caixa de velocidades Lego DC pela manhã

Etapa 3: conectando tudo

Fiação
Fiação
Fiação
Fiação
Fiação
Fiação

A fiação para este projeto é muito simples. Usaremos os 4 cabos jumper fêmea para fêmea para conectar nossos pinos GPIO ao controlador do motor L298N e um cabo jumper macho para fêmea para conectar o aterramento do Raspi 3 ao aterramento do controlador do motor L298N. Também usaremos algum fio para conectar os motores ao controlador de motor L298N.

Eu escolhi usar esta combinação de pinos no Raspi porque eles estão agrupados. Sinta-se à vontade para usar qualquer conjunto de pinos GPIO e GND. Apenas lembre-se de alterá-lo no código.

Você pode usar o diagrama de fiação ou seguir as etapas abaixo:

Raspi 3 L298N

GND (pino 14) GND

GPIO27 (pino 13) IN1

GPIO22 (pino 15) IN2

GPIO23 (pino 16) IN3

GPIO24 (pino 18) IN4

Para os motores e a forma como são montados, conectei-os desta forma.

Out2, Out3 negativo

Out1, Out4 positivo

Essencialmente, o negativo foi para trás e o positivo foi para a frente. Se você pegá-los ao contrário, o tanque apenas se moverá na direção oposta, o que é fácil de consertar no software.

Etapa 4: a programação

Portanto, para esta etapa, vamos precisar configurar algumas coisas, se ainda não o fez.

  • Raspian
  • Python 2 ou 3
  • Git
  • MJPG-Streamer

Instalando o Raspian

Em primeiro lugar, precisamos ter Raspian em um cartão micro SD, então ter um SD formatado de pelo menos 8 GB pronto (você também pode instalar o NOOBS lite se tiver apenas um cartão de 4 GB).

Para instalar o Raspian, eu recomendaria usar o NOOBS. O link oficial está aqui. Baixe o arquivo zip para o seu PC e extraia os arquivos para o cartão SD. Certifique-se de que os arquivos e pastas estejam lá e não dentro de uma pasta noobs.

Depois de fazer isso, conecte o cartão SD no Raspi 3, conecte uma tela (uma TV com HDMI funciona bem se você não tiver um monitor) e um teclado e mouse.

Você deve ver a tela de instalação carregar, conectar-se ao wi-fi (wi-fi é necessário para que este projeto funcione) e instalar, eu apenas uso as configurações padrão porque funcionam bem.

Configurando para modo sem cabeça

Assim, uma vez que o Raspian esteja instalado e você esteja conectado ao Raspi 3, você pode começar a configurar o Raspi 3 para rodar no modo headless (ou seja, use SSH em vez de uma tela e teclado). Apenas uma observação: você precisará usar o sudo, portanto, certifique-se de saber a senha do root.

Abra um terminal e digite 'sudo raspi-config', você deve ter uma tela azul e cinza como nas imagens. Mova para 'Opções de interface', pressione enter, a seguir vá para 'P2 SSH' pressione enter e digite novamente para 'sim', novamente para 'ok'.

Agora volte para 'opções de interface' e habilite a câmera.

De volta ao menu, pressione para a direita e pressione Enter para selecionar 'terminar'.

Em seguida, precisamos encontrar nosso endereço IP, você pode fazer isso digitando 'ifconfig' no terminal. Encontre o bloco começando com wlan0 (geralmente o último) e anote seu endereço IP. Deve estar na segunda linha e ser algo como 192.168.1. XX se você estiver usando o wi-fi doméstico.

Ótimo, esse é o fim da configuração

Instalando software adicional

Portanto, para executar os scripts que possuo, você precisará ter o python 2 ou 3 instalado. Se você quiser aprender Python, eu recomendaria aprender Python 3, as diferenças são mínimas, mas Python 3 agora é mais amplamente usado. Ele deve vir pré-instalado com Raspian, mas devemos apenas verificar.

Digite 'python --version', você deve obter uma saída como 'Python 2.7.13', o que significa que você tem o python 2 instalado. Para verificar se você tem o python 3, basta digitar 'python3 --version' e deverá obter uma saída semelhante. Se você não tem o python 2 ou 3, você pode digitar 'sudo apt-get install python' ou 'sudo apt-get install python3', respectivamente.

Você também precisará do Git para obter o código, novamente, ele deve estar pré-instalado. Digite 'git --version' para verificar e usar 'sudo apt-get install git' se não o tiver.

Instalando MJPG-Streamer

O MJPG-Streamer é uma das formas de ter acesso ao Picamera. Ele permite que você acesse a câmera por meio de um navegador e manipule a imagem. É provavelmente a maneira mais agradável e fácil de usar a câmera se você não se sentir confortável com o código.

  1. Novamente, vamos usar o Git. Digite 'git clone https://github.com/jacksonliam/mjpg-streamer.git' no terminal Raspi 3. O software será baixado, não demorará muito.
  2. Provavelmente, a melhor coisa a fazer neste ponto é olhar o arquivo 'README.md' e seguir as instruções de instalação. Eles funcionaram perfeitamente para mim. Se você tiver alguma dúvida, deixe nos comentários e tentarei ajudar

Depois de instalado, você pode executá-lo. Vou explicar como faço isso abaixo.

Juntando tudo

Ótimo, agora devemos estar prontos para ir. Certifique-se de que seu Raspi 3 esteja ligado. No seu PC / laptop, abra um terminal (presumo que você esteja usando Linux ou Mac, se estiver usando Windows, você terá que baixar o putty. Existem muitos tutoriais online sobre como usar isso, não se preocupe, é fácil) e digite 'ssh [email protected]. XX (assumindo que você não mudou o nome de usuário padrão) ou o que quer que seja o seu endereço IP que encontramos anteriormente. Digite sua senha (esta definitivamente não deve ser a padrão). Ótimo, agora você está em uma sessão de terminal no Raspi 3 por meio de seu PC / laptop.

Portanto, no tipo de terminal 'clone git https://github.com/astrobenhart/Raspi-3-FPV-Lego-T… Isso deve levar apenas alguns segundos, pois os arquivos são realmente pequenos. Você pode então navegar para o diretório usando 'cd Raspi-3-FPV-Lego-Tank', agora digite 'ls' e certifique-se de ver estes 5 arquivos: 'demo.py', 'drive.py', 'Picamera_tank. py, 'finalizado.jpg' e 'README.md'. Certifique-se de ler o leia-me para quaisquer atualizações.

demo.py

Este script py é ótimo para testar se a fiação está funcionando. Ele simplesmente passa por diferentes combinações de condução dos motores para frente e para trás.

use 'python demo.py' para executar. Demora cerca de meio minuto para ser concluído.

drive.py

Este é o script py que você executará para controlar o tanque. Ele configura o mapeamento de pinos GPIO e cria defs para mover. Ele também captura pressionamentos de teclas para controlar o tanque.

Use 'python drive.py' para executar. Espere um segundo, seu terminal deve ficar em branco.

use 'w, a, s, d' para mover e barra de espaço para parar. Quando estiver pronto para fechar o programa, pressione 'n'.

Picamera_tank.py

Esta é minha versão de um streamer para a câmera. Isso só funciona com o python 3 (ou seja, use 'python3 Picamera_tank.py' para executar). Isso pode ser executado em uma segunda janela de terminal ou você pode pressionar ctrl-z e digitar bg para executá-lo em segundo plano no mesmo terminal. Pessoalmente, gosto de usar um terminal separado.

Você não deve ter que instalar nada extra, mas se você usar o pip. Se você tiver problemas, deixe um comentário.

Assim que estiver rodando no Raspi 3, faça o login no navegador do seu PC / laptop e vá para 192.168.1. XX: 8000 (o IP que encontramos anteriormente). Você deve ver a saída da câmera. Se a imagem precisar ser girada, você precisará editar o script py. Perto da parte inferior está um comentário, abaixo insira os graus de rotação que você precisa. Para mim, foi de 180, pois minha câmera está de cabeça para baixo.

Para executar MJPG-Streamer

Para executar o MJPG-Streamer, navego para 'mjpg-streamer / mjpg-streamer-experimental' e executo './mjpg_streamer -o "output_http.so -w./www" -i "input_raspicam.so -hf"'.

Depois de executar, vá para 192.168.1. XX: 8080 (o IP que encontramos anteriormente) e clique em streaming. Brinque com as outras opções, elas podem ser úteis para você.

E é isso. Agora você deve ser capaz de dirigir seu próprio tanque FPV onde quer que possa obter seu wi-fi. Divirta-se.

Etapa 5: Produto Acabado

E aqui está um vídeo de tudo funcionando.

Apenas uma nota que tenho o Raspi 3 conectado ao meu laptop para ligá-lo ao vídeo, pois o banco de energia acabou durante alguns testes. Durou quase uma hora, o que me deixou muito feliz.

Por favor, deixe comentários se tiver algum e espero que goste de fazer este tanque Raspberry Pi 3 FPV Lego, se você tentar.

Obrigado, Ben

Recomendado: