Índice:

Robô lançador de doces com Arduino, peças recicladas e Dlib .: 6 etapas
Robô lançador de doces com Arduino, peças recicladas e Dlib .: 6 etapas

Vídeo: Robô lançador de doces com Arduino, peças recicladas e Dlib .: 6 etapas

Vídeo: Robô lançador de doces com Arduino, peças recicladas e Dlib .: 6 etapas
Vídeo: Projeto com ARDUINO UNO! Dispenser de Chocolate M&M feito com potes de Yakult. 2024, Novembro
Anonim
Robô lançador de doces com Arduino, peças recicladas e Dlib
Robô lançador de doces com Arduino, peças recicladas e Dlib

Com algumas peças recicladas, um motor Arduino + protetor e software de computador Dlib, você pode fazer um lançador de doces com detecção facial funcional.

Materiais:

  • Quadro de madeira
  • Laptop / computador (de preferência um mais poderoso do que um Raspberry Pi!).
  • Arduino (de preferência Uno ou um que se encaixe na blindagem do motor)
  • Escudo do motor Arduino (usei o antigo escudo Adafruit, que ainda é vendido aqui)
  • Qualquer webcam padrão
  • Arruela pequena

Peças recicladas:

  • Carcaça (caixa de metal velha funciona bem.)
  • Motor de passo, motor DC de impressora antiga desmontada.
  • Fonte de alimentação da impressora antiga
  • Distribuidor de doces (recipiente grande para iogurte).

As entranhas do produto acabado parecerão um pouco com uma visão geral anexada.

Aviso

Certifique-se de desconectar a alimentação do Arduino / configuração do motor antes de conectar / religar. Certifique-se de conectar a alimentação na polaridade correta!

Este é um projeto de nível intermediário usando Arduino e software que você precisa instalar ou compilar em seu computador. As instruções podem variar e foram testadas no Ubuntu.

Você pode precisar ajustar o código do Arduino para qualquer blindagem do motor que estiver usando, se não estiver usando a blindagem do motor Adafruit antigo.

Etapa 1: Perfure, conecte e monte o motor

Perfure, conecte e monte o motor
Perfure, conecte e monte o motor
Perfure, conecte e monte o motor
Perfure, conecte e monte o motor

Faça orifícios na caixa, conectando o motor de passo para que a webcam possa se mover na parte superior e o dispensador possa girar na parte inferior.

Os motores de passo podem se mover em pequenos incrementos (4 fios), ao contrário dos motores CC (2 fios) que funcionam para trás / para frente, não em etapas.

O motor DC tem 2 fios (funciona em qualquer direção), o motor de passo opcional terá 4 em duas bobinas (teste com medidor de resistência do multímetro para ver onde as bobinas estão conectadas, conforme descrito aqui).

Se você estiver usando o antigo escudo Adafruit como no meu exemplo, deverá conectar o motor giratório DC candy ao motor nº 3 e o motor de passo aos dois primeiros motores (nº 1, nº 2) conforme descrito na documentação.

Uma vez conectado, conecte os motores a um Arduino Motor Shield conectado a um Arduino. Para obter melhores resultados, é recomendável ter uma segunda fonte de alimentação para os motores, que você pode conectar à saída CC em uma verruga de parede de US $ 2 de uma loja de segunda mão.

Etapa 2: Anexando o contêiner

Anexando o recipiente
Anexando o recipiente
Anexando o recipiente
Anexando o recipiente
Anexando o recipiente
Anexando o recipiente
Anexando o recipiente
Anexando o recipiente

Meça o centro de um recipiente de iogurte ou outro recipiente grande de plástico e fure um suporte um pouco maior que a extremidade do motor.

Prenda o recipiente na caixa usando uma pequena arruela - Krazy-cole no fundo do recipiente e no eixo do motor elétrico.

Deixe a cola secar por um ou dois dias para curar completamente - você pode colocar um pequeno espaçador entre a caixa e o recipiente giratório para garantir que não fique torto.

Etapa 3: faça um pequeno buraco para o lançador de doces

Faça um pequeno buraco para o lançador de doces
Faça um pequeno buraco para o lançador de doces

Depois que o girador estiver preso corretamente, use a ponta de uma faca afiada para delinear um pequeno orifício para que o doce seja jogado para fora - deve ficar logo acima do fundo, onde fica a borda.

(Para melhores resultados, cerca de 30 pedaços de doce podem ser carregados na extremidade da tampa do distribuidor, que será a parte inferior.)

Continue delineando suavemente com uma faca afiada até que saia, deixando um pequeno buraco (você pode expandir o buraco mais tarde, se necessário).

Etapa 4: configuração do Arduino

Se você ainda não instalou o software Arduino, obtenha-o em

www.arduino.cc/en/Main/Software

Qualquer versão recente deve funcionar.

Teste o motor DC / Stepper com os exemplos fornecidos no código de exemplo do seu Arduino Shield.

Se você estiver usando este escudo (ainda disponível em alguns revendedores), pode usar meu código diretamente:

github.com/programmin1/HowToTrainYourRobot…

Uma vez que você testou e pode dispensar doces digitando "d" na janela serial do Arduino, é hora de conectá-lo ao reconhecedor do Dlib.

Etapa 5: configuração do Dlib

Dlib (https://dlib.net/) fornece uma biblioteca de código aberto e fácil de usar para reconhecimento de imagem. Instale o módulo Python Dlib usando:

sudo pip install Dlib

- ou -

sudo easy_install Dlib

Espere o Dlib instalar e compilar. (Você precisará de um computador com, de preferência, alguns GB de RAM, ou terá de esperar muito tempo e expandir o espaço de swap). O código também usa OpenCV para o módulo da webcam, então execute:

sudo apt-get install python-opencv

As etapas de instalação podem variar se você usar MacOS ou outros sistemas operacionais.

Agora pegue os dados dos marcos de detecção de rosto de

dlib.net/files/shape_predictor_68_face_land…

Descompacte-o (com Archive Manager / 7zip) e coloque-o em HOME / Downloads / shape_predictor_68_face_landmarks.dat

Etapa 6: conectando o reconhecedor facial ao seu robô

Conectando o reconhecedor facial ao seu robô
Conectando o reconhecedor facial ao seu robô

Conecte o USB de controle do Arduino ao computador e verifique se o arquivo "/ dev / ttyACM0" existe (este é o dispositivo para o qual enviar os comandos seriais). Se não funcionar e um diretório diferente com um nome semelhante que aparece em / dev quando você o conecta, substitua / dev / ttyACM0 no arquivo faceDetectThreadCorrelationCV2FaceSmile.py no repo.

Conecte a webcam (se não houver webcam embutida no computador que você está usando) e execute o arquivo.py na linha de comando ou com o comando Executar / F5 no editor de texto Geany. Se quiser usar uma segunda webcam / webcam externa em um laptop, você pode alterar "VideoCapture (0)" para "VideoCapture (1)" para usar uma segunda webcam, que você pode colocar no motor de passo em cima da caixa do robô.

Se tudo correr bem, você verá o esboço de um sorriso quando um rosto estiver na frente da webcam.

Leia a visão geral e o código-fonte do arquivo.py para ver a matemática de como a detecção de sorriso funciona a partir dos pontos que o Dlib fornece da funcionalidade de marco facial.:)

Recomendado: