Índice:

Dog Bot: Lego Robot Rover com webcam: 17 etapas (com fotos)
Dog Bot: Lego Robot Rover com webcam: 17 etapas (com fotos)

Vídeo: Dog Bot: Lego Robot Rover com webcam: 17 etapas (com fotos)

Vídeo: Dog Bot: Lego Robot Rover com webcam: 17 etapas (com fotos)
Vídeo: Как Убежать от Полицейской Собаки-Ищейки 2024, Dezembro
Anonim
Image
Image

Veja como fazer um robô Lego que você pode controlar de qualquer tela por wi-fi. Ele também tem uma webcam para que você possa ver onde está indo e luzes LED no lugar dos olhos! Este é um ótimo projeto para fazer com seus filhos, pois eles podem fazer a construção do logotipo e você pode envolvê-los na parte eletrônica que eles quiserem. Há muita flexibilidade em como você implementa este projeto, e isso significa que você pode facilmente desmontá-lo e redesenhar novamente. Achei útil, quando fiquei preso, simplesmente começar de novo. Depois de fazer isso algumas vezes, é muito fácil e rápido reconstruir do zero. A grande coisa sobre isso é que você não precisa se preocupar em "quebrar" nada, pois você desenvolverá as habilidades para reconstruir facilmente.

O que você precisa

  • Raspberry Pi B +
  • Kit de base e motor
  • Placa de base Lego
  • Super cola de força industrial
  • Furar
  • Faca artesanal
  • Equipamento de solda
  • cartão SD
  • Leitor de cartão SD
  • Kit controlador de motor
  • 2 LEDs
  • Webcam de preço médio (você pode tentar uma barata)
  • PC e um tablet / telefone
  • Roteador Wifi ao qual você tem acesso de administrador
  • Muitos pedaços de Lego
  • Carregador de telefone de emergência
  • 4 fios de salto, cada um com pelo menos 1 terminal fêmea
  • 4 pilhas AA (recarregável é bom)

Etapa 1: preparar a base

Comecei com uma base e 2 motores como este conjunto na Amazon

Pegue a base de perspex e cole uma placa de base Lego fina nela. Usei para isso uma super cola forte industrial que seca em minutos e é super forte. Quando a cola for fixada, corte o excesso da placa de base Lego de forma que ela siga a linha da placa de base perspex. em seguida, faça furos na placa de Lego que combinem com a base de perspex. Fiz os furos como e quando precisei. Agora você tem a base para construir sua estrutura de Lego.

Etapa 2: montar as rodas

Monte as rodas
Monte as rodas

Agora monte as rodas. Siga as instruções do fabricante aqui. As rodas que comprei tinham todas as instruções em chinês, que não consigo ler, mas era muito fácil descobrir pelas fotos. Depois de montados, prenda os fios aos motores com uma pequena gota de solda.

Etapa 3: prenda as rodas à base

Anexe as rodas à base
Anexe as rodas à base

Em seguida, prenda as rodas na placa de base, você pode fazer furos na base, se necessário. Você provavelmente descobrirá no final do projeto que deseja que os fios passem pela base em outro lugar, mas você sempre pode fazer um novo furo e realocar mais tarde.

Etapa 4: Prepare o Pi

Prepare o Pi
Prepare o Pi

Agora prepare o PI. Usei um modelo B + com um dongle wi-fi USB. Usei a imagem da área de trabalho completa baseada no Debian Jessie, que você pode baixar no site Raspbian Pi. Vale a pena criar o cartão SD do zero e manter a imagem do disco à mão, pois você pode começar de novo com facilidade. Talvez você precise pesquisar um pouco no Google para descobrir como criar a imagem de disco no seu PC. Eu criei minha imagem usando o Ubuntu assim: Clique com o botão direito na imagem de disco e selecione "abrir com gravador de imagem de disco". Grave a imagem no cartão SD. A imagem do disco é muito pequena, então se você tiver um cartão SD maior (por exemplo: 30 GB), você pode usar um software de particionamento como o GParted para usar todo o espaço disponível. Depois de descobrir como fazer isso, leva cerca de 5 minutos e realmente vale a pena, pois se você bagunçar o software, pode simplesmente reinstalar novamente.

Etapa 5: Monte a placa do controlador

Monte a placa controladora
Monte a placa controladora

Em seguida, você precisa de uma placa controladora do motor. Usei o kit da RyanTek. Ele vem com um excelente guia de soldagem, mas acho que você também pode obtê-lo pré-soldado. Se você nunca soldou antes, não se preocupe, vá devagar e pratique um pouco antes de começar na placa do motor.

Agora, conecte o pacote de bateria (com 4 baterias AA) e os motores até a placa controladora e, em seguida, conecte a placa controladora aos pinos GPIO do Pi. Mais uma vez, a placa controladora fornecerá mais detalhes. Não se preocupe em colocar os fios corretos do motor nos slots certos, contanto que eles não estejam conectados aos slots de alimentação DC. Eu não colo ou aparafuso o Pi ou a bateria na placa de Lego, pois isso dá a você mais flexibilidade ao projetar o corpo de Lego. Você também pode alterar seu design facilmente à medida que avança.

Etapa 6: comece a construir o Lego Body

Comece a construir o corpo do Lego
Comece a construir o corpo do Lego
Comece a construir o corpo do Lego
Comece a construir o corpo do Lego

Agora é hora de construir um Lego. Nesse ponto, você pode envolver crianças muito pequenas, contanto que elas possam segurar um pedaço de Lego! Começamos com apenas uma caixa quadrada básica até que tudo estava funcionando, então ficamos mais aventureiros com o cão-robô. A grande coisa aqui é que você pode reconstruir o corpo do robô tanto quanto quiser. Comece criando uma casa para o Pi. Lembre-se de deixar espaço para as portas USB e os cabos de alimentação. Construa uma boa quantidade de folga em qualquer habitação que você construir. É normal que as coisas mexam um pouco e você não pode ser muito preciso com o Lego.

Usamos janelas Lego para fornecer acesso às portas USB de que você precisará mais tarde.

Etapa 7: Prepare o Pi

Agora é um bom momento para iniciar o Pi e colocar o robô em movimento.

Estou desenvolvendo o código para usar com este projeto no hub Git. As páginas Leia-me sobre o hub git mostram as instruções sobre como instalar todo o software no Pi, mas também apresentarei as etapas aqui.

Primeiro inicie o Pi, conectando o cabo de alimentação. Você precisará conectar o cabo HDMI a uma TV e usar um teclado e mouse USB. A primeira coisa é conectar-se ao seu Wifi. você faz isso clicando no ícone no canto superior direito da área de trabalho do Raspian e provando os detalhes. Uma vez conectado ao Wifi você pode fazer todo o resto na linha de comando, então se você preferir pode se conectar ao Pi usando ssh, mas por enquanto, como estamos conectados a uma TV, podemos abrir um terminal do desktop Raspian.

Etapa 8: Instale o software no Pi

Abra o terminal no Pi e digite os seguintes comandos.

sudo apt-get update

Isso atualiza o Raspian com o software mais recente.

Em seguida, instale o software da webcam

sudo apt-get install motion

Você também precisa configurar o movimento neste ponto. Listei o que precisa ser atualizado em quais arquivos nas páginas do github. Há também um instrutivo sobre como fazer uma webcam funcionar no seu Pi. Conheça as configurações e experimente-as quando estiver confortável com a configuração.

sudo apt-get install python-dev python-pip

Isso instala bibliotecas Python e também o gerenciador de pacotes de software python.

sudo pip install 'pubnub> = 4.1.2'

Isso instala o Pubnub, o software que gerencia as mensagens entre o painel de controle e seu robô sem fio.

Demora um pouco para instalar esta parte, então vá e faça uma xícara de chá !!

Etapa 9: Instale o software do robô

Agora que você instalou todos os bits e partes de software dependentes, é hora de instalar o código necessário para executar o robô.

git clone

isso criará uma pasta lego-robot em seu diretório inicial.

Antes de executar o código do robô, você precisa criar uma conta PubNub e obter uma chave de publicação e assinatura. você pode fazer isso seguindo as instruções de introdução agora no PubNub. Depois de configurar, você precisa abrir os dois arquivos:

  • lego-robot / server / keys.py
  • lego-robot / client / keys.js

e substitua as chaves pub e sub pelas chaves que você pode obter no painel pubnub.

Observe que o valor do canal pode ser qualquer coisa, desde que corresponda no cliente e no servidor.

Etapa 10: instale o software do controlador e verifique se tudo funciona

Instale o software do controlador e verifique se tudo funciona
Instale o software do controlador e verifique se tudo funciona
Instale o software do controlador e verifique se tudo funciona
Instale o software do controlador e verifique se tudo funciona

Em um PC, clone o código do hub git da mesma maneira que fizemos no robô.

git clone

Você pode não ter o git instalado no seu PC. Caso contrário, siga as instruções em git hub.

Você também tem a opção de baixar o código como um arquivo zip, embora eu recomende instalar o GIT e copiar os arquivos clonando o repositório.

você precisará atualizar o arquivo lego-robot / client / keys.js com suas chaves de publicação e assinatura pessoais.

Quando terminar, abra o arquivo lego-robot / client / buttons.html em um navegador da web. Agora você deve ser capaz de controlar seu robô usando os botões de controle.

O diagrama acima mostra o que está acontecendo:

  • Quando você clica em um botão, uma mensagem é enviada ao pubnub (usando sua chave de publicação)
  • O PubNub então encaminha para o robô que …
  • Está ouvindo (usando a chave de assinatura) para mensagens
  • O robô então se traduz em uma ação.

Usei o pubNub porque é grátis, rápido (em tempo real) e simplifica muito o envio e recebimento de mensagens usando uma API muito boa.

Você pode cavar no código do cliente e do servidor e ver as mensagens sendo enviadas usando teclas simples como "para frente" e "para trás".

Também existe um controlador de estilo joystick em lego-robot / client / joystick.html.

Estarei aprimorando esses controladores e adicionando novos o tempo todo, então se você quiser atualizar o software, pode usar o comando "git pull". Sinta-se à vontade para contribuir com o repositório git e criar controles mais amigáveis ao usuário.

Agora você está pronto para verificar se o movimento funciona bem. No terminal Pi, mude o diretório para lego-robot / server e digite:

sudo python robot.py

isso inicia um script Python para ouvir as mensagens recebidas do Pubnub.

Agora tente pressionar alguns botões no controlador, você deve ver essas respostas recebidas no Terminal Pi (como mostrado na imagem acima) e o robot.py traduz essas mensagens em movimentos mapeando-as em sinais no Pi GPIO.

Você deve ser capaz de mover o robô.

Etapa 11: Prepare a webcam e as luzes LED

Prepare a webcam e as luzes LED
Prepare a webcam e as luzes LED
Prepare a webcam e as luzes LED
Prepare a webcam e as luzes LED

Você pode usar qualquer webcam compatível com Linux (a maioria delas é). Eu escolheria um de gama média (cerca de £ 15), pois experimentei um realmente barato e não consegui obter qualquer tipo de imagem clara dele. O primeiro passo é desmontar a webcam para que você tenha apenas a placa básica e a câmera.

Se você deseja instalar luzes, pegue uma luz LED e conecte dois fios de ligação a cada terminal. Usei cabos de ligação que têm um terminal fêmea em uma extremidade para que você possa conectá-lo facilmente aos pinos GPIO Pis mais tarde. A outra ponta do fio você precisa descascar, para remover o terminal. Você também pode soldar aqui para fazer uma conexão segura. Eu também usei um filme termorretrátil, que você pode usar para cobrir cada fio, embora eu não me preocupe em fazer um trabalho muito bom até que você esteja feliz que tudo está funcionando, então você pode terminar e melhorar. Também é uma boa ideia usar um resistor para impedir que o LED acenda.

Há instruções detalhadas aqui que detalham como conectar os LEDs.

Como mostra a imagem, uso um bloco de Lego com um orifício como uma maneira fácil de montar o LED na cabeça do robô.

Etapa 12: crie a cabeça com câmera e luzes

Crie a cabeça com câmera e luzes
Crie a cabeça com câmera e luzes
Crie a cabeça com câmera e luzes
Crie a cabeça com câmera e luzes
Crie a cabeça com câmera e luzes
Crie a cabeça com câmera e luzes

Crie uma caixa para a cabeça da câmera. Não serei muito específico aqui, pois é hora de você ser criativo. No entanto, você precisa construir em torno da câmera. Dog bot integra a câmera em seu nariz e tem os olhos como LEDs. Certifique-se de deixar um orifício na parte de trás da cabeça para conduzir os fios para fora.

Etapa 13: Complete o Corpo

Complete o corpo
Complete o corpo
Complete o corpo
Complete o corpo
Complete o corpo
Complete o corpo

Agora que você está feliz que o cão-robô está basicamente se movendo, você pode criar uma caixa para as baterias. Usei um pacote de 4 baterias AA (fornecidas com as rodas e a base) e um carregador de telefone de emergência. As baterias AA são para os motores DC para as rodas e o pacote de telefone celular é para o Pi. É uma boa ideia tornar as baterias facilmente acessíveis, pois você terá que acessá-las para recarregar e substituir.

Quando estiver feliz, coloque um teto sobre o Pi. Não me preocupo muito em esconder os fios e circuitos, pois isso faz parte da imagem dos robôs. No entanto, tudo depende de você neste momento. Você pode querer considerar o quão pesado seu bot está ficando, quanto mais pesado, mais lento ele se move.

Etapa 14: monte a cabeça

Monte a Cabeça
Monte a Cabeça
Monte a Cabeça
Monte a Cabeça
Monte a Cabeça
Monte a Cabeça

É hora de conectar tudo.

Conecte o cabo USB da Webcams à frente do bot, usando os orifícios de acesso que você criou. Você pode prender o fio ao robô criando uma caixa de Lego. Eu também encurtei o cabo USB, cortando e soldando novamente, mas só faça isso se você realmente tiver vontade de soldar 4 fios minúsculos juntos. Pode ser mais fácil comprar um cabo USB curto e reconectá-lo à parte traseira da câmera.

Você também precisa conectar as luzes LED aos pinos Pis GPIO não utilizados pelo controlador da placa do motor. Esses são os pinos 20 e 21 do GPIO e os dois pinos de aterramento sobressalentes próximos. Use os pinos de aterramento sobressalentes nas proximidades. Se a luz não funcionar, tente alternar o aterramento com a saída GPIO. PARA descobrir quais pinos conectar ao google um bom diagrama GPIO.

Etapa 15: teste os LEDs e a câmera do nariz

Teste os LEDs e a Nose Cam
Teste os LEDs e a Nose Cam

Para iniciar o tipo de software da webcam:

movimento sudo

Além disso, certifique-se de ter iniciado o script robot.py (conforme detalhado nas instruções anteriores):

sudo python robot.py

Agora você deve conseguir usar o interruptor de luzes no controlador para ligar e desligar as luzes.

A webcam deve transmitir em seu endereço IP Pis na porta 8080, então, por exemplo, digite o seguinte em seu navegador.

192.168.1.2:8081

Encontrei o endereço IP do Pi fazendo login em meu roteador como administrador e observando os dispositivos conectados. As instruções sobre como fazer isso geralmente estão na parte traseira do roteador ou consulte as instruções do roteador online.

você pode explorar as definições de configuração do software de movimento, conforme descrito na etapa anterior. Acho que às vezes o streaming é interrompido, mas geralmente funciona bem.

Você pode acessar este stream de vídeo de qualquer coisa que execute um navegador conectado à sua rede Wifi.

Etapa 16: Concluindo

Acesso online

Agora você deve conseguir controlar o robô de um navegador em um PC. No entanto, é bom ser capaz de controlar o bot de qualquer dispositivo de toque como Ipad ou telefone.

Para fazer isso, você precisa hospedar os arquivos do cliente (buttons.html etc) em um servidor web.

Comecei instalando um servidor web no Pi, que funciona bem. No entanto, é mais fácil simplesmente enviar o arquivo HTML para qualquer outro servidor da web. Simplesmente copiei o arquivo HTML para minha conta pública de host blue. Você pode querer proteger o acesso a esses arquivos, pois eles contêm as chaves pub sub para seu canal pub nub. Depois de fazer isso, você pode acessar o controlador de qualquer dispositivo, mesmo de fora de sua casa.

Inicialização automática

Outra coisa útil a fazer é atualizar o script / etc / rc.local em seu Raspberry Pi; adicionando estas duas linhas:

  • movimento sudo
  • nohup sudo python /home/pi/lego-robot/server/robot.py &

Eles serão executados toda vez que o Pi for inicializado, então você não precisa executar o comando manualmente.

Etapa 17: Divirta-se

Divirta-se !
Divirta-se !

Isso é tudo.

Sinta-se à vontade para deixar comentários se tiver dúvidas e se quiser melhorar algum software, por favor, contribua com o repositório do github. Vou continuar a trabalhar neste projeto e aqui estão algumas ideias:

  • Um controlador do estilo "big trak" onde você programa uma sequência de comandos como "left 10, forward 6, back 2 …" e então clica em "run" e o robô executa os comandos.
  • Um pescoço inclinado, para que você possa olhar para cima com a webcam
  • Um alto-falante que traduz o texto do controlador para a fala
  • Controle de voz controlado

Saúde

Peter

Recomendado: