Índice:

Banana / Raspberry Pi + Arduino Rover com webcam: 9 etapas
Banana / Raspberry Pi + Arduino Rover com webcam: 9 etapas

Vídeo: Banana / Raspberry Pi + Arduino Rover com webcam: 9 etapas

Vídeo: Banana / Raspberry Pi + Arduino Rover com webcam: 9 etapas
Vídeo: 12 NEW Raspberry Pi Projects you must try!!! 2024, Julho
Anonim
Banana / Raspberry Pi + Arduino Rover com webcam
Banana / Raspberry Pi + Arduino Rover com webcam

Um projeto que fiz nas minhas horas vagas. É um robô de 4 rodas com tração total controlado por meio de uma interface da web. Se você tiver quaisquer comentários ou perguntas, não hesite em contactar-me. Este projeto em si usa partes impressas em 3D e certas partes de código que foram criadas por outras pessoas. Você pode encontrar os créditos e dar uma olhada nas peças originais no final do Instructuble.

Começaremos?

Etapa 1: Componentes de que você precisa

Componentes que você precisa
Componentes que você precisa
Componentes que você precisa
Componentes que você precisa
Componentes que você precisa
Componentes que você precisa

Aqui está a lista de componentes que usei com os links e as alternativas. Eu moro em Shenzhen, China e comprei as peças diretamente no Taobao.

Alternativa de chassi de robô de 4 motores: Qualquer chassi suficientemente grande serve. Este tem 4 motores para algum torque extra. Os motores são motores amarelos baratos regulares, avaliadores para

Clone do L293D Arduino Motor Shield rev.1 Alternativa: Melhor escudo do motor classificado para mais corrente

Alternativa de clone do Arduino Uno: Você pode usar qualquer outra placa do Arduino sem alterações significativas no código.

Alternativa de bateria 6V 4.5Ah Pb: É possível experimentar baterias LiPo menores se você quiser um robô mais leve / usar apenas dois motores.

Alternativa Banana Pi: Pode ser trocada por Raspberry Pi 1/2/3 ou Orange Pi sem alterações significativas no código. Usei Banana Pi apenas porque tinha uma por aí.

Alternativa de câmera da web: use a câmera CSI para Raspberry Pi / Banana Pi / Orange Pi

Montagem de pan / tilt de câmera com servos sg60 Alternativa: A montagem de inclinação / panorâmica de impressão 3D, por exemplo, pode usar este.

Peças impressas em 3D Alternativa: Deixe sua imaginação e talentos em design 3D guiá-lo! Também Thingverse:)

Etapa 2: conectar os motores com a blindagem do motor L293D

Conecte os motores com a blindagem do motor L293D
Conecte os motores com a blindagem do motor L293D
Conecte os motores com a blindagem do motor L293D
Conecte os motores com a blindagem do motor L293D

Conecte cada motor com os terminais de parafuso da blindagem do motor. Aqui está o diagrama de fiação. Se você tiver apenas dois motores e não quiser alterar o código, anexe-os ao MOTOR 1 e ao MOTOR 3.

NOTA: Para aqueles que usam motores diferentes com classificação de corrente mais alta, pode ser necessário outro driver de motor. Como alternativa, um pequeno truque que aprendi recentemente é que você pode adicionar mais dois drivers L293D sobre o existente (é o chip do meio na placa)!

Etapa 3: Arduino Uno, conjunto do escudo do motor

Arduino Uno, conjunto de blindagem do motor
Arduino Uno, conjunto de blindagem do motor

Coloque o Arduino Uno na caixa e instale o Motor Shield em cima dela. Só há uma maneira de fazer isso: se não servir, você está fazendo algo errado!

Capa Arduino Uno Snug

Aqui está o case que usei, modelo criado pelo Esquilo.

Etapa 4: conecte a alimentação ao Banana Pi e ao Arduino

Conecte a energia ao Banana Pi e ao Arduino
Conecte a energia ao Banana Pi e ao Arduino

Usei a interface SATA para fornecer energia ao Banana Pi (6v). Se você tiver a mesma placa também pode fazer isso, apenas certifique-se de que a tensão está entre 5v-6v. É uma fonte de alimentação desregulada, então estou assumindo que há um circuito de proteção para alimentação SATA no Banana Pi M1.

ATENÇÃO: Para Raspberry Pi você tem algumas opções: um seguro (usando o conector USB para fornecer 5v) e um não tão seguro (usando pinos GPIO). Aqui está o link para ler sobre como conectar a alimentação aos pinos GPIO do Raspberry Pi. Assegure-se de que você

1) Use fonte de alimentação regulada

2) Defina a tensão para 5v

Não há circuito de proteção para pinos GPIO! Se você fizer algo errado, há uma grande chance de danificar os componentes eletrônicos da placa.

Para Arduino, basta conectar a alimentação aos terminais de parafuso de entrada na blindagem do motor. Pode demorar até 12v.

Etapa 5: coloque Banana Pi na caixa impressa em 3D, monte o resto do rover

Coloque Banana Pi na caixa impressa em 3D, monte o resto do rover
Coloque Banana Pi na caixa impressa em 3D, monte o resto do rover
Coloque Banana Pi na caixa impressa em 3D, monte o resto do rover
Coloque Banana Pi na caixa impressa em 3D, monte o resto do rover

Usei este caso para Banana Pi de thingverse, criado por GermanRobotics. A capa eu mesma fiz.

Coloque a Banana Pi na caixa, cubra com a tampa, use a pistola de cola para prender o Arduino Uno em cima da caixa da Banana Pi.

Cubra a bateria com esta tampa e fixe o suporte panorâmico / inclinado da web cam na parte superior.

Se estiver usando o Banana Pi, você precisará de um hub USB, pois ele possui apenas dois slots USB (o Raspberry 2, 3 tem quatro). Puramente por questões estéticas, decidi usar um hub USB OTG 1-2 e esconder os fios dentro da caixa da Banana Pi.

Etapa 6: Montagem do hardware concluída

Montagem de hardware concluída!
Montagem de hardware concluída!

Vamos resumir rapidamente o que fizemos até agora.

Montamos a plataforma do robô, conectamos a energia ao Banana Pi, Arduino Uno, conectamos os motores e servos ao driver do motor e usamos o hub USB para conectar a câmera USB e o Arduino Uno ao Banana Pi. Agora você pode testar e solucionar problemas de hardware. O diagrama de fiação mostrando todas as conexões está na imagem para esta etapa.

Etapa 7: configuração do sistema

Configuração do sistema
Configuração do sistema

Eu usei a imagem Raspbian Lite para o sistema no meu pi. A versão Lite não tem interface gráfica do usuário e vem com apenas pacotes básicos por instalação. Mas ocupa muito menos espaço, o que significa que podemos usar um cartão SD menor. Se você não se sentir confortável sem a GUI, também pode instalar a imagem completa.

Conecte seu pi à Internet com o cabo Ethernet. Depois de inicializar, o primeiro passo seria conectá-lo ao Wi-Fi.

Execute o seguinte comando no terminal

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Edite o arquivo de configuração com suas credenciais de WiFi

rede = {ssid = "teste" psk = "testingPassword"}

Reinicie o pi. Voila! Agora você está conectado ao Wi-Fi.

Em seguida, precisaremos instalar o pip (Python Package Manager)

sudo apt-get install python-setuptools

sudo easy_install pip

Agora usamos pip para instalar o Flask para executar um servidor da web e pyserial para pi para se comunicar com o Arduino por meio de uma conexão serial.

frasco de instalação do sudo pip

sudo pip install pyserial

A última coisa será instalar e configurar o pacote de movimento, que usamos para streaming de vídeo de nossa webcam.

Siga este ótimo instrutível para fazer isso.

Agora estamos prontos para fazer barulho!

Etapa 8: Iniciando o software

Iniciando o Software
Iniciando o Software
Iniciando o Software
Iniciando o Software

Lembra como eu disse que estamos prontos para lutar?

Ok, um pouco mais de moagem e então podemos começar a roncar:)

Vamos baixar todos os arquivos necessários do meu repositório github.

git clone

Faça upload de rover.ino para o Arduino Uno. Se você fez alterações de hardware (usando uma blindagem de motor diferente, por exemplo), você precisa alterar o esboço.

Se você estiver usando uma webcam, modifique a linha próxima à parte inferior do arquivo index.html na pasta de modelos. Altere o URL na linha IFRAME para corresponder ao URL src de seu stream de vídeo.

Agora você pode iniciar o servidor web. Execute o seguinte comando

sudo python pi_rover.py

Se você seguiu minha construção bem de perto e conectou o Arduino, verá o seguinte (primeira imagem) no terminal.

Digite o endereço IP do seu robô no navegador da web (por exemplo, no meu caso era 192.168.1.104), você pode verificar o endereço IP com o comando $ ifconfig no Linux.

/ faça a dança de celebração aqui! /

Se você tiver alguma dúvida, sinta-se à vontade para me perguntar nos comentários. Este tutorial é voltado para o nível iniciante, mas não para o iniciante, é por isso que fui bastante breve sobre as coisas que você pode simplesmente pesquisar no Google (por exemplo, gravar imagem do sistema no cartão SD, fazer upload do esboço do Arduino, etc.).

Etapa 9: Créditos

A ideia e o código do servidor web vêm deste excelente instrutível por jscottb. Eu o modifiquei para usar um hardware mais comum, como o Arduino Uno.

As peças impressas em 3D da Thingverse.

www.thingiverse.com/thing:994827

www.thingiverse.com/thing:2816536/files

www.thingiverse.com/thing:661220

Recomendado: