Sommario:

Robot lancia caramelle con Arduino, parti riciclate e Dlib.: 6 passaggi
Robot lancia caramelle con Arduino, parti riciclate e Dlib.: 6 passaggi

Video: Robot lancia caramelle con Arduino, parti riciclate e Dlib.: 6 passaggi

Video: Robot lancia caramelle con Arduino, parti riciclate e Dlib.: 6 passaggi
Video: Project Showcase: Candy Throwing Robot 2024, Dicembre
Anonim
Robot lancia caramelle con Arduino, parti riciclate e Dlib
Robot lancia caramelle con Arduino, parti riciclate e Dlib

Con alcune parti riciclate, uno scudo motore Arduino + e il software per computer Dlib, puoi creare un lanciatore di caramelle che rileva il viso.

Materiali:

  • Cornice di legno
  • Laptop/computer (preferibilmente uno più potente di un Raspberry Pi!).
  • Arduino (preferibilmente Uno o uno che si adatti allo scudo del motore.)
  • Scudo motore Arduino (ho usato il vecchio scudo Adafruit, come è ancora venduto qui)
  • Qualsiasi webcam standard
  • Rondella piccola

Parti riciclate:

  • Involucro (la vecchia scatola di metallo funziona bene.)
  • Motore passo-passo, motore DC da vecchia stampante smontata.
  • Vecchio alimentatore della stampante
  • Distributore di caramelle (contenitore di yogurt grande).

Le viscere del prodotto finito assomiglieranno in qualche modo alla panoramica allegata.

Avvertimento

Assicurati di scollegare l'alimentazione da Arduino/configurazione del motore prima di cablare/ricablare. Assicurati di collegare l'alimentazione con la polarità corretta!

Questo è un progetto di livello intermedio che utilizza Arduino e il software che devi installare o compilare sul tuo computer. Le istruzioni possono variare e sono state testate lavorando su Ubuntu.

Potrebbe essere necessario adattare il codice Arduino a qualsiasi scudo motore in uso, se non si utilizza il vecchio scudo motore Adafruit.

Passaggio 1: forare, collegare e montare il motore

Forare, collegare e montare il motore
Forare, collegare e montare il motore
Forare, collegare e montare il motore
Forare, collegare e montare il motore

Praticare dei fori nella custodia, collegando il motore passo-passo in modo che la webcam possa spostarsi nella parte superiore e il dispenser possa ruotare nella parte inferiore.

I motori passo-passo possono muoversi con piccoli incrementi (4 fili), a differenza dei motori CC (2 fili) che corrono avanti/indietro, non a passi.

Il motore CC ha 2 fili (funziona in entrambi i modi), il motore passo-passo opzionale avrà 4 bobine su due (prova con un misuratore di resistenza multimetro per vedere dove sono cablate le bobine, come descritto qui).

Se stai usando il vecchio scudo Adafruit come nel mio esempio, dovresti collegare il motore del filatore di caramelle DC al motore n. 3 e lo stepper ai primi due motori (n. 1, n. 2) come descritto nella loro documentazione.

Una volta collegati, collega i motori a un Arduino Motor Shield collegato a un Arduino. Per ottenere i migliori risultati, si consiglia di disporre di un secondo alimentatore per i motori, che è possibile collegare all'uscita CC su una verruca da parete da $ 2 da un negozio di seconda mano.

Passaggio 2: collegamento del contenitore

Collegamento del contenitore
Collegamento del contenitore
Collegamento del contenitore
Collegamento del contenitore
Collegamento del contenitore
Collegamento del contenitore
Collegamento del contenitore
Collegamento del contenitore

Misura il centro di un contenitore di yogurt o di un altro grande contenitore di plastica e fora una presa appena più grande dell'estremità del motore.

Attacca il contenitore alla scatola usando una piccola rondella - Krazy-collalo sul fondo del contenitore e sul mandrino del motore elettrico.

Lascia asciugare la colla per un giorno o due affinché si indurisca completamente: potresti posizionare un piccolo distanziatore tra la scatola e il contenitore rotante per assicurarti che non si deformi.

Passaggio 3: fai un piccolo foro per il lanciatore di caramelle

Fai un piccolo foro per il lanciatore di caramelle
Fai un piccolo foro per il lanciatore di caramelle

Una volta che lo spinner è fissato correttamente, usa l'estremità di un coltello affilato per delineare un piccolo foro per far uscire le caramelle dall'estremità - questo dovrebbe essere appena sopra il fondo, dove si trova il labbro.

(Per ottenere i migliori risultati, è possibile caricare circa 30 pezzi di caramelle sull'estremità del coperchio del distributore, che sarà il fondo.)

Continua a delineare delicatamente con un coltello affilato finché non fuoriesce, lasciando un piccolo foro (puoi espandere il foro in seguito se necessario).

Passaggio 4: configurazione di Arduino

Se non hai già installato il software Arduino, scaricalo da

www.arduino.cc/en/Main/Software

Qualsiasi versione recente dovrebbe funzionare.

Testa il motore DC/Stepper con gli esempi forniti nel codice di esempio di Arduino Shield.

Se ti capita di utilizzare questo shield (ancora disponibile da alcuni rivenditori) puoi utilizzare direttamente il mio codice:

github.com/programmin1/HowToTrainYourRobot…

Una volta che hai testato e puoi dispensare caramelle inserendo "d" nella finestra seriale di Arduino, è il momento di collegarlo al riconoscimento di Dlib.

Passaggio 5: configurazione Dlib

Dlib (https://dlib.net/) fornisce una libreria open source e facile da usare per il riconoscimento delle immagini. Installa il modulo Python Dlib usando:

sudo pip install Dlib

- o -

sudo easy_install Dlib

Attendi che Dlib venga installato e compilato. (Avrai bisogno di un computer con preferibilmente un paio di giga di RAM, oppure dovrai aspettare molto tempo ed espandere lo spazio di swap). Il codice utilizza anche OpenCV per il modulo webcam, quindi esegui:

sudo apt-get install python-opencv

I passaggi di installazione possono variare se utilizzi MacOS o altri sistemi operativi.

Ora prendi i dati dei punti di riferimento del rilevamento dei volti da

dlib.net/files/shape_predictor_68_face_land…

Decomprimilo (con Archive Manager / 7zip) e posizionalo in HOME/Downloads/shape_predictor_68_face_landmarks.dat

Passaggio 6: collegamento del riconoscimento facciale al robot

Collegamento del riconoscimento facciale al tuo robot
Collegamento del riconoscimento facciale al tuo robot

Collega l'USB che controlla Arduino al computer e verifica che esista il file "/dev/ttyACM0" (questo è il dispositivo a cui inviare i comandi seriali). Se non funziona e viene visualizzata una directory con un nome simile diverso che viene visualizzata in /dev quando lo si collega, sostituire /dev/ttyACM0 nel file faceDetectThreadCorrelationCV2FaceSmile.py nel repository.

Collega la webcam (se non è presente alcuna webcam incorporata nel computer che stai utilizzando) ed esegui quel file.py nella riga di comando o con il comando Esegui/F5 nell'editor di testo Geany. Se desideri utilizzare una seconda webcam/esterna su un laptop, potresti voler cambiare "VideoCapture (0)" in "VideoCapture (1)" per utilizzare una seconda webcam, che puoi posizionare sul motore passo-passo sopra la scatola del robot.

Se tutto va bene vedrai la sagoma di un sorriso quando una faccia è davanti alla webcam.

Leggi la panoramica e il codice sorgente del file.py per vedere la matematica di come funziona il rilevamento del sorriso dai punti che Dlib fornisce dalla funzionalità del punto di riferimento del viso.:)

Consigliato: