Cuprins:

Dog Bot: Lego Robot Rover cu cameră web: 17 pași (cu imagini)
Dog Bot: Lego Robot Rover cu cameră web: 17 pași (cu imagini)

Video: Dog Bot: Lego Robot Rover cu cameră web: 17 pași (cu imagini)

Video: Dog Bot: Lego Robot Rover cu cameră web: 17 pași (cu imagini)
Video: This Guys So Strong, No One Can Beat Him... 2024, Iulie
Anonim
Image
Image

Iată cum să faci un robot Lego pe care îl poți controla de pe orice ecran prin wifi. Are, de asemenea, o cameră web, astfel încât să puteți vedea unde mergeți și luminile LED pentru ochi! Acesta este un proiect minunat de făcut cu copiii dvs., deoarece aceștia pot crea logo-ul și îi puteți implica în tot felul de electronice pe cât sunt mulțumiți. Există o mulțime de flexibilitate în modul în care implementați acest proiect, iar acest lucru înseamnă că o poate face ușor în bucăți și reproiecta din nou. Mi s-a părut util, când m-am blocat să încep pur și simplu din nou. După ce ați făcut acest lucru de câteva ori, este destul de ușor și rapid de reconstruit de la bază. Marele lucru legat de acest lucru este că nu trebuie să vă faceți griji în legătură cu „spargerea” nimic, deoarece veți dezvolta abilitățile de a reconstrui cu ușurință.

De ce ai nevoie

  • Raspberry Pi B +
  • Set bază și motor
  • Placă de bază Lego
  • Super lipici de rezistență industrială
  • Burghiu
  • Cuțit meșteșugăresc
  • Echipamente de lipit
  • card SD
  • Cititor card SD
  • Set controler motor
  • 2 LED-uri
  • Cameră web cu preț mediu (ați putea încerca una ieftină)
  • PC și o tabletă / telefon
  • Router Wifi la care aveți acces de administrator
  • O mulțime de bucăți de Lego
  • Încărcător de telefon de urgență
  • 4 fire de salt fiecare cu cel puțin 1 terminal feminin
  • 4 baterii AA (reîncărcabilă este bună)

Pasul 1: Pregătiți baza

Am început cu o bază și 2 motoare ca acest motor setat la Amazon

Luați baza de perspex și lipiți o placă de bază subțire Lego pe ea. Am folosit super lipici industrial pentru acest lucru care se usucă în câteva minute și este foarte puternic. Când lipiciul este fixat, tăiați placa de bază Lego în exces, astfel încât să urmeze linia plăcii de bază din perspex. apoi găuriți prin placa Lego care se potrivește cu baza perspexului. Am forat găurile când și când aveam nevoie de ele. Acum aveți fundamentul pentru construirea structurii Lego.

Pasul 2: Asamblați roțile

Asamblați roțile
Asamblați roțile

Acum asamblați roțile. Urmați instrucțiunile producătorului aici. Roțile pe care le-am cumpărat aveau toate instrucțiunile în chineză, pe care nu le pot citi, dar a fost destul de ușor să-mi dau seama din imagini. Odată asamblate atașați firele la motoare cu o mică blobă de lipit.

Pasul 3: Atașați roțile la bază

Atașați roțile la bază
Atașați roțile la bază

Apoi atașați roțile pe placa de bază, puteți face găuri în bază, dacă aveți nevoie. Probabil că veți afla spre sfârșitul proiectului că doriți ca firele să fie conduse prin bază în altă parte, dar puteți oricând să faceți o gaură nouă și să vă mutați mai târziu.

Pasul 4: Pregătiți Pi

Pregătește Pi
Pregătește Pi

Acum pregătește PI. Am folosit un model B + cu un dongle USB wifi. Am folosit imaginea desktop completă bazată pe Debian Jessie pe care o puteți descărca de pe site-ul Raspbian Pi. Merită să creați cardul SD de la zero și să păstrați imaginea discului la îndemână, deoarece puteți începe cu ușurință din nou. S-ar putea să trebuiască să faceți un pic de googling pentru a afla cum să creați imaginea de pe computer. Mi-am creat imaginea folosind Ubuntu astfel: Faceți clic dreapta pe imaginea de pe disc și selectați „deschideți cu scriitorul de imagini pe disc”. Scrieți imaginea pe cardul SD. Imaginea discului este destul de mică, deci dacă aveți un card SD mai mare (de exemplu: 30 GB) puteți utiliza software de partiționare precum GParted pentru a utiliza tot spațiul disponibil. După ce ați aflat cum să faceți acest lucru, durează aproximativ 5 minute și merită cu adevărat, ca și cum ați deranja software-ul, puteți doar să îl reinstalați din nou.

Pasul 5: Montați placa de control

Montați placa controlerului
Montați placa controlerului

Apoi aveți nevoie de o placă de control al motorului. Am folosit trusa de la RyanTek. Vine cu un ghid excelent de lipit, dar cred că îl puteți obține și pre-lipit. Dacă nu ați făcut niciodată lipire, nu vă faceți griji, pur și simplu luați-o încet și exersați puțin înainte de a porni pe placa motorului.

Acum, atașați acumulatorul (cu 4 baterii AA) și motoarele până la placa controlerului, apoi atașați placa controlerului la pinii GPIO ai Pi. Din nou, placa de control vă va oferi mai multe detalii. Nu vă faceți griji cu privire la introducerea firelor potrivite ale motorului în sloturile potrivite, atâta timp cât nu sunt conectate la sloturile de alimentare DC. Nu lipesc și nu înșurub Pi sau acumulatorul pe placa Lego, deoarece acest lucru vă oferă mai multă flexibilitate atunci când proiectați corpul Lego. De asemenea, vă puteți schimba designul cu ușurință pe măsură ce mergeți mai departe.

Pasul 6: Începeți să construiți corpul Lego

Începeți să construiți corpul Lego
Începeți să construiți corpul Lego
Începeți să construiți corpul Lego
Începeți să construiți corpul Lego

Acum este timpul să construiești niște Lego. În acest moment puteți implica copii foarte mici, atâta timp cât pot ține o bucată de Lego! Am început cu doar o carcasă pătrată de bază până când totul a funcționat, apoi am devenit mai aventuroși cu robotul pentru câini. Lucrul grozav aici este că puteți reconstrui corpul robotului cât doriți. Începeți prin crearea unei case pentru Pi. Nu uitați să lăsați loc pentru porturile USB și cablurile de alimentare. Construiți o cantitate echitabilă de relaxare în orice locuință pe care o construiți. Este în regulă ca lucrurile să zgârie puțin și să nu poți fi prea precis cu Lego.

Am folosit Windows Lego pentru a oferi acces la porturile USB de care veți avea nevoie mai târziu.

Pasul 7: Pregătiți Pi

Este un moment bun acum pentru a porni Pi și pentru a pune robotul în mișcare.

Am dezvoltat codul de utilizat cu acest proiect la Git hub. Citiți-mă pe paginile hub-ului git vă oferă instrucțiuni despre cum să instalați tot software-ul pe Pi, dar vă voi parcurge și pașii Aici.

Mai întâi porniți Pi, conectând cablul de alimentare. Va trebui să conectați cablul HDMI la un televizor și să utilizați o tastatură și un mouse USB. Primul lucru este să vă conectați la Wifi. faceți acest lucru făcând clic pe pictograma din dreapta sus a desktopului Raspian și dovedind detaliile. Odată conectat la Wifi, puteți face orice altceva din linia de comandă, deci, dacă preferați, vă puteți conecta la Pi utilizând ssh, dar deocamdată, deoarece suntem conectați la un televizor, putem deschide un terminal de pe desktopul Raspian.

Pasul 8: Instalați software-ul pe Pi

Deschideți terminalul de pe Pi și tastați următoarele comenzi.

sudo apt-get update

Aceasta actualizează Raspian cu cele mai recente programe software.

Apoi, instalați software-ul camerei web

sudo apt-get install motion

De asemenea, trebuie să configurați mișcarea în acest moment. Am enumerat ce trebuie actualizat în ce fișiere din paginile github. Există, de asemenea, o instrucțiune despre modul în care funcționează o cameră web pe Pi. Cunoașteți setările și jucați-vă cu ele odată ce vă simțiți confortabil cu configurarea.

sudo apt-get install python-dev python-pip

Aceasta instalează bibliotecile Python și, de asemenea, managerul de ambalare software Python.

sudo pip instalează 'pubnub> = 4.1.2'

Aceasta instalează Pubnub, software-ul care gestionează mesageria dintre panoul de control și robotul dvs. wireless.

Este nevoie de ceva timp pentru a instala această parte, așa că du-te și pregătește o ceașcă de ceai !!

Pasul 9: Instalați software-ul robot

Acum ați instalat toate componentele software-ului dependent, este timpul să instalați codul necesar pentru a rula robotul.

git clone

aceasta va crea un folder lego-robot în directorul dvs. de acasă.

Înainte de a putea rula codul robotului, trebuie să creați un cont PubNub și să obțineți o cheie de publicare și abonare. puteți face acest lucru urmând instrucțiunile de pornire acum de la PubNub. Odată ce ați configurat, trebuie să deschideți cele două fișiere:

  • lego-robot / server / keys.py
  • lego-robot / client / keys.js

și înlocuiți tastele pub și sub cu cheile pe care le puteți obține de la tabloul de bord pubnub.

Rețineți că valoarea canalului poate fi orice, atâta timp cât se potrivește pe client și server.

Pasul 10: Instalați software-ul controlerului și verificați dacă funcționează

Instalați software-ul controlerului și verificați-l
Instalați software-ul controlerului și verificați-l
Instalați software-ul controlerului și verificați-l
Instalați software-ul controlerului și verificați-l

Pe un PC, clonați codul hub git în același mod ca și noi la robot.

git clone

Este posibil să nu aveți git instalat pe computer. Dacă nu, vă rugăm să urmați instrucțiunile de la git hub.

De asemenea, aveți opțiunea de a descărca codul ca fișier zip, deși v-aș sfătui să instalați GIT și să copiați fișierele prin clonarea depozitului.

va trebui să actualizați fișierul lego-robot / client / keys.js cu cheile dvs. personale de publicare și abonare.

Când ați terminat, deschideți fișierul lego-robot / client / buttons.html într-un browser web. Acum ar trebui să vă puteți controla robotul folosind butoanele de control.

Diagrama de mai sus arată ce se întâmplă:

  • Când faceți clic pe un buton, un mesaj este trimis la pubnub (folosind cheia de publicare)
  • PubNub trimite apoi robotului care …
  • Ascultă (folosind tasta de abonare) mesaje
  • Robotul se traduce apoi printr-o acțiune.

Am folosit pubNub ca fiind gratuit, rapid (în timp real) și simplifică foarte mult trimiterea și primirea mesajelor folosind un API foarte frumos.

Puteți săpați codul clientului și serverului și puteți vedea mesajele trimise folosind taste simple precum „înainte” și „înapoi”.

Există, de asemenea, un controler de stil joystick la lego-robot / client / joystick.html.

Voi îmbunătăți aceste controlere și voi adăuga noi tot timpul, așa că, dacă vreți vreodată să actualizați software-ul, puteți utiliza comanda „git pull”. De asemenea, nu ezitați să contribuiți la depozitul git și să creați controale mai ușor de utilizat.

Acum sunteți gata să verificați dacă mișcarea funcționează OK. Pe terminalul Pi, schimbați directorul în lego-robot / server și tastați:

sudo python robot.py

acesta pornește un script python pentru a asculta mesajele primite de la Pubnub.

Acum, încercați să apăsați câteva butoane de pe controler, ar trebui să vedeți aceste răspunsuri primite pe terminalul Pi (așa cum se arată în imaginea de mai sus), iar robot.py traduce aceste mesaje în mișcări, mapându-le la semnale de pe GPIO Pi.

Ar trebui să puteți deplasa robotul.

Pasul 11: Pregătiți camera web și luminile LED

Pregătiți camera web și luminile LED
Pregătiți camera web și luminile LED
Pregătiți camera web și luminile LED
Pregătiți camera web și luminile LED

Puteți utiliza orice cameră web compatibilă cu Linux (majoritatea sunt). Aș alege unul mediu (aproximativ 15 lire sterline), deoarece am încercat unul foarte ieftin și nu am putut obține niciun fel de imagine clară din acesta. Primul pas este să dezasamblați camera web, astfel încât să aveți doar placa de bază și camera.

Dacă doriți să instalați lumini, atunci luați o lumină LED și conectați două fire de salt la fiecare terminal. Am folosit fire de salt care au un terminal feminin la un capăt, astfel încât să îl puteți conecta cu ușurință la pinii GPIO Pis mai târziu. Celălalt capăt al firului trebuie să îl dezbrăcați, pentru a scoate terminalul. Puteți lipi și aici pentru a face o conexiune sigură. De asemenea, am folosit niște folii termocontractabile, pe care le puteți folosi pentru a acoperi fiecare fir, deși nu m-aș îngrijora să fac o treabă prea bună până când nu vă veți bucura că totul funcționează, atunci puteți termina și îmbunătăți. Este, de asemenea, o idee bună să utilizați un rezistor pentru a opri arderea LED-ului.

Aici există o instrucțiune detaliată care detaliază modul de conectare a LED-urilor.

După cum arată imaginea, folosesc un bloc Lego cu o gaură în el ca modalitate ușoară de a monta LED-ul pe capul roboților.

Pasul 12: Creați capul cu Nose-cam și Lights

Creați capul cu camera de nas și lumini
Creați capul cu camera de nas și lumini
Creați capul cu camera de nas și lumini
Creați capul cu camera de nas și lumini
Creați capul cu camera de nas și lumini
Creați capul cu camera de nas și lumini

Creați o carcasă pentru cap pentru cameră. Nu voi fi prea specific aici, pentru că este timpul să fii creativ. Cu toate acestea, trebuie să construiți în jurul camerei. Dog bot integrează camera în nas și are ochii ca LED-uri. Asigurați-vă că lăsați o gaură în spatele capului pentru a conduce firele afară.

Pasul 13: Completează corpul

Completează Corpul
Completează Corpul
Completează Corpul
Completează Corpul
Completează Corpul
Completează Corpul

Acum vă bucurați că robotul de câine se mișcă practic, puteți crea o carcasă pentru pachetele de baterii. Am folosit un pachet de 4 baterii AA (furnizate cu roțile și baza) și un pachet de încărcare pentru telefon de urgență. Bateriile AA sunt pentru motoarele de curent continuu pentru roți, iar pachetul de telefoane mobile este pentru Pi. Este o idee bună pentru a face bateriile ușor accesibile, deoarece va trebui să le accesați pentru reîncărcare și înlocuire.

Odată ce ești fericit, pune un acoperiș peste Pi. Nu-mi fac prea multe griji pentru a ascunde firele și circuitele, deoarece aceasta face parte din imaginea roboților. Cu toate acestea, depinde de tine în acest moment. S-ar putea să doriți să luați în considerare cât de greu este robotul dvs., cu cât este mai greu cu cât se mișcă mai lent.

Pasul 14: Montați capul

Montează capul
Montează capul
Montează capul
Montează capul
Montează capul
Montează capul

Este timpul să conectați totul.

Conectați cablul USB pentru camere web la partea din față a botului, folosind găurile de acces pe care le-ați creat. Puteți fixa cablul de robot prin crearea unor carcase Lego. De asemenea, am scurtat cablul USB tăindu-l și re-lipind, dar faceți acest lucru numai dacă aveți cu adevărat dorința de a lipi împreună 4 fire mici. Ar putea fi mai ușor să cumpărați un cablu USB scurt și să îl reconectați la partea din spate a camerei.

De asemenea, trebuie să conectați luminile LED la pinii GPIO Pis care nu sunt preluați de controlerul plăcii motorului. Acestea sunt pinii GPIO 20 și 21 și cei doi pin de masă de rezervă din apropiere. Folosiți știfturile de rezervă din apropiere. Dacă lumina nu funcționează, încercați să comutați terenul rotund cu ieșirea GPIO. Pentru a stabili ce pini să conectați la Google o diagramă GPIO bună.

Pasul 15: Testați LED-urile și camera nasului

Testați LED-urile și camera nasului
Testați LED-urile și camera nasului

Pentru a porni tipul de software webcam:

mișcare sudo

De asemenea, asigurați-vă că ați început scriptul robot.py (așa cum este detaliat în instrucțiunile anterioare):

sudo python robot.py

Acum ar trebui să puteți utiliza comutatorul luminilor de pe controler pentru a aprinde și a stinge luminile.

Camera web ar trebui să difuzeze pe adresa dvs. IP Pis pe portul 8080, deci, de exemplu, introduceți următoarele în browserul dvs. web.

192.168.1.2:8081

Am găsit adresa IP Pi conectându-mă la routerul meu ca administrator și uitându-mă la dispozitivele atașate. Instrucțiunile despre cum se face acest lucru sunt de obicei pe partea din spate a routerului sau consultați instrucțiunile routerelor dvs. online.

puteți explora setările de configurare ale software-ului de mișcare, așa cum este descris în pasul anterior. Consider că uneori streamingul se întrerupe, dar în general funcționează OK.

Puteți accesa acest flux video de la orice lucru care rulează un browser conectat la rețeaua Wifi.

Pasul 16: Finalizare

Acces online

Acum ar trebui să puteți controla robotul dintr-un browser de pe un computer. Cu toate acestea, este plăcut să puteți controla botul de pe orice dispozitiv tactil, cum ar fi Ipad sau telefon.

Pentru a face acest lucru, trebuie să găzduiți fișierele client (buttons.html etc) pe un server web.

Am început prin instalarea unui server web pe Pi, care funcționează OK. Cu toate acestea, este mai ușor să încărcați fișierul HTML pe orice alt server web. Am copiat pur și simplu fișierul HTML în contul meu gazdă albastru public. S-ar putea să doriți să protejați fișierul accesul la aceste fișiere, deoarece acestea conțin cheile secundare pub ale canalului dvs. pub nub. După ce faceți acest lucru, puteți accesa controlerul de pe orice dispozitiv, chiar și din afara casei.

Pornire automată

Un alt lucru util de făcut este să actualizați scriptul / etc / rc.local de pe raspberry Pi; adăugând aceste două linii:

  • mișcare sudo
  • nohup sudo python /home/pi/lego-robot/server/robot.py &

Acestea vor rula de fiecare dată când Pi pornește, deci nu trebuie să rulați manual comanda.

Pasul 17: Distrează-te

A se distra !
A se distra !

Asta e tot.

Vă rugăm să nu ezitați să lăsați comentarii dacă vă blocați și dacă doriți să îmbunătățiți vreun software, vă rugăm să contribuiți la depozitul github. Voi continua să lucrez la acest proiect și iată câteva idei:

  • Un controler de stil „mare trak” în care programați o secvență de comenzi precum „stânga 10, înainte 6, înapoi 2 …” și apoi apăsați „alergare” și robotul execută comenzile.
  • Un gât înclinabil, astfel încât să puteți privi în sus cu camera web
  • Un difuzor care traduce textul de la controler la vorbire
  • Control controlat prin voce

Noroc

Petru

Recomandat: