Taula de continguts:

Robot per llançar caramels amb Arduino, peces reciclades i Dlib: 6 passos
Robot per llançar caramels amb Arduino, peces reciclades i Dlib: 6 passos

Vídeo: Robot per llançar caramels amb Arduino, peces reciclades i Dlib: 6 passos

Vídeo: Robot per llançar caramels amb Arduino, peces reciclades i Dlib: 6 passos
Vídeo: UNBOXING Y REVIEW DETALLADA DE PASTILLERO ELECTRONICO 2024, Desembre
Anonim
Robot per llançar caramels amb Arduino, peces reciclades i Dlib
Robot per llançar caramels amb Arduino, peces reciclades i Dlib

Amb algunes peces reciclades, un escut del motor Arduino + i el programari informàtic Dlib, podeu crear un llançador de caramels que detecti la cara.

Materials:

  • Estructura de fusta
  • Ordinador portàtil / ordinador (preferiblement un més potent que un Raspberry Pi!).
  • Arduino (preferiblement Uno, o bé que s’adapti al vostre escut del motor).
  • Escut del motor Arduino (he utilitzat el vell escut Adafruit, com encara es ven aquí)
  • Qualsevol càmera web estàndard
  • Rentadora petita

Peces reciclades:

  • Carcassa (la caixa metàl·lica antiga funciona bé).
  • Motor pas a pas, motor CC de la impressora vella desmuntada.
  • Antiga font d'alimentació de la impressora
  • Dispensador de caramels (gran envàs de iogurt).

Les entranyes del producte acabat s’assemblaran a una visió general adjunta.

Atenció

Assegureu-vos de desconnectar l’alimentació de la configuració del motor / Arduino abans de connectar-lo o tornar-lo a connectar. Assegureu-vos de connectar l’alimentació a la polaritat correcta.

Es tracta d’un projecte de nivell intermedi que utilitza Arduino i el programari que heu d’instal·lar o compilar al vostre ordinador. Les instruccions poden variar i es van provar treballant a Ubuntu.

És possible que hàgiu d’ajustar el codi Arduino al blindatge del motor que feu servir, si no utilitzeu el blindatge del motor vell d’Adafruit.

Pas 1: perforar, connectar i muntar el motor

Perforar, connectar i muntar el motor
Perforar, connectar i muntar el motor
Trepant, connectar i muntar el motor
Trepant, connectar i muntar el motor

Feu forats a la caixa, fixant el motor pas a pas perquè la càmera web es pugui moure per la part superior i el dispensador pugui girar per la part inferior.

Els motors pas a pas es poden moure en petits increments (4 cables), a diferència dels motors de corrent continu (2 cables) que funcionen cap endarrere / endavant, no per passos.

El motor de corrent continu té 2 cables (funciona de qualsevol manera); el motor pas a pas opcional tindrà 4 bobines en dues (prova amb un mesurador de resistència multímetre per veure on es connecten les bobines, tal com es descriu aquí).

Si utilitzeu l'antic escut Adafruit com en el meu exemple, hauríeu de connectar el motor de filatura de caramels de CC al motor # 3 i el pas a pas als dos primers motors (# 1, # 2) tal com es descriu a la seva documentació.

Un cop connectats, connecteu els motors a un blindatge del motor Arduino connectat a un Arduino. Per obtenir els millors resultats, es recomana tenir una segona font d'alimentació als motors, que es pot connectar a la sortida de CC en una berruga de paret de 2 $ des d'una botiga de segona mà.

Pas 2: connectar el contenidor

Col·locació del contenidor
Col·locació del contenidor
Col·locació del contenidor
Col·locació del contenidor
Col·locació del contenidor
Col·locació del contenidor
Col·locació del contenidor
Col·locació del contenidor

Mesureu el centre d’un recipient de iogurt o un altre recipient de plàstic gran i foradeu una bodega més gran que l’extrem del motor.

Connecteu el contenidor a la caixa amb una rentadora petita: enganxeu-la a la part inferior del contenidor i al fus del motor elèctric.

Deixeu que la cola s’assequi durant un o dos dies per curar-la completament; és possible que vulgueu col·locar un petit espaiador entre la caixa i el recipient giratori per assegurar-vos que no quedi tort.

Pas 3: Feu un petit forat per al llançador de caramels

Feu un petit forat per al llançador de caramels
Feu un petit forat per al llançador de caramels

Quan la filadora estigui ben fixada, utilitzeu l'extrem d'un ganivet afilat per perfilar un petit forat per llançar caramels del final, que hauria d'estar just per sobre de la part inferior, on hi ha el llavi.

(Per obtenir els millors resultats, es poden carregar aproximadament 30 trossos de llaminadures a l'extrem de la tapa del dispensador, que serà la part inferior.)

Continueu perfilant suaument amb un ganivet afilat fins que surti, deixant un petit forat (podeu ampliar el forat més tard si cal).

Pas 4: Configuració d'Arduino

Si encara no heu instal·lat el programari Arduino, obteniu-lo

www.arduino.cc/ca/Main/Software

Qualsevol versió recent hauria de funcionar.

Proveu el motor CC / Pas a pas amb els exemples que apareixen al codi d'exemple del vostre Arduino Shield.

Si utilitzeu aquest escut (encara disponible per a alguns revenedors), podeu utilitzar el meu codi directament:

github.com/programmin1/HowToTrainYourRobot…

Quan hàgiu provat i pugueu dispensar dolços introduint "d" a la finestra de sèrie Arduino, és hora de connectar-lo al reconeixedor de Dlib.

Pas 5: Configuració de Dlib

Dlib (https://dlib.net/) proporciona una biblioteca de codi obert fàcil d'utilitzar per al reconeixement d'imatges. Instal·leu el mòdul Python Dlib mitjançant:

sudo pip instal·la Dlib

- o -

sudo easy_install Dlib

Espereu a instal·lar i compilar Dlib. (Necessitareu un ordinador amb preferiblement un parell de memòries RAM, o bé haureu d’esperar molt de temps i ampliar l’espai d’intercanvi). El codi també utilitza OpenCV per al mòdul de càmera web, així que executeu:

sudo apt-get install python-opencv

Els passos d’instal·lació poden variar si utilitzeu MacOS o altres sistemes operatius.

Ara agafeu les dades referents a la detecció de cares

dlib.net/files/shape_predictor_68_face_land…

Descomprimiu-lo (amb Archive Manager / 7zip) i col·loqueu-lo a HOME / Downloads / shape_predictor_68_face_landmarks.dat

Pas 6: connectar el reconeixedor facial al robot

Connexió del reconeixedor facial al vostre robot
Connexió del reconeixedor facial al vostre robot

Connecteu l'USB que controla Arduino a l'ordinador i comproveu que existeixi el fitxer "/ dev / ttyACM0" (aquest és el dispositiu al qual s'envien les ordres en sèrie). Si no funciona i es mostra un directori de nom similar que apareix a / dev quan el connecteu, substituïu / dev / ttyACM0 al fitxer faceDetectThreadCorrelationCV2FaceSmile.py a la reposició.

Connecteu la càmera web (si no hi ha cap càmera web integrada a l’ordinador que utilitzeu) i executeu el fitxer.py a la línia d’ordres o amb l’ordre Executar / F5 a l’editor de text Geany. Si voleu utilitzar una segona càmera web externa / portàtil, és possible que vulgueu canviar "VideoCapture (0)" a "VideoCapture (1)" per utilitzar una segona càmera web, que podeu col·locar al motor pas a pas al capdamunt de la caixa del robot.

Si tot va bé, veureu un esbós d’un somriure quan una cara estigui davant de la càmera web.

Llegiu la visió general i el codi font del fitxer.py per veure les matemàtiques de com funciona la detecció de somriures des dels punts que Dlib proporciona des de la funcionalitat de referència.:)

Recomanat: