Cuprins:

Robot care aruncă bomboane cu Arduino, piese reciclate și Dlib: 6 pași
Robot care aruncă bomboane cu Arduino, piese reciclate și Dlib: 6 pași

Video: Robot care aruncă bomboane cu Arduino, piese reciclate și Dlib: 6 pași

Video: Robot care aruncă bomboane cu Arduino, piese reciclate și Dlib: 6 pași
Video: Partea 3: 👃 MI-AM FĂCUT OPERAȚIE PLASTICĂ la nas ❌ Am aflat secretul 2024, Noiembrie
Anonim
Robot care aruncă bomboane cu Arduino, piese reciclate și Dlib
Robot care aruncă bomboane cu Arduino, piese reciclate și Dlib

Cu câteva piese reciclate, un scut motor Arduino + și software de calculator Dlib, puteți crea un aruncător de bomboane care detectează fața.

Materiale:

  • Cadru de lemn
  • Laptop / computer (de preferință unul mai puternic decât un Raspberry Pi!).
  • Arduino (de preferință Uno sau unul care se potrivește scutului motorului).
  • Scut motor Arduino (am folosit vechiul scut Adafruit, așa cum se mai vinde aici)
  • Orice cameră web standard
  • Spălător mic

Piese reciclate:

  • Carcasă (cutia metalică veche funcționează bine.)
  • Motor pas cu pas, motor DC de la imprimanta veche demontată.
  • Sursa de alimentare a imprimantei vechi
  • Distribuitor de bomboane (recipient mare pentru iaurt).

Interiorul produsului finit va arăta oarecum ca o imagine de ansamblu atașată.

Avertizare

Asigurați-vă că deconectați alimentarea de la Arduino / configurarea motorului înainte de cablare / recablare. Asigurați-vă că conectați alimentarea la polaritatea corectă!

Acesta este un proiect de nivel intermediar care folosește Arduino și software-ul de care trebuie să instalați sau să compilați pe computer. Instrucțiunile pot varia și au fost testate lucrând pe Ubuntu.

Este posibil să trebuiască să ajustați codul Arduino la orice scut motor pe care îl utilizați, dacă nu utilizați vechiul scut motor Adafruit.

Pasul 1: găuriți, conectați și montați motorul

Găuriți, conectați și montați motorul
Găuriți, conectați și montați motorul
Găuriți, conectați și montați motorul
Găuriți, conectați și montați motorul

Găuriți carcasa, atașând motorul pas cu pas, astfel încât camera web să se poată deplasa deasupra, iar distribuitorul să se poată roti în partea de jos.

Motoarele pas cu pas se pot deplasa în trepte mici (4 fire), spre deosebire de motoarele de curent continuu (2 fire) care rulează înapoi / înainte, nu în trepte.

Motorul de curent continuu are 2 fire (funcționează în ambele sensuri), motorul pas cu pas opțional va avea 4 în două bobine (testați cu multimetrul de rezistență pentru a vedea unde sunt cablate bobinele, așa cum este descris aici.)

Dacă utilizați vechiul scut Adafruit ca în exemplul meu, ar trebui să conectați motorul filat DC pentru bomboane la motorul # 3 și pasul la primele două motoare (# 1, # 2) așa cum este descris în documentația lor.

Odată conectat, conectați motoarele la un scut motor Arduino atașat la un Arduino. Pentru cele mai bune rezultate, se recomandă să aveți o a doua sursă de alimentare a motoarelor, pe care să o puteți conecta la ieșirea de curent continuu pe un neg de perete de 2 USD dintr-un magazin second-hand.

Pasul 2: Atașarea containerului

Atașarea containerului
Atașarea containerului
Atașarea containerului
Atașarea containerului
Atașarea containerului
Atașarea containerului
Atașarea containerului
Atașarea containerului

Măsurați centrul unui recipient de iaurt sau alt recipient de plastic mare și găuriți o cală doar mai mare decât capătul motorului.

Atașați recipientul la cutie folosind o șaibă mică - Krazy-lipiți-o pe fundul recipientului și pe axul motorului electric.

Lăsați adezivul să se usuce timp de o zi sau două pentru a se vindeca complet - poate doriți să plasați un mic distanțier între cutie și recipientul care se rotește pentru a vă asigura că nu se încordează.

Pasul 3: Faceți o gaură mică pentru Candy Thrower

Faceți o gaură mică pentru Candy Thrower
Faceți o gaură mică pentru Candy Thrower

Odată ce filatorul este atașat corect, folosiți capătul unui cuțit ascuțit pentru a contura o mică gaură pentru ca bomboanele să fie aruncate din capăt - aceasta ar trebui să fie chiar deasupra fundului, unde este buza.

(Pentru cele mai bune rezultate, aproximativ 30 de bucăți de bomboane pot fi încărcate pe capătul capacului dozatorului, care va fi partea de jos.)

Continuați să conturați ușor cu un cuțit ascuțit până când iese afară, lăsând o gaură mică (puteți extinde gaura mai târziu, după cum este necesar).

Pasul 4: Configurare Arduino

Dacă nu ați instalat deja software-ul Arduino, obțineți-l de la

www.arduino.cc/en/Main/Software

Orice versiune recentă ar trebui să funcționeze.

Testați motorul DC / Stepper cu exemplele date în codul de exemplu al Arduino Shield.

Dacă se întâmplă să utilizați acest scut (încă disponibil de la unii revânzători), puteți utiliza codul meu direct:

github.com/programmin1/HowToTrainYourRobot…

Odată ce ați testat și puteți distribui bomboane introducând „d” în fereastra serială Arduino, este timpul să vă conectați la recunoscătorul Dlib.

Pasul 5: Configurare Dlib

Dlib (https://dlib.net/) oferă o bibliotecă open-source, ușor de utilizat, pentru recunoașterea imaginilor. Instalați modulul Python Dlib folosind:

sudo pip instala Dlib

- sau -

sudo easy_install Dlib

Așteptați instalarea și compilarea Dlib. (Veți avea nevoie de un computer cu de preferință câteva concerte RAM sau va trebui să așteptați mult timp și să extindeți spațiul de schimb). Codul folosește și OpenCV pentru modulul webcam, așa că rulați:

sudo apt-get install python-opencv

Pașii de instalare pot varia dacă utilizați MacOS sau alte sisteme de operare.

Acum, luați datele de referință pentru detectarea feței

dlib.net/files/shape_predictor_68_face_land…

Dezarhivați-l (cu Archive Manager / 7zip) și plasați-l în HOME / Downloads / shape_predictor_68_face_landmarks.dat

Pasul 6: Conectarea recunoașterii feței la robotul dvs

Conectarea recunoașterii feței la robotul dvs
Conectarea recunoașterii feței la robotul dvs

Conectați USB-ul care controlează Arduino la computer și verificați dacă există fișierul „/ dev / ttyACM0” (acesta este dispozitivul căruia îi trimiteți comenzile seriale). Dacă nu funcționează și un alt director numit în mod similar care apare în / dev când îl conectați, înlocuiți / dev / ttyACM0 în fișierul faceDetectThreadCorrelationCV2FaceSmile.py din repo.

Conectați camera web (dacă nu există nicio cameră web încorporată în computerul pe care îl utilizați) și rulați fișierul.py în linia de comandă sau cu comanda Run / F5 în editorul de text Geany. Dacă doriți să utilizați o a doua cameră web externă pe un laptop, poate doriți să schimbați „VideoCapture (0)” la „VideoCapture (1)” pentru a utiliza o a doua cameră web, pe care o puteți plasa pe motorul pas cu pas deasupra cutiei robotului.

Dacă totul merge bine, veți vedea o schiță a unui zâmbet atunci când o față se află în fața camerei web.

Citiți prezentarea generală și codul sursă al fișierului.py pentru a vedea matematica modului în care funcționează detectarea zâmbetului din punctele pe care Dlib le oferă din funcționalitatea reperului feței.:)

Recomandat: