Índice:

Robô Raspberry Pi Zero impresso em 3D: 12 etapas
Robô Raspberry Pi Zero impresso em 3D: 12 etapas

Vídeo: Robô Raspberry Pi Zero impresso em 3D: 12 etapas

Vídeo: Robô Raspberry Pi Zero impresso em 3D: 12 etapas
Vídeo: Raspberry Pi Pico W: WiFi Controlled Robot 2024, Julho
Anonim
Image
Image
Robô Raspberry Pi Zero impresso em 3D
Robô Raspberry Pi Zero impresso em 3D
Robô Raspberry Pi Zero Impresso em 3D
Robô Raspberry Pi Zero Impresso em 3D

Você sempre quis construir um robô, mas simplesmente não tinha todos os materiais para construí-lo sem acabar com um chassi desnecessariamente volumoso? As impressoras 3D estão aqui para salvar o dia! Eles não apenas podem criar peças para serem compatíveis com virtualmente qualquer hardware, mas também podem fazer isso de uma maneira muito eficiente em termos de espaço. Aqui, mostrarei como criar um robô muito básico que apresenta peças impressas em 3D, o Raspberry Pi Zero e a câmera Pi. Eu o encorajaria a pegar e modificar o que fiz para se adequar às suas necessidades práticas ou de entretenimento. Para controlar o robô e visualizar o feed da câmera, desenvolvi um aplicativo IOS (o aplicativo PiBotRemote) que você pode usar e modificar à vontade. No entanto, o poder real em projetos como este deriva da diversidade de possibilidades tanto de hardware quanto de software. Então, eu o encorajo a ser criativo e adicionar algo ao que eu fiz, dependendo do que você sabe fazer. Por exemplo, acho que seria legal fazer esse robô usar a visão de máquina para reconhecer seus arredores e navegar de forma semelhante a um carro que dirige sozinho.

Etapa 1: Requisitos

Requisitos
Requisitos
  • Materiais

    • Obrigatório (aproximadamente $ 75)

      • Raspberry Pi Zero W ($ 10)
      • Cartão Micro SD ($ 8,25)
      • Cabeçalho de 40 pinos (US $ 3,25)
      • Jumper Wires ($ 6,86)
      • Bateria USB ($ 5,00)
      • Micro Gearmotor 900 RPM x 2 ($ 12,95 cada)
      • Motorista ($ 4,95)
      • Rodas ($ 6,95)
      • Rolamento de esferas de aço de 14 mm ($ 0,62)
      • Parafusos, porcas e espaçadores (veja abaixo)
    • Opcional (aproximadamente $ 45)

      • LEDs
      • Câmera Raspberry Pi ($ 29,95)
      • Adaptador de câmera Pi Zero ($ 5,95)
      • Servo motor ($ 8,95)
    • Ferramentas

      • Impressora 3D e Filamento
      • Computador (estarei usando um mac e você precisará de um se quiser usar o aplicativo PiBot remoto)
      • iPhone / iPad / iPod Touch (se você for usar o aplicativo)
      • Furar
      • Chave de fenda com pontas mutáveis

Mais informações sobre peças

  • Pi Zero: Se você quiser usar o Pi Zero apenas para este projeto, não terá problemas em correr sem cabeça o tempo todo. Caso contrário, se você quiser conectar uma saída HDMI ou periférico USB, você precisará comprar adaptadores adicionais. Neste caso, é provavelmente a opção mais econômica de comprar um kit Pi Zero, como este (US $ 24), que comprei da Amazon. Embora eu ainda tivesse que comprar um cartão micro SD, este kit veio com o Pi Zero, ambos os adaptadores necessários e muitos conectores diferentes. Tudo isso pode ser útil.
  • Cartão Micro SD: Você pode usar qualquer cartão Micro SD, desde que tenha um mínimo de 8 GB de armazenamento.
  • Jumper Wires: Eu gosto de jumpers como esses porque eles vêm como um pacote conectado. Isso me permite separar, digamos, uma seção de 9 fios e conectar perfeitamente o Pi e o driver do motor.
  • Bateria USB: a bateria que comprei do Sparkfun foi descontinuada. Como resultado, você precisará encontrar um em outro lugar. Aquele que vinculei era semelhante ao meu, mas não o comprei e talvez seja necessário modificar os arquivos de impressão para caber na bateria. Certifique-se de encontrar uma bateria com um cabo micro USB conectado, pois isso permite que você conecte diretamente no pi sem fio em excesso.
  • Motorista: Eu recomendaria usar o mergulhador a que me referi, pois é muito barato e a impressão foi projetada para caber exatamente naquela placa. Além disso, outras placas podem funcionar de forma diferente e você pode ter resultados diferentes.
  • Bola de aço de 14 mm: Usei esta bola simplesmente porque aconteceu de eu ter uma por perto. Sinta-se à vontade para usar outros tamanhos, mas pode ser necessário alterar o tamanho do soquete. A bola servirá como a 3ª roda do nosso robô. Esta é uma das áreas de design do meu robô que é a mais problemática no momento e que poderia ser melhorada. Embora funcione bem em superfícies lisas e duras, tem problemas em carpetes e superfícies mais ásperas. Sinta-se à vontade para alterar esta área do seu design.
  • Parafusos, porcas, espaçadores: talvez seja necessário trabalhar um pouco para encontrar os parafusos que funcionam para você. Eu simplesmente encontrei os parafusos que montam o Pi, bem como os parafusos que mantêm o suporte da câmera Pi unido na coleção de parafusos do meu pai. Para os suportes e soquetes do motor, usei esses parafusos ($ 2,95) e essas porcas ($ 1,50), que estão disponíveis na Sparkfun. Os espaçadores e 8 parafusos (acidentalmente incluí apenas 4 na imagem) que mantêm o robô coeso, tirei dos kits VEX não usados da minha escola.
  • LEDs: tenho certeza de que você sabe onde encontrar facilmente alguns LEDs. Escolha as cores com as quais deseja representar as funções: potência, conexão, caminho de repetição do robô e instruções de recebimento do robô.
  • Câmera e Servo: Dependendo do que você deseja fazer com seu robô, você pode optar por não incluir a Câmera e o Servo, já que eles não são necessários para o movimento básico, e adicionar $ 45 ao custo do robô.

Etapa 2: Configuração de Pi Zero

Configuração de Pi Zero
Configuração de Pi Zero

Siga este link para configurar uma instalação sem cabeça no seu Raspberry Pi Zero W

  • Não se esqueça de que o Pi Zero não pode se conectar a uma rede Wi-Fi de 5 GHz
  • Certifique-se de seguir as instruções para Raspbian Stretch ou posterior

Depois de se conectar com sucesso via SSH ao seu pi, execute

sudo raspi-config

e altere as seguintes configurações:

  • Mude sua senha. É muito perigoso deixar a senha padrão raspberry. Certifique-se de lembrar desta senha.
  • Nas opções de rede, altere o nome do host de raspberrypi para algo mais curto, como pizero ou pibot. Usarei o pibot no restante deste tutorial. Lembre-se de lembrar o que você colocou aqui.
  • Em Opções de inicialização -> Desktop / CLI, selecione Autologin do console
  • Vá para as opções de interface e habilite a câmera

Selecione Concluir e reinicie o dispositivo.

Etapa 3: configurar a rede AdHoc

Ao configurar uma rede AdHoc, seremos capazes de conectar nosso dispositivo de controle diretamente ao robô sem intermediários. Isso permitirá um streaming de vídeo mais rápido e menor latência de controle. No entanto, esta etapa não é necessária, pois tudo ainda funcionará por meio de uma rede wi-fi normal.

Primeiro, você precisará baixar e descompactar todos os arquivos necessários do GitHub. No terminal, navegue até a pasta baixada e envie a pasta PiBotRemoteFiles para o pi com o comando:

scp -r PiBotRemoteFiles / [email protected]: Desktop /

Isso envia todos os arquivos necessários para o robô que irá controlá-lo e configurar a rede AdHoc. Certifique-se de que os arquivos estejam em uma pasta chamada "PiBotRemoteFiles" localizada na área de trabalho; do contrário, muitas coisas não funcionarão no futuro. Se você for usar o aplicativo PiBot Remoto, poderá alternar entre o Wi-Fi normal e uma rede AdHoc nas configurações do aplicativo. Caso contrário, você pode alterá-lo manualmente por meio de SSH com um dos seguintes comandos:

sudo bash adhoc.sh

sudo bash wifi.sh

Claro, certifique-se de ter navegado até a pasta PiBotRemoteFiles antes de executar os comandos anteriores. Qualquer alteração entre AdHoc e Wi-Fi só terá efeito após a próxima reinicialização. Se um AdHoc estiver configurado, você deverá ver uma rede PiBot aparecer quando o Pi Zero inicializar.

Etapa 4: adicionar um LED de energia

Adicionar um LED de energia
Adicionar um LED de energia

Embora certamente desnecessário, pode ser útil ter uma luz de energia. Para ativá-lo, faça SSH no Pi Zero e execute o comando:

sudo nano /etc/bash.bashrc

E adicione a seguinte linha ao final do arquivo:

python /home/pi/Desktop/PiBotRemoteFiles/startup.py

Posteriormente, alteraremos o pino GPIO associado ao LED de energia.

Etapa 5: Configuração da interface RPi Cam Web

Configuração da interface da Web RPi Cam
Configuração da interface da Web RPi Cam
Configuração da interface da Web RPi Cam
Configuração da interface da Web RPi Cam

Para acessar o stream de vídeo das câmeras Raspberry Pi, usaremos a interface RPi-Cam-Web. Informações sobre este módulo podem ser encontradas aqui e seu código está no GitHub. Para instalar o módulo, primeiro precisamos atualizar nosso Pi. Isso pode levar cerca de 10 minutos.

sudo apt-get update

sudo apt-get dist-upgrade

Em seguida, precisamos instalar o git:

sudo apt-get install git

E podemos finalmente instalar o módulo:

git clone

RPi_Cam_Web_Interface / install.sh

Após a instalação do módulo, uma janela de configuração aparecerá. Se você deseja adicionar um nome de usuário e senha, certifique-se de usar o mesmo nome de usuário e senha da conta do seu pi. Caso contrário, o aplicativo PiBot Remote não poderá receber o stream da câmera.

Agora, se você for a um navegador em um dispositivo na mesma rede que o Pi e se a câmera estiver conectada ao pi, você pode receber o stream acessando https://pibot.local/html/#. A interface RPi permite fácil controle da câmera e, ao tocar ou clicar no vídeo, ele pode se tornar tela inteira. Usaremos isso mais tarde com o aplicativo remoto PiBot.

Agora terminamos de configurar o Pi Zero, para a parte divertida!

Etapa 6: imprima tudo

Imprimir tudo
Imprimir tudo
Imprimir tudo
Imprimir tudo

Embora eu tenha usado uma impressora 3D Dremel com filamento PLA, fique à vontade para usar suas próprias impressoras e materiais. Todos os arquivos STL estão na pasta que você baixou do GitHub. Consegui imprimir tudo em quatro lotes: a placa superior, a placa inferior, todos os suportes e encaixes e o anel. Seja criativo na escolha da cor e aproveite ao máximo as capacidades das impressoras 3D. Minha impressora não tinha extrusão dupla ou quaisquer recursos sofisticados, mas se tiver acesso a tal impressora, eu recomendaria imprimir as decorações na parte superior da placa superior em uma cor contrastante. Provavelmente, você precisará lixar e furar para que algumas peças se encaixem.

Sinta-se à vontade para pintar a placa superior para tornar visíveis os símbolos e decorações de LED.

Você deve ter notado duas montagens nas extremidades da placa inferior que se assemelham ao sistema de montagem GoPro. Sinta-se à vontade para usá-los para prender o que quiser na parte frontal ou traseira do robô. No arquivo do blender, você pode encontrar um marcador de quadro branco que usei, bem como um objeto de modelo que você pode modificar para segurar seu objeto.

Além disso, fique à vontade para definir qualquer direção como para frente; Já troquei pelo menos três vezes até agora.

Etapa 7: solda nos cabeçalhos

Solda nos Cabeçalhos
Solda nos Cabeçalhos
Solda nos Cabeçalhos
Solda nos Cabeçalhos
Solda nos Cabeçalhos
Solda nos Cabeçalhos

Embora eu tenha optado por soldar os conectores no PiZero, você pode soldar seus fios diretamente no pi. Se você escolher soldar cabeçalhos como eu, recomendo usar um com um ângulo reto como o meu. Ele mantém os fios muito mais escondidos e faz com que tudo pareça muito mais organizado.

Agora é hora de soldar o driver do motor. A placa inferior é projetada especialmente para este driver de motor Sparkfun e permite espaço para o cabeçalho do pino sobressair na parte inferior. Isso permite a troca fácil dos pinos do motor para que você possa trocar para a esquerda e para a direita e para a frente e para trás. Embora eu inclua a etapa a seguir agora, eu recomendaria fortemente esperar algumas etapas até que você saiba exatamente quanto tempo seus fios devem ter. Corte uma seção de 9 fios de pinos de jumper que sejam compatíveis com os pinos de cabeçalho que você acabou de soldar no pi. Solde com cuidado cada fio para que o grupo possa ficar deitado na horizontal e envolver a bateria. Meça o comprimento do fio de antemão para não acabar com muito pouco ou muito.

Finalmente, é hora de soldar os LEDs. Cole-os em seus respectivos locais na placa superior e dobre todos os pinos de aterramento uns sobre os outros. Solde um fio para o terra e um fio para cada LED. Da esquerda para a direita, as funções dos LEDs são: potência do robô, conectividade do aplicativo com o robô, o robô está reproduzindo um caminho salvo e as instruções estão sendo recebidas pelo robô.

Também solde os fios em cada motor para que eles possam se conectar aos conectores vindos do driver do motor.

Etapa 8: Aparafuse o motor e o soquete

Parafuso no motor e no soquete
Parafuso no motor e no soquete
Parafuse o motor e o soquete
Parafuse o motor e o soquete
Parafuse o motor e o soquete
Parafuse o motor e o soquete
Parafuse o motor e o soquete
Parafuse o motor e o soquete

Primeiro, insira cada motor em um suporte de motor. Em seguida, insira cada parafuso parcialmente, apenas até que a ponta atinja a superfície da montagem ou do soquete. Em seguida, para cada parafuso, segure uma porca do outro lado da placa enquanto aperta cada parafuso. Lembre-se de colocar o rolamento entre os dois soquetes enquanto aparafusa o segundo. Coloque o driver do motor em sua posição e conecte os motores. Não importa qual motor está conectado a cada saída, pois você pode alterar isso facilmente quando o robô estiver funcionando.

Etapa 9: prepare a câmera e o servo

Prepare a câmera e o servo
Prepare a câmera e o servo
Prepare a câmera e o servo
Prepare a câmera e o servo
Prepare a câmera e o servo
Prepare a câmera e o servo
Prepare a câmera e o servo
Prepare a câmera e o servo

Conecte a fita do adaptador Pi Zero na câmera e aparafuse a caixa da câmera. Coloque o servo em sua posição. Você pode fazer os orifícios dos parafusos para o servo, mas é bastante confortável. Conecte a câmera ao servo da maneira que achar melhor. Atualmente, tenho dois orifícios na montagem, com um grampo passando pela buzina do servo e pelo case da câmera. No entanto, isso deixa muito espaço de manobra, então você pode querer usar super cola. Aponte a câmera na direção desejada e aparafuse a buzina do servo no lugar. Encaixe a fita da câmera na fenda da framboesa e conecte-a ao pi. Por fim, dobre a fita para mantê-la plana contra a bateria.

Etapa 10: juntando tudo

Juntando tudo
Juntando tudo
Juntando tudo
Juntando tudo
Juntando tudo
Juntando tudo
Juntando tudo
Juntando tudo

Finalmente é hora de tudo se tornar uma só peça. Conecte os fios dos LEDs, driver do motor e servo no Pi de forma que você use apenas pinos válidos, mas mantenha-os perto de sua saída. Em seguida, coloque os fios em seus slots e aparafuse o pi no lugar. Ele foi projetado para ser um ajuste apertado para manter as coisas organizadas, então não desista quando parecer que não há espaço suficiente para aqueles pinos de jumpers grandes.

Aparafuse cada espaçador na placa inferior para que cada um esteja seguro. Insira a bateria e certifique-se de que o cabo de alimentação pode passar pelo slot e na porta de alimentação do Pi Zero. Enrole os fios do driver do motor em torno dele e coloque o anel em volta de tudo. Depois de apertar todos os fios no espaço entre a bateria e a placa superior, uma pequena saliência na placa inferior no anel e os dois pontos altos do anel na placa superior. Agora você pode aparafusar bem a placa superior e terá construído seu robô!

Etapa 11: Abra o projeto Xcode

Abra o projeto Xcode
Abra o projeto Xcode
Abra o projeto Xcode
Abra o projeto Xcode
Abra o projeto Xcode
Abra o projeto Xcode

As próximas etapas se aplicam apenas se você for usar o aplicativo PiBot Remote, que requer um Mac e um dispositivo IOS.

Como sou barato e não tenho uma conta paga de desenvolvedor da Apple, só posso compartilhar o projeto Xcode, não o aplicativo em si. Você pode então abrir o projeto sozinho, alterar a assinatura e iniciá-lo em seu próprio dispositivo.

Se você ainda não tem o Xcode, baixe-o na app store do seu Mac. Assim que o Xcode carregar, escolha "Open another project" no canto inferior direito e navegue até a pasta "PiBot Remote" no download do GitHub.

Assim que o projeto for aberto, clique no arquivo raiz na visualização à esquerda chamado "PiBot Remoto".

Altere o "Identificador de pacote" para algo exclusivo. Você pode substituir meu nome pelo seu ou adicionar algo no final.

Mude a equipe para sua conta pessoal. Se você não tiver uma, selecione "Adicionar uma conta".

Pressione command-B para construir e torça para que tudo funcione corretamente. Depois de criar o projeto com sucesso, conecte o dispositivo ao computador. Clique no botão à direita dos botões reproduzir e parar no canto superior esquerdo e selecione seu dispositivo.

Pressione command-R e o aplicativo deve ser iniciado no seu dispositivo. Seu dispositivo pode precisar verificar as identidades antes de ser executado e precisará de acesso à Internet apenas neste momento.

Etapa 12: ajustes finais

Ajustes Finais
Ajustes Finais

Você pode ajustar os números dos pinos para tudo, exceto para o LED de energia no aplicativo PiBot Remote. Para alterar o pino do LED de energia, SSH no PI e execute o comando:

/home/pi/Desktop/PiBotRemoteFiles/startup.py

Altere as duas instâncias de 36 para qualquer pino GPIO que você usou. Em seguida, pressione Control-X, y, Enter.

O aplicativo e o servidor estão sujeitos a erros. Use o console no modo de depuração para descobrir o que está acontecendo. Em caso de dúvida, tente reiniciar o Pi e / ou reiniciar o aplicativo. Às vezes, após uma falha de código, o aplicativo não consegue se reconectar porque o endereço já está em uso. Nesse caso, basta alterar a porta e o aplicativo deve se conectar.

Além disso, ao dirigir o robô com o acelerador em seu dispositivo, você deve usar alguns gestos inconvenientes para calibrar, parar / iniciar, ajustar a câmera e mostrar / ocultar a barra de guias

  • Calibrar: toque e segure com dois dedos por 0,5 seg (se o seu dispositivo suportar, você sentirá um feedback tátil assim que o dispositivo for calibrado
  • Ajuste da câmera: o gesto mais complicado, faça o que foi descrito anteriormente para calibrar, arraste seus dedos para cima para mover a câmera para cima e arraste para baixo para mover a câmera para baixo. O ajuste será feito assim que você levantar os dedos.
  • Parar / Iniciar Alternar: Quando você vai para a visualização do acelerômetro, o robô é inicialmente configurado para ignorar os comandos de movimento. Para alternar essa configuração, toque duas vezes com dois dedos.
  • Mostrar / ocultar barra de guias: para habilitar a visualização em tela cheia durante a direção do acelerômetro, a barra de guias será ocultada automaticamente após alguns segundos. Para mostrar novamente, deslize para cima. Para ocultá-lo, deslize para baixo.

Se você ficar frustrado com os problemas e inconvenientes associados ao meu aplicativo, lembre-se de que não tive nenhuma educação formal em programação de qualquer tipo. Portanto, agradeço conselhos e sugestões. Sinta-se à vontade para bifurcar meus arquivos do GitHub.

Se eu fizer algum ajuste no GitHub, aplico-o ao robô baixando os arquivos e enviando-os via SCP recursiva ao Pi no local apropriado. Se você clonou o projeto Xcode, simplesmente extraia a mudança. Caso contrário, você pode baixar o projeto e seguir a etapa 11 para abrir o aplicativo em seu dispositivo.

Se você fizer algo interessante com este tutorial, por favor, deixe-me saber nos comentários, estou interessado em ver como ele pode ser usado como um modelo para todos os tipos de projetos fascinantes.

Recomendado: