FAC ULTATEA DE INGINERIE ELECTRICĂ Ș I TEHNOLOGIA INFORMAȚIEI PROGRAM DE STUDIU AUTOMATICĂ ȘI INFORMATICĂ APLICATĂ FORMA DE INVĂȚĂMÂNT ZI Proiect de… [630308]
UNIVERSITATEA DIN ORADEA
FAC ULTATEA DE INGINERIE ELECTRICĂ Ș I
TEHNOLOGIA INFORMAȚIEI
PROGRAM DE STUDIU
AUTOMATICĂ ȘI INFORMATICĂ APLICATĂ
FORMA DE INVĂȚĂMÂNT ZI
Proiect de diplomă
COORDONATOR ȘTIINȚIFIC
Conf.dr.ing.Barabaș Tiberiu
ABSOLVENT: [anonimizat]
2017
Formular “Tema – Lucrare de Finalizare a studiilor ”
UNIVERSITATEA DIN ORADEA
FACU LTATEA ______________________________________________
DEPARTAMENTUL ______________________________ ____________________
TEMA_________
Lucrare de Finalizare a studiilor a student: [anonimizat]_____________ ___________
1). Tema lucrării de finalizare a st udiilor :_____________________________ _______________
_______________________________________________________________________________
_______________________________________________________________________________
2). Termenul pentru predarea lucrării _____ ________________ _________________________
3). Elemente inițiale pentru elaborarea lucrării de finalizare a studiilor ______________ ____
________________________________________________________________________________
______________________________________ __________________________________________
4). Conținutul lucrării de finalizare a studiilor :_________________________ _____________ _
________________________________________________________________________________
_________________________________________ _______________________________________
________________________________________________________________________________
________________________________________________________________________________
5). Material grafic:__________________________________ ______________________________
________________________________________________________________________________
________________________________________________________________________________
6). Locul de documentare pentru elaborarea lucrării:
__________ ______________________________________________________________________
________________________________________________________________________________
7). Data emiterii temei_____________________________________________________________
Coordonatori științifici
(gradul didactic titlul științific și numele ),
UNIVERSITATEA DIN ORADEA
FACULTATEA DE INGINERIE ELECTRICĂ ȘI
TEHNOLOGIA INFORMAȚIEI
PROGRAM DE STUDIU
AUTOMATICĂ SI INFORMATICĂ APLICATĂ
FORMA DE INVĂȚĂMÂNT ZI
Comanda unui robot mobil cu
sistemul de dezvoltare Raspberry
PI și transmitere video în timp
real
COORDONATOR ȘTIINȚIFIC
Conf.dr. ing Barabaș Tiberiu
ABSOLVENT: [anonimizat]
2017
1
INTRODUCERE ………………………….. ………………………….. ………………………….. . 3
CAPITOLUL I. ROBOȚ I MOBILI ………………………….. ………………………….. .. 4
I.1 ROBOȚ I . GENERALITĂȚI ………………………….. ………………………….. ………………………….. …. 4
I.1.1 Tehnica de bază ………………………….. ………………………….. ………………………….. ………. 6
I.1.2 Tipuri de roboț i ………………………….. ………………………….. ………………………….. ………. 7
I.2 ROBOȚI MOBILI ………………………….. ………………………….. ………………………….. ……………… 7
I.2.1 Clasificarea roboților mobili ………………………….. ………………………….. …………………. 7
CAPITOLUL II. PLATFO RMA DE DEZVOLTARE RA SPBERRY PI … 10
II.1 PREZENTAREA GENERALĂ . CARACTERISTICI . ………………………….. ………………………….. . 10
II.2 COMPARAREA MODELELOR RASPBERRY PI ………………………….. ………………………….. …. 13
II.3. ACCESORII TIPICE PENT RU RASPBERRY PI ………………………….. ………………………….. ….. 14
II.3.1. Camera vide o ………………………….. ………………………….. ………………………….. ……… 14
II.3.2. Ecranul de tip LCD ………………………….. ………………………….. ………………………….. 15
II.3.3. Audio ………………………….. ………………………….. ………………………….. ………………… 17
II.3.4. Dispozi tive conectabile la portul GPIO ………………………….. ………………………….. . 18
II.4. Sistemul de operare : Instalare ………………………….. ………………………….. ……………… 18
II.4.1. Procedura de instalare a sistemului de operare (Linux) pentru Raspberry PI ……. 19
II.4.2. Procedura instală rii bibliotecii Python pentru accesarea porturilor I/O ……………. 20
II.4.3. Cr earea unui fișier Pytho n pentru comanda robotului mobil ………………………….. 21
II.4.4. Pr ocedura pentru lansarea automată in execuț ie a programului de comandă la
pornirea/alimentarea placii Raspberry PI ………………………….. ………………………….. ……… 22
CAPITOLUL III. PREZE NTAREA ROBOTULUI MOB IL ………………….. 24
III.1. ȘASIUL ROBOTULUI ………………………….. ………………………….. ………………………….. ……. 24
III.1.1 Descrierea robotului asamblat ………………………….. ………………………….. …………… 24
III.2. PLATFORMA DE DEZVOLTA RE RASPBERRY PI UTILIZATA (MODEL A+) …………………… 26
III.3. DRIVER -UL DE MOTOARE ………………………….. ………………………….. ………………………… 28
III.4. REGULATORUL DE TENSIU NE DE 5 V ………………………….. ………………………….. ………… 32
III.5. SENZORUL DE DISTANȚĂ ………………………….. ………………………….. ………………………… 34
III.6. CAMERA VIDEO ………………………….. ………………………….. ………………………….. ………… 36
2
CAPITOLUL IV. SCHEMA DE COMANDA A ROBOTU LUI MOBIL … 38
IV.1. DESCRIEREA SCHEMEI DE COMANDĂ ………………………….. ………………………….. ………… 38
CAPITOLUL V. PROGRAMU L DE COMANDĂ IN LIMBAJ PYTHON
PENTRU ROBOTUL MOBIL ………………………….. ………………………….. ……… 40
V.1. Algoritmul de funcț ionare ………………………….. ………………………….. …………………… 40
CAPITOLUL VI. TRANSM ITERE VIDEO IN TIMP REAL ……………….. 44
VI.1 APLICAȚ IILE CARACTE RISTICE ALE CAMEREI RASPBERRY PI ………………………….. …….. 44
VI. 2 CONFIGURAREA CAMEREI RASPBERRY PI………………………….. ………………………….. ….. 44
VI.3 CONFIGURAREA SOFTWARE ………………………….. ………………………….. …………………….. 44
VI.4 UTILIZAREA DE BAZĂ RASPIVID ………………………….. ………………………….. ………………. 46
VI.5.1 VLC MEDIA PLAYER ………………………….. ………………………….. ………………………….. . 47
VI.5.2 Transmisunea propriu -zisă in timp real ………………………….. ………………………….. 49
CONCLUZII ………………………….. ………………………….. ………………………….. …… 51
BIBLIOGRAFIE ………………………….. ………………………….. …………………………. 52
3
INTRODUCERE
Această lucrare își propune să prezinte un modul de proiectare și de realizare a unui robot mobil
care este programat să evite ob stacolele și să transmită imagini in timp real care se vor putea
viziona cu ajutorul unui stream. Robotul mobil trebuie sa funcționeze autonom si să execute
acțiunile de ocolire a obstacole lor fără intervenția utilizatorului. Construcția acestuia este
formată dintr -un șasiu care reprezintă scheletul principal al ansamblului. Pe acest schelet sunt
monta te, supraetajat, componentele ră mase ce alcătuiesc robotul mobil. În partea inferioară a
șasiului se află roț ile motoare cu reductor ș i roata de susținere . Pe partea superioară sunt așezate
părțile digital/analog ice, elementele de semnalizare și de comandă , sursa de energie, camer a
video Raspberry Pi iar in față se află senzorul de distanță pentru detectarea obiectelor.
Acest an samblu este controlat de o placă de dezvoltare Raspberry Pi care rulează programul
încărcat și este scris in limbajul de programare Pyt hon.
Prima parte a lucrării descrie elementele active folosite in sistem, placa de de zvoltare Raspberry
Pi, driverul pentru controlul motoarelor, stabilizatorul de tensiune, motoarele electrice, camera
Raspberry Pi și senzorul de distanță .
A doua parte a lucrării se referă la schema de comandă, sistemul de operare ș i descrierea
programul ui de comandă , progr amul de comandă robot ș i camera.
4
Capitolul I. Roboț i mobili
I.1 Roboț i . Generalități
De-a lungul timpului au fost formulate mai multe definiții ale robotului, de unele companii
constructoare sau asociații naționale din domeniu, toate încercând prin moduri diferite sa
definească aceeași entitate, același produs al inteligenț ei umane . Unele dintre aceste definiții
sunt următoarele :
JIRA ( Japan Industrial Robot Association) : „Robotul este un dispozitiv versatil si
flexibi l care conferă funcții de deplasare similare celor ale membrelor umane sau ale
cărui funcții de depla sare sunt comandate de senzori ș i de mijloace proprii de
recunoaștere ”
GM (General Motors ) : „Robotul este un echipament fizic cu funcționare
programabilă capabil sa efectueze anumite operații și secvențe de operații orientate spre
manipularea de piese, scule, subansamble”
RIA ( Robot Institute of America) : „Robotul este un manipulator multifuncțional ,
reprogramabil, destinat deplasării materialelor, piese lor, sculelor sau altor dispozitive
specializate prin mișcări variabil e, programate pentru a îndeplini anumite sarcini”
BRA ( British Robot Association) : „Robotul este un dispozitiv reprogramabil realizat
pentru manipularea si transportul pieselor, sculel or sau altor mijloace de producție prin
mișcări variabil e programate pentru a îndeplini sarcini specifice de fabricație ”
Se poate observa, din aceste definiții , că în cele mai multe cazuri, accent ul se pune pe latura
industrială a robotului. Una dintre pr imele definiții date acestei entități mecanice
evidențiază că aceasta imită omul si posibilitățile sale de acțiune . Având in vedere evoluția
cercetării in domeni u si exemplarele fizice de roboți mobili construite , care imită diferite
vietăți , am putea co mpleta definițiile de mai sus cu următoarea definiție : „Roboț ii sunt
sisteme mecanice cu structură variabila , controlate de sisteme complexe si concepute pentru
executarea de operații asemănătoare acțiunilor ființelor umane ș i nu numai.” [2]
Un robot este un operator mecanic sau virtual, artificial. Robotul este un sistem compus
din mai mul te elemente: mecanica, senzori ș i actuatori precum ș i un mecanism de
direcționare . Mecanica stabilește înfățișarea robotului si mișcările posibile. Senzorii ș i
5
actuator ii sunt responsabili de interacț ia cu mediul de lucru. Mecanismul de direcționare are
grijă ca robotul sa -și îndeplinească obiectivul cu succes, pe baza informațiilor primite de la
senzori. Acest mecanism reglează turația motoarelor și planifică mișcările care urmează a
fi efec tuate. Roboț ii cu mai mult de cinci gr ade de libertate se numesc roboț i industriali, iar
cei care imită forma umană se numesc androizi.
De asemenea termenul „robot” sau prescurtat „bot” , se utilizează și la denumirea unor
programe s oftware care îndeplinesc automat anumite funcții sau operații . Astfel roboții sunt
virtuali ș i nu doar mecanici.
Cuvântul „robot” ș i-a schimbat sensul de -a lungul timpului. Inițial termenul „robot” a
fost folosit de frații Josef Capek si Karel Capek î n lucrările lor de science -fiction la începutul
secolului XX. La originile sale, cuvântul „robot” este de origine slavă și se traduce prin
muncă, clacă sau muncă silnica. Karel Capek a descris î n piesa sa R.U.R din anul 1921
muncitori de asemănare umană , care sunt crescuți în rezervoare. Capek folosește în lucrarea
sa motivele clasice de golem. Denumirea de astăzi a creaturi lor din operele celor doi poartă
numele de android. Înaintea apariției termenului de robot s -au utilizat, de exemplu, in
uzinele lui Stani slaw Lem termenii automat si semiautomat.
Bazele roboților de astăzi stau mult mai departe. Primele modele de mașini pot fi mai
degrabă numite automate ( provenind di n grecescul automatos , care se mișcă singur).
Acestea nu puteau executa decât căte un sing ur obiectiv, fiind constrânse de construcție .
Odată cu descoperirea ceasului mecanic din secolul XIV s -a deschi s cal ea unor
posibilități noi si complexe. Nu mult după aceea au apărut ș i primele mașini , care semănau
îndepărtat cu roboț ii de azi. Era posib il însă, numai ca mișcările să urmeze una după alta,
fără sa fie nevoie de intervenția manuala î n acel sistem.
Dezvoltarea electrotehnicii din secolul XX a adus cu sine ș i o dezvoltare a roboticii.
Printre primii roboț i mobili se numără sistemul Elmer și Elsie construit de Wiliam Grey
Walter in anul 1948. Aceste triciclete se puteau îndrepta spre o sursă de lumină ș i puteau sa
recunoască coliziuni in împrejurimi . [23 ]
Anul 1956 este considerat anul nașterii robotului industrial. Ge orge Devol a de pus
candidatura î n acest an in S.U.A. pentru un patent, o schiță , pentru „transferul programat de
articole”. Câțiva ani după aceea a construit împreună cu Joseph Engelberger UNIMATE.
UNIMATE era un robot de circa doua tone, care a fost mai întâi introdus î n mont area de
iconoscoape pentru televizoare, găsindu -și apoi drumul în industria automobilă . Programele
pentru acest robot au fost salvate sub formă de comenzi direcționate pentru motoare pe un
cilindru magnetic. Pornind di n acest moment se introduc roboț i indu striali ca UNIMATE in
6
mai multe domenii ale producției fiind permanent dezvoltați mai departe pentru a putea face
față cererilor complexe care li se impun. Apariția din ce in ce mai frecventă a roboților in
film și literatură a atras atenția științei asupr a acestui tip de mașini . Domeniul științific , care
se ocupă de construcția roboților se numește robotică . Termenul a fost folosit pentru prima
data in anul 1942 de Isaac Asimov î n cartea sa, Runaround în care a enunțat cele 3 reguli
de baza ale roboților :
Legea 1. Un robot nu poate leza o ființă umană sau nu poate asista inactiv atunci când
acesta este î n primejdie.
Legea 2. Orice robot trebuie sa se supună comenzilor primite de la ființele umane, cu
excepția acelor comenzi care nu respectă prima lege.
Legea 3. Orice robot trebui e să se autoprotejeze atunci când este pusă î n pericol
integritatea sa, cu excepția cazurilor î n care s -ar încălca cel puțin una dintre primele două
legi.
Un dom eniu general teoretic științific , care se ocupa de roboț i, nu există . Acestea sunt
mai ales subdomenii ale informaticii.
Roboț ii oferă beneficii substanțiale muncitorilor, industriilor și implicit țărilor. În
situația folosirii î n scopuri pașnice , roboții industriali pot influenț a pozitiv calitatea vieții
oamenilor prin înlocuirea acestora în spaț ii periculoase, cu condiții de mediu dăunătoare
omului, cu condiții necunoscute de exploatare, etc.
Domeniile de aplicare a tehnicii roboților se dezvoltă mereu, ei putând fi utilizați in
industrie, transporturi și agricultură, î n sfera serviciilor, î n cunoașterea oceanului ș i a
spațiului cosmic, î n cercetarea științifică , etc. [11]
I.1.1 Tehnica de baz ă
Roboț ii sunt realizați mai ales prin combinația disciplinelor: mecanică, electrotehnică si
informatică. Î ntre timp s -a creat d in legătura acestora mecatronica.
Pentru realizarea de sisteme autonome (care sa găsească singure soluții ) este necesară
legătura a cat mai multe discipline de robotică . Aici se pune accent pe legătura conceptelor
de inteligență artificială sau neuroinfor matica, precum și idealul lor biologic sau
biocibernetica. Din conex iunea dintre biologie si tehnică s-a dezvoltat bionica.
Cele mai importante componente ale roboților sunt senzorii, care permit mobilitatea
acestora in mediu și o dirijare cât mai precisă . Un robot nu trebuie neapărat să poată să
acționeze autonom , fapt pentru care se distinge între roboții autonomi ș i cei teleghidați .[24]
7
I.1.2 Tipuri de roboț i
Termenul de „robot” reprezintă un domeniu dest ul de vast, cauza din care roboț ii sunt
sortați in multe categorii. Unele dintre acestea sunt:
• Robot autonom mobil
• Robot umanoid
• Robot industrial
• Robot explorator
• Robot medical
• Robot pășitor
• Robot educațional
• Robot militar
I.2 Roboți mobili
Roboții mobili sunt roboți care sunt capabili să -și modifice locația . Mobilitatea
roboților rezultă posibilitatea pentru implementări într-o multitudine de domenii.
I.2.1 Clasificarea roboților mobili
Roboț ii mobili pot fi clasificați după mediul î n care sunt destinați să funcționeze :
• Robot tereștrii in medii exte rioare
• Robot transportator pe drumuri sau medii de lucru interioare
• Robot aerian
• Robot subacvatic
• Robot polar (destinat pentru gheață si zăpadă )
• Roboți terestriali î n medii exterioare, cu aplicații în agricultură si in armată . Modul
de locomoție este prin șenile sau cu roț i. Dezvoltările în ultimul deceniu de către
Boston Dynamics a rezultat roboț i cu pășire cu fiabilitate ridicată astfel încât sunt
fezabile pentru aplicații militare.
Robotii transportatori sunt roboti care transportă marf a in interiorul un ei clădiri sau chiar
pe drumuri special amenajate. Implementările de interior includ transportarea mărfii in
depozite, echipamente și medicamente în spitale. Implementările în exterior sunt limitate
din cauza lipsei legislației pentru reglementar pe drumur i publice, dar deja includ mega –
camioane autonome î n mine de suprafață pe drumuri private.
Robotii aerieni sunt roboț i zburători cu metode de propulsie obișnuite în industria
aeronautică . Implementările , până recent, erau î n primul rând militare, cuprinzân d drone de
8
recunoaștere autonome și drone armate operate prin teleghidare. Scăderea prețului de
achiziție a dronelor domestice a rezultat aplicații care cupri nd de la industria foto -video
până la proiecte de transport rapid de către firme de curierat.
Robo ții subacvatici au aplicații diverse, cuprinzând de la cercetare științifică , la
aplicații militare sau comerciale și chiar personale. Î n cazul î n care robotul este echipat cu
manipulatori și efectori, aceștia pot îndeplini sarcini de constru cție, recuperare , salvare ș i
de reparații .
Clasificare după metoda de locomoție :
• Roți
• Șenile
• Pășire
• Elice aeriene sau subacvatice
• Târâre
• Rostogolire
Metoda de locomoție a robotului mobil trebuie selectata î n așa fel încât sa fie optimă
din punct de vedere al viteze i de deplasare, iar terenul antic ipat să fie parcurs astfel încât să
găsească cel mai economic drum din punct de vedere al consumului de energie pentru diverse
aplicații .
Roțile sunt i deale pentru drumuri sau teren s olid ușor de parcurs. Acestea sunt, de regulă ,
propulsate de motoare ele ctrice. În cazul î n care consumul de energie este mare sau autonomia
de funcționare trebuie sa fie îndelungată , ca și î n cazul roboților transportatori în exterior sunt
de preferat motoarele cu combustibili fosili.
De asemen ea, roboț ii mobili pot fi clasificați după metoda de navigare :
• Teleghidare manuală
• Teleghidare manuală cu protejare automată
• Autonom cu mișcare întâmplătoare
• Ghidat autonom
• Navigare variabilă sau glisantă
Teleghidarea manuală si teleghidarea manual ă cu pr otejare automată sunt implementări
cu complexități diferite. În cazul î n care se utilizează teleghidarea manuală se poate implementa
cu senzori ș i programare minimă pentru controlul robotului. Pe de altă parte, funcția de protejare
automată are nevoie de u n sistem de o complexitate consi derabilă. Protejarea automată este o
funcție pr in care robotul poate fi ghidat fără accidente, menținându -și traseul.
9
Roboț ii programați să urmărească linii au senzori adecvați pentru detectarea traseelor
preconfigurate într-o clădire , astfel încât cu un sistem relativ simplu pot sa parcurgă traseele.
Roboț ii autonomi cu mișcare întâmplătoare sunt roboț i echipați cu senzori pentru
detectarea obstacolelor ș i pereților , iar odată detectate sunt programați să le evite sau să le
ocolească .[23]
Roboț ii ghidați autonom au informații legate de poziția lor și traseuri pentru a ajunge la
destinație . Poziția robotului este calculată cu mai mulți senzori complecși ca și vedere
stereoscopică, sisteme de poziționare cu triangulare.
Cele mai recente ș i mediatiza te dezvoltări în robotică se regăsesc î n categoria roboților
mobili.
10
Capitolul II. Platforma de dezvoltare Raspberry PI
II.1 Prezentarea generală . Caracteristici.
Se poate numi mini -calculator sau platforma cu microprocesor . Indiferent de cum este
numi t, Raspberry PI se prezintă sub forma unei plăcuțe de circuit imprimat, fără carcasa.
Pe aceasta plăcuță se află un micropro cesor, o memorie RAM de 512 MB ș i un nucleu
de procesare video, cu o ieșire HDMI ș i RCA. Raspberry PI este un calculator de dimensi unea
unui card de credit ș i rulează un sistem de operare de operare de tip Linux. Se poate face cu el
aproape tot ceea ce se face cu un calculator obișnuit .
În plus, faț a de un calculator obișnuit , Raspberry PI oferă și posibi litatea realizării de
conexiuni hardware directe cu alte dis pozitive (senzori de temperatură, umiditate, lumină,
presiune atmosferică , butoane, relee driver de motoare, etc.) prin intermediul pinilor GPIO.
Pinii GPIO sunt expuși într-o zonă din lateralul plăcii și pot fi controlați prin orice l imbaj
de programare care rulează pe placa Raspberry PI (Python, C, C++, Java, PHP, .NET, etc.).
Datorită avanta jelor legate de dimensiunea mică și prețul de achiziț ie mic raportat la
performantele oferit e, placa Ras pberry PI reprezintă o aleger e bună pentru proiecte din
numeroase domenii : robotică , impr imare 3D, servere web, ftp, staț ii meteo, j ocuri 3D ; acestea
fiind doar câ teva exemple.
11
Figura 2.1. 1 Raspberry PI model B+ [8]
Ideea din spatele Ra spberry PI a fos t, de a construi un cal culator accesi bil, de dimensiuni
mici, care să poată fi utilizat î n scopuri didactice pentru promovarea tehnologiei informației și
a programă rii. Pe lâ ngă scopurile sale didactice, Raspberry PI a fost adoptat de către diverși
producă tori de dis pozitive electronice cât ș i de pasionați de electronică ș i programare ca re îl
folosesc în proiectarea ș i modelarea diferitelor aplicaț ii.
Raspberry PI a fost creat in 2006 de un grup de ingineri de la Universitat e din
Cambridge. Primele generaț ii de Raspberry PI, care au fost testate între anii 2006 – 2008, nu
ofereau o performanță foarte ridicată deoarece în cuantumul sumei mici de î ncadrare dorite, nu
se pute a realiza acest lucru. Abia după 2008 echipa mentele mobile de procesare au început sa
fie mai accesibile și totodată mai perfo rmante, ajungându -se în 2012 câ nd au fost lansate oficial
primele modele Raspberry PI (model A si mod el B) care se apropiau ca potenț ial de lu cru de
calculatoarele personale.
Pe lângă avantajul dimensiunilor relativ mici, mai precis dimensiunea unui card de
credit, Raspberr y PI poate concura cu performanț ele unui calculator personal, avâ nd posibilităț i
diverse, cum ar fi :
• Navigarea pe internet
12
• Redarea fișierelor video de rezoluție înaltă
• Server web
• Rularea unor jocur i
Pentru cele menț ionate anterior e neces ară doar conectarea unor periferice, cum ar fi, de
exemplu, un monitor, o tastatură, un mouse, etc. ș i acest „card de credit” numit Raspberry PI
devine un sistem de calcul independent din toate punctele d e vedere. R aspberry PI mai oferă și
o interfață GPIO (intrări si ieș iri de uz general) care pot fi utilizate pentru a conecta diferite
echipamente ș i sisteme electronice, pe care in acest mod le putem programa și controla ușor î n
mediul de dezvoltare integrat î n sist emul de operare.
Ca și opțiuni de redare video, Raspberry PI suportă conexiunile video HDMI ș i
TV – OUT (pe mufa RCA). Acest lucru înseamnă că se poate conecta la orice monitor, LCD
sau LED care a re conector video HDMI. Datorită faptului că procesorul v ideo este hardware
(rulează independent de procesoru l principal), Raspberry PI oferă o rezoluț ie Full HD.
Conexiunea video TV – OUT (standard PA L sau NTSC) mai este disponibilă ș i prin muf a de
tip RCA, de calitate redusă însă și la o rezoluție mai mică dec ât prin conexiunea HDMI.
Raspberry PI ne cesită o sursă de tensiune de 5V ș i min im 700 mA pentru a deveni
operațional, conectarea alimentării fiind făcută printr -o mufă micro -USB. Sursa de alimentare
fiind o parte foarte importantă a sistemului, este neces ar să se aleagă cu atenție. Dacă su rsa d e
alimentare nu oferă suficient curent sau mai rău, dă o tensiune de ieș ire mai mare de 5V, se
ajunge la diferite rezul tate nedorite cum ar fi : resetă ri ale sistemului de operare, pierderi de
date, blocarea cardu lui sau distrugerea ireversibilă a plăc ii Raspberry PI.
Raspberry PI suportă mouse și tastatură prin USB , chiar și pe wireless. După conectarea
lor la portul USB, sistemul de operare le recunoaș te automat.
In funcț ie de tipul de conexiune video pe care o su porta monitorul , se foloseș te un cablu
HDMI sau HDMI – DVI.
Se alege un sistem de operare (de exemplu Raspbian), se folosește utilitarul descris p e
pagina web [17] de unde se descarcă imaginea prin care aceasta este scris direct pe card.
După ce s-a scris imaginea, se introduce cardul in slotul aferen t pe placa, se conectează
monitorul, tastatura și mouse -ul, cablul de rețea și în sfarș it alimentarea. Pe ecran se va obține
interfața grafică a sistemului.
Pinii GPIO sunt acei pini tată (26 de pini, grupa ți în linii a câte 13 pini) care sunt dispuș i
pe zona de margine a plăcii. Acești pini oferă posibilitatea de a interfaț a placa Raspberry PI cu
o multitudine de dispozitive externe.
13
Pot fi controlate LED -uri , motoare, LCD -uri, se nzori etc. De exemplu, se pot măsura
accelerații folosind accelerometrul A DXL335, se poate măsura nivelul de alcool î n aerul expirat
folosind un senzor MQ3, concentraț iile de gaze GPL, ga z metan sau monoxid de carbon, gradul
de îndoire sau forța de apăsare, se pot măsura distanț e cu senzori Sharp sau cu senzori
ultrasonici, nivelul de lumină din încă pere, temperatura, sau nivelul de umi ditate, se poate
detecta prezența umană într -o încă pere, sau sunetul, asta ca sa a mintim doar o parte din
aplicațiile posibile cu această placă de dezvoltare.
Pinii Raspberry PI pot suporta o tensiune de maxim 3,3V. Aplicarea unei tensiuni mai
mari va distruge iremedia bil placa de dezvoltare. Aceleași precauții trebuie luate și în ceea ce
priveș te curentul tras din pinii GPIO. Acesta este limitat la 10 mA – 16 mA pe pin, dar suma
curenților pe toț i pinii nu trebuie să depășească 50 de mA.
II.2 Compararea modelelor Raspberry PI
După cum se poate observa în tabelul de mai jos, plă cile Raspberry PI model B si
Raspberry PI model B+ sunt dotate în plus c u port Ethernet și cu o memorie RAM mai extinsă ,
față de modelul A , iar modelul B3 este capabil să comunice și prin Bluetooth ș i Wifi. Mode lul
A este o alegere foarte bună în aplicațiile în care funcț ionarea aparatului este asigurată de la
baterie. Are o d imensiune mai mică , iar consumul redus de energie al plăcii asigură o autonomie
energetică mai bună a echipamentului, decâ t Raspberry PI model B2 si Raspberry PI model B3.
14
Tabel 2. 2.1. Compararea modelelor Raspberry PI [8]
II.3. Accesorii tipice pentru Raspberry PI
Față de un calculator obiș nuit, Raspberr y PI mai oferă posibilitatea realiză rii
conexiunilor hardware directe cu alte dispozitive prin porturile specifice video, audio, GPIO si
USB.
II.3.1. Camera video
Un up date al Fi rmware -ului Raspberry instalează toate programele driver necesare
pentru utilizarea camerei vid eo. Pentru aceasta se procedează conform indicaț iilor l uate de pe
site-ul oficial. După insta larea programelor se restartează sistemul de calcul, se la nsează
programul de aplicație, apoi camera devine utilizabilă pentru a face poze sau clipuri video. [14]
15
Modulul de cameră este conectat la interfața pentru cameră (CSI) din Raspberry PI
printr -un cablu lat, de tip panglică , de 15 pini.
Specificaț iile tehnice al e unei camere video îmbunătățită pentru Raspberry PI sunt :
• Senzorul de 8 megapixeli (față de 5 megapixeli î n versiunea 1)
• Rezoluț ie foto : 3280 x 2464 pixeli (față de 2592 x 1944 pixeli î n versiunea 1)
• Format video : 1080p / 720p
• Dimensiuni : 25 mm x 23mm x 9 mm
Figura 2.3 .1.1. Camera video Raspberry PI [14]
II.3.2. Ecranul de tip LCD
Ecranul de tip LCD poate sa afișeze 16 caractere pe 2 rânduri, are o lumină de fundal
albastră, ș i dispune de un conector c are permite ajustarea luminozității ș i conectarea la
Raspberry PI utilizând 8 fire de tip mamă – mamă .
16
Figura 2.3 .2.1 Ecranul de tip LCD 16×2 pentru Raspberry PI [25]
Placa Raspberry PI este prevăzută cu un nucleu de procesare video ca re este capabil sa
redea filme și imagini cu o rezoluție foarte i naltă (Full HD). Pentru proiecte din multe
domenii sunt dispo nibile display -uri touchscreen îmbunătățind mult posibilitățile micro –
calculatorului.
Display -ul si touchscreen -ul folosesc pinii I2C (SDA & SCL), pini SPI (SCK, Mosi,
MISO, CE0), precum ș i pinii GPIO #25 si #24. Ceilalți pini GPIO pot fi folosiți pentru
senzori, drivere si LED -uri.
Figura 2.3 .2.2 Ecran LCD cu rezoluț ie Full HD [25]
17
Specificaț iile tehnice ale unui displa y Raspberry PI sunt :
• Dimensiuni ecran : 50 mm x 69 mm x 4mm
• Dimensiuni PCB : 56 mm x 85 mm x 11mm
• Greutate : 47 g
II.3.3. Audio
Computerul Raspberry PI are capacitatea de a prel ucra semnale analogice și digitale
audio. Ieșirea audio este abordată pe două că i :
Calea analogică – prin intermediul mu fei Jack stereo de 3,5 mm afl ată pe placa de sunet.
Sunetul obț inut este recunoscut ca fiind la un nivel de calitate acceptabil.
Calea digitală – prin in termediul conectorului HDMI. Ieșirea HDMI oferă un potențial
de redare audio de înaltă calitate, depinzând desigur ș i de c alitatea dispozitivelor aflate în sistem
care sunt implicate î n convertirea semnalelor audio din format analogic în format digital ș i
viceversa.
Figura 2.3. 3.1. Dispunerea conectorilor cardului audio Cirrus Logic [9]
18
Caracteri sticile cardului audio sunt urmă toarele :
• Compatibil cu Raspberry PI model A+ si B+ (cu 40 de pini de extensie GPIO)
• Ieșire ș i intrare analogic ă
• Intrare audio stereo digitală și ieș ire (SPDIF)
• Ieșire pentru căști, cu facilitatea de microfon
• Microfoane digitale la bord stereo bazate pe tehnol ogia MEMS
• Amplificator de putere pentru acț ionarea difuzoarelor direct de la bord
• Terminal de extensie pent ru a permite conectarea unității, altele decât plă cile
Raspberry PI
• Suport de software universal
II.3.4. Dispozitive conectabile la portul GPIO
Pinii GPIO sunt acei pini tată (26 de pini, grupati pe 2 linii a cate 13 pini) care sunt
dispuș i pe zona de ma rgine a plăcii. Acești pini oferă posibilitatea de a interfaț a placa Raspberry
PI cu o multitudine de dispozitive externe.
Asemeni cum a mai fost me nționat mai sus, există o multitudine de aplicații care se pot
face atașâ nd dispozitive la portul GPIO.
II.4. Sistemul de operare : Instalare
Pentru a folosi calculatoru l Raspberry PI, stau la dispoziț ia utilizatorului o serie de
sisteme de operare. Ras pberry PI rulează un sistem de operare de tip Linux. Siste mul de operare
ales se stochează pe o memorie ext ernă, mai exact pe un card microSD. După ce s-a scris
imagine a pe card, se introduce cardul în slotul plăcii, se conectează monitorul, tast atura si
mouse-ul, cablul de rețea ș i cablul d e alimentare. Pe ecran se va obține interfața grafică a
sistemului. Cu acest sistem de calcul Raspberry PI se poate face aproape tot ceea ce se poate
face cu un calculator obiș nuit.
19
Figura 2. 4.1 Interfaț a grafica a s istemului Raspberry PI
II.4.1. Procedura de instalare a sistemului de operare (Linux) pentru Raspberry PI
Procedura pentru a instal a sistemul de operare pe o placă de dezvoltare Raspberry PI
este urmă toarea :
1. Se descarcă pe un calculator PC fiș ierul „ 2016-03-18-raspbian -jessie.zip” care conț ine
imaginea sistemului de operare „RASP BIAN JESSIE”, de pe site -ul oficial [17]
2. Se dezarhivează fișierul descărcat și se obține fiș ierul : „ 2016 -03-18-raspbian-
jessie.img”
3. Acest fișier se instalează de pe PC pe o memo rie microSD cu ajutorul programului
„Win32DiskImager ” care se poate descă rca de pe site1 [18]
4. Instalarea fiș ierului „2016 -03-18-raspbi an-jessie.img” pe memoria microSD se face
confo rm descrierii de pe pagina web2 [19]
5. După instalare se introduce m emoria mi croSD î n slot -ul aferent de pe placa Raspberry
PI
6. Se atașează la portul USB al plă cii Ra spberry PI un mouse, o tastatură ș i un adaptor
Wifi (sau cablu de rețea) necesar pentru accesarea internetului. Î n acest scop se poate
folosi un USB hub cu rol de multi plicator port USB
7. Se ataș eaza la portul HDMI un monitor sau un TV, prevă zute cu port HDMI
1 https://sourceforge.net/projects/win32diskimager
2 https://www.raspberrypi.org/documentat ion/intallation/installing -images/windows.md
20
8. Se scoate din soclu regulatorul de 5V „Step Up/ Step Down S7V7F5”. La instalarea
sistemului de operare se va utiliza un adaptor de reț ea in locul bateriilor de pe rob otul
mobil. Este interzisă utilizarea simultana a regulatorului de 5V ș i a adaptorulu i de reț ea.
9. Se alimentează de la reț ea placa Raspberry PI pri n portu l microUSB, cu un adaptor de
rețea de 5V DC/1A de tipul celor utilizate la încă rcarea telefoanelor mob ile.
10. Pe monitorul po rnit se vede instalarea automată a sistemului de operare
11. După instalarea completă apare mouse -ul și desktop -ul sistemului de opera re
12. Se accesează de pe desktop tab -ul „con exiuni internet” (partea dreaptă sus a desktop –
ului) și se select ează legătura Wi -fi dorită . Daca este necesar, se introduce de la tastatura
parola conexiuni Wi -fi dorite. Această legătură de internet se poate utiliza pentru
descărcări sau actualiză ri programe, sau chiar browsing pe internet .
! Observaț ie : Pentru a sa lva o imagine curentă a desktop -ului se poate utiliza comand a
„scrot” din ecranul de comandă „Terminal”. Imagine a va fi salvată in director -ul „/home/pi”
care se poate de schide din tab -ul „File Manager” .
II.4.2. Procedura instală rii bibliotecii Python pen tru accesarea porturilor I/O
Sistemul de operare „RASP BIAN JESSIE” conține deja o variantă instalată a mediului
de programare Pytho n versiun ea 2.7.9. Însă pentru programarea porturilor I/O
(input/output) este necesară descărcarea de pe internet ș i ins talarea bibliotecilor
corespunzătoare : WiringPi și WiringPi2 -Python urmărind următorii paș i :
1. Se atașează la portul USB al plă cii Raspberry PI un mouse, o tastatură si un adaptor
Wi-fi
2. Se atașează la portul HDMI un monitor
3. Se scoate din soclu regulatorul de 5V „Step Up/ Step Down S7V7F5” și se
alimentează de la adaptorul de reț ea de 5V DC/1A prin portul microUSB
4. Se așteaptă încărcarea completă a sist emului de operare, apariția mouse -ului ș i a
desktop -ului
5. Se pornește ecranul de comandă „Terminal”
6. Pentru descă rcarea ș i instalarea bibliotecii WiringPI se introduce de la t astatură
următoarele linii de comandă :
git clone git://git.drogon.net/WiringPi
cd wiringPI
./build
21
7. Pentru descărcarea ș i instalarea bibliotecii WiringPi2 -Python se introduc de la
tastatură u rmatoarele linii de comandă :[20]
cd
git clone https://github.com/Gadgetoid/WiringPi2 -Python.git
cd WiringPi2 -Python
sudo apt -get install python -dev python -stuptools
sudo pythin setup.py inst all
II.4.3. Crearea unui fișier Pytho n pentru comanda robotului mobil
Pentru crearea unui fișier Python se parcurg urmă toarele etape:
1. Se atașează la portul USB al plăcii Raspberry PI un mouse și o tastatură
2. Se atașează la portul HDMI un monitor
3. Se scoate din soclu regulatorul de 5V „Step Up / Step Down S7V7F5”
4. Se alimentează de la reț ea placa Raspberry PI prin portu l microUSB cu un adaptor
de reț ea de 5V DC/1A
5. Se așteaptă încărcarea completă a sistemului de operare, apariția mouse -ului ș i a
desktop -ului
6. Se deschide directorul „File Manager”
7. Se deschide directorul „WiringPi2 -Python”
8. Se apasă click dreapta și se alege opțiunea creării unui fiș ier no u și gol (Create
New…Empty File)
9. Se introduce numele fiș ierului, cu extensia „ .py”. Exemplu : „nume_fisie r.py”
10. Se deschide fiș ierul nou creat
11. Se introduce de la tastatura in fiș ierul deschis programul de comandă a robotului
mobil
12. La sfârșit se salvează cu comanda „Save” din meniul „File”
13. Se închide directorul „File Manager”
14. Pentru testarea programului, acest a se poate lansa in execuție din ecranul de
comanda urmărind pasii următori :
a. Se lansează in execuție ecranul de comandă „Terminal”
b. Se accesează directorul „WiringPi2 -Python” cu comanda : „cd WiringPi2 –
Python”
c. Se lansează in execuție fișierul nou creat cu comanda: „sudo python
nume_fisier.py”
22
! Observații :
• Pentru funcționarea motoarelor este necesară ș i alimentarea de la baterie a
driver -ului de motor.
• Daca tes tarea se face cu alimentarea plă cii Rapberry PI de la reț ea atunci
regulatorul de 5V „Step Up / Step Down S7V7F5” trebuie sa fie demontat.
• Daca tes tarea se face cu alimentarea plă cii Raspberry PI de la bateriile robotului
mobil atunci regulatorul de 5V „Step Up / Step Down S7V7F5” trebuie să fie
montat pe soclul de pe driverul de motor.
II.4.4. Pr ocedura pentru lansarea automată in execuție a programului de comandă la
pornirea/alimentarea plă cii Raspberry PI
Având î n vedere că în mod normal, în timpul funcționă rii robotului mobil, la placa
Raspbe rry PI nu este conec tat nici mouse, nici tastatura ș i nici monitor, este n ecesar ca
programul de comanda înscris în fișierul „proiect.py” să fie lansat autom at, la pornirea/
alimentarea plă cii Ra spberry PI (după încă rcarea sistemului de operare). In acest scop se
parcurg urmă toarele etape :
1. Se atașează la portul USB a l plăcii Ra spberry PI un mouse și o tastatură
2. Se atașează la portul HDMI un monitor
3. Se scoate din soclu regulatorul de 5V „Step Up / Step Down S7V7F5”
4. Se alimentează de la reț ea placa Raspberry PI prin portul microUSB , cu un adaptor de
rețea de 5V DC/1A
5. Se așteaptă încărcarea completă a sistemului de operare, apariția mouse -ului ș i desktop –
ului
6. Pe desktop se apasă click -dreapta și se alege opțiunea creării unui fișier nou ș i gol
(Create New…Empty File)
7. Se introduce numele fișierului, cu exten sia „ .desktop”. Exemplu:
lansareProiect.desktop
8. Se deschide fiș ierul creat
9. Se introduce de la tastatură, în fișierul nou creat, urmă toarel e linii de program :
[Desktop Entry]
Encoding=UTF -8
Type=Aplication
Name=lansareProiect
23
Comment=
Exec=sudo python/hom e/pi/WiringPi2 -Python/proiect.py
StartupNotify=false
Terminal=false
Hidden=false
10. La sfârș it se salvează cu co manda „Save” din meniul „File” și se î nchide editorul de
texte cu „Quit”
11. Se deschide directorul „File Manager”
12. Se înscrie î n linia de adrese (add ress bar) : „/home/pi/.config” și se apasă tasta „Enter”
13. Se caută directorul „autostart”. D acă acesta nu există î n directorul curent se cre eazaă
apăsâ nd click-dreapta, apoi se selectează „Create New…Folder”. Se introduce numele
„autostart” pentru director ul nou creat
14. Se intră î n directorul „autostart”
15. Se caută pe desktop fiș ierul „lansareProiect ” creat anterior. Se apasă click -dreapta pe
fișier ș i din meniul deschis se selectează „Cut”
16. Se revine în directorul „autostart” și se mută fișierul „lansareProiect ” în acesta apăsând
click -dreapta ș i din meniul deschis se selectează „Paste”
Concluzie: Din acest moment, fiș ierul „l ansareProiect” va fi executat (și ca urmare va
fi lansat în execuție și programul de comandă „proiect.py”) la fiecare pornire/ repornire
a sistemului de operare, chiar dacă la placa Raspberry PI nu este conectat nici mouse,
nici tastatura ș i nici monitor. [22]
24
Capitolul III. Prezentarea robotului mobil
III.1. Ș asiul robotului
Șasiul robotului prezentat în această lucrare este realizat d intr-un ki t pentru robot mobil.
Kitul conț ine platforma pentru montare, organele de asamblare, motoarele cu reductoare, roțile
de tracțiune, roata pentru suport ș i suportul de baterii.
Figura 3.1.1. Elementele de baza la sasiului robotului mobil
III.1. 1 Descrierea robotului asamblat
Componenta principală a ș asiului motorului o reprezintă platform a principală pe care cu
ajutorul elementelor de montaj s unt montate pe partea inferioară cele doua motoare cu reductor ,
roțile motrice și a treia roată pentru s uport. În partea superioară a ș asiului es te montat suportul
de baterii, întrerupă torul general, placa Raspberry PI împreună cu driverul pentru motoare ș i
stabilizatorul de tensiun e. Tot aici pe partea superioară este m ontat un modul suplimentar al
cărui ci rcuit i mprimat a fost realizat manual în laborator. Acest modul conține LED -ul indicator
al stării de pregătire pentru deplasare, împreună cu o rezistență de 1KΩ care în acest montaj
funcționează ca și element de protecție împotriva curenț ilor prin LED, butonul pentru lansarea
deplasării automate și un element rezistiv de 20KΩ semireglabil care asig ură adaptarea
semnalului senzorului de distanță la intrarea GPIO a calculatorului Ra spberry PI. Această
adaptare este vitală pentru p laca Raspberry PI deoarece i ntrările portului GPIO suportă doar
25
3,3V iar semnalul senzorului de distanță măsoară 5V care poat e să distrugă calculatorul,
irecuperabil.
Figura 3.1.1.1 Robotul Mobil asamblat
Conform structurii și modulului de funcț ionare, robotul poate fi clasificat ca și robot
mobil educațional autonom neghidat cu mișcare întâ mplă toare, locomoție cu roți ș i transm isie
de imagini î n timp real.
Cu ocazia modific ărilor efectuate pe șasiul robotului, în scopul atingerii unor adaptări
mecanice și operații de montaj bune, s -au luat î n con siderare problemele privind menținerea
stabilității robotului în timpul deplasării precum ș i robusticitatea montajului fizic.
Figura 3.1.1.2 Componentele electrice ale robotului mobil
26
Figura 3.1.1.3 Componentele electrice ale robotului mobil
III.2. Platforma de d ezvoltare Raspberry PI utilizată (model A+)
Figura 3 .2.1 Platfor ma de dezvoltare Raspberry PI utilizata (model A+), vedere din fata [12]
27
Figura 3 .2.2 Platforma de dezvoltare Raspberry PI utilizata (model A+), vedere din
spate [12]
Raspberry PI model A+ dispune de o memorie RAM de 256 MB, o ieșire HDMI, o ieșire
audio , o ieș ire video composit * RCA prin mu fa Jack de 3,5 mm, un port USB ș i un port GPIO.
Raspberry PI necesi tă un card microSD cu un sistem de operare instalat pe acesta. Prețul de
achiziție redus, o mulțime de exemple de proiecte și informaț ii disponibile on -line fac acest
sistem de calcul foarte popular în râ ndul utilizatorilor.
Raspberry PI model A+ se bazea ză pe BCM2835 System -on-chip (SoC), care include
un procesor ARM11 ș i un GPU destul de abil. Acest model este recomandat pentru mai multe
proiecte inte grate care absoarbe o putere mai mică de la sursa de energie și nu necesită Ethernet.
Pinii GPIO sunt acei pini tata (40 de pini, grupați pe 2 linii a câte 20 de pini) care sunt
dispuși pe zona de margine a plăcii. Acești pini oferă posibilitatea de a int erfața placa Raspberr y
PI cu o multitudine de dispozi tive externe.
28
Figura 3.2.3 Specifica țiile tehnice ale pl ăcii Raspberry PI model A+ [12]
III.3. Driver -ul de motoare
Această placă compactă de extensie se conectează dire ct la pinii 5, 6, 12, si 13 ai p ortului
GPIO și oferă o soluție simplă ș i low -cost pentru a controla o pereche de motoare cu perii de
curent continuu. Driverul d e motoare DRV8835 integrat funcționează pe o plajă de tensiune
cuprinsă î ntre limitele de te nsiune de la 1,5 V până la 11 V, ce ea ce asigură o opț iune de cont rol
mare pentru motoare de joasă tensiune. Placa poate livra cu curent continuu de 1,2 A (1,5 A
fiind limita maximă) pentru fiecare motor î n parte sau un curent d e 2,4 A (3 A fiind limita
maximă) la un singur motor, câ nd este configu rat cu ambele canale conectate î n paralel. Placa
29
de circuite imprimate a driver -ului DRV8835 este pop ulată cu componente SDM și cu un
element de protecț ie FET la conectarea inversă a bateriei.
Acționarea motoare lor se face cu curent continuu și te nsiunea necesară alimentării
motoarelor se obț ine în urma unei modulații î n impulsuri (PWM). PWM este o prescurtare
pentru „Pu lse-Width Modulation” sau modulării în lățime a impulsurilor. Aplicația principală
a metodei este controlul motoarelor electrice f iindcă emulează variarea tensiunii prin metode
analogice cu metode digitale.
Prin controlul digital este gen erat un semnal de tip treaptă care este oprit ș i pornit.
Raportul dintre oprit și pornit în ciclul pornit -oprit ne arată ciclul de lucru. Ciclul de lucru este
indicatorul simulă rii de varierea tensiunii analogice.
Graficul următor arată funcț ionarea modul ării PWM la valori diferite ale funcț iei
„wiringpi2.pwmWrite” :
Figur a 3.3.1 Ciclul de lucru in relație cu valoarea funcț iei „wiringpi2.pwmWrite”
30
Figura 3.3.2 Dispunerea conectorilor circuitului imprimat [20]
Specificaț iile tehnice ale driverului motor sunt :
• PWM : 250 kHz
• Dimensiune : 0,4 cm x 0,7 cm
• Driver : DRV8835
• Canale motor : 2
• Tensiune de lucru minim : 0 V
• Tensiune maximă de funcț ionare : 11 V
• Curent de ieș ire continuu per canal : 1,2 A
• Curent de ieșire de vâ rf per canal : 1,5 A
• Curent continuu de i eșire in paralel 2,4 A
• Tensiune logică minimă : 2 V
• Tensiunea maximă de logică 7 V
• Protecție la tensiune inversă : Da
Figura 3.3.3. Diagrama d e conectare a driverului [20]
31
Semnificaț ia conector ilor driver -ului motor este urmă toarea :
VIN – Intrarea alimentă rii, protejată la tensiunea inversă
VCC – tensiune logică de minim 2 V (2 V – 7 V). Logica de alimentare a c urentului este
de obicei doar câț iva miliamperi cel mult, astfel încât în multe aplicații acest pin poate fi
opțional alimentat dinamic printr -o ieșire digitală microcontroler
VMM – Sursa de alimentare protejată la tensiunea inversă. Acest pin ofera acces la surs a
de alimentare a motorul ui după MOSFET de protecție inversă de tensiune (a se vedea schema
de bord de mai jos). Acesta poate fi utilizat pentru alimentarea cu energie electrică protejată la
tensiune inversă ș i pentru alte componente ale sistemului
GND – Puncte de conectare GND l a sol p entru surse de alimentare logică ș i surs a de
alimentare motor. Cele două surse trebuiesc conectate la masa com ună
AOUT1 – Ieșire semipunte pentru motor A
AOUT2 – Ieșire semi punte pentru motor A
BOUT1 – Ieșire semipunte pentru motor B
BOUT2 – Ieșire semipunte pentru motor B
AIN1 / APHASE LOW – Intrare logica pentru controlul motorului canal A
AIN2 / AENABLE LO W – Intrare logică pentru controlul motorului canal A
BIN1 / BPHASE LOW – Intrare logică pentru controlul motorului canal B
BIN2 / BENAB LE LOW – Intrare logica pentru controlul motorului canal B
MODE L OW – Acest nivel logic determina interfaț a de control . Nivelul logic mic
configurează pinul IN / IN iar nivelul logic înalt configurează pinul PHASE / ENABLE.
Motoarele ș i sursele de alime ntare trebuie conectate la conectoarele adecvate ale driver –
ului. Driverul motor furnizează motorului o tensiune cupri nsă intre 0 – 11 V care este asigurată
din sursa de tensiune conectată la pinul VIN sau pinul VMM. O tensiune logică cuprinsă între
1,8 V si 7 V se conectează la pinul VCC.
Pinul VIN e ste protejat la tensiune inversă , de aceea este recomandat ca sursa de
tensiune necesară alimentării motoarelor sa fie conectată la această bornă. Este de remarcat însă
ca dacă nivelul tensiunii scade la aceas tă bornă sub 1,5 V, bună funcț ionare a driver -ului este
grav afectată. Pentru aplicații de foarte joasă tensiune, alimentarea mo torului trebuie sa fie
conectată direct la VMM care șuntează circuitul de protecție inversă .
32
figura 3.3.4 Schema electrică a dr iver-ului și a circuitului de protecț ie[20]
III.4. Regulatorul de tensiune de 5 V
Figura 3.4.1. Regulatorul step p /step down conectat la un k it format din driverul DRV8835 ș i
Raspberry PI [13]
33
Regulatorul de tensiune S7V7F5 este o sursă de tensiune car e este capabil să asigure
dintr -o tensiune de alimentare fluctuabilă î ntre limitele 2,7 V si 11,8 V, o tensiune stabilă de 5
V. Din tensiunea de alimentare a modului driver motor, regulatorul de t ensiune S7V7F5 poate
furniza plă cii Raspberry PI energia nec esară funcționarii la o tensiune de 5 V și până la 1 A
intensitate de curent.
Capacitatea sa de a converti atâ t tensiuni mar i cât și tensiuni mici de intrare, îl face util
pentru aplicații î n care tensiunea de alimentare poate varia foarte mult, ca de ex emplu cu baterii
care porn esc de la o tensiune mai mare, dar exploatate da r cu o tensiune mai mică de 5 V. Este
un modul foart e compact, are o eficiență de peste 90 % și poate furniza pana la 1 A, atunci când
reduce tensiunea și aproximativ 500 mA când am plifică .
Figura 3.4.2 Eficienț a regulatorului de tensiune step up/ step down S7V7F5 [13]
Inserția regulatorului d e tensiune î n soclul adecvat de pe plac a de driver motor trebuie
facută cu atenție pentru ca o conectare inversă determină o defectare iremedia bilă a sistemului.
De asemenea nu se va conecta sursa de alimentare la portul microUSB al sistemului cât timp se
află regulatorul d e tensiune montat î n sistem pentr u a evita distrugerea definitivă a sistemului.
34
Figura 3.4.3 Limita maximă a curentului de i eșire a regulatorului de tensiune step up/ step
down S7V7F5 [13]
Caracteristicile tehnice ale regulatorului S7V7F5 sun t urmă toarele :
• Tensiunea de alimentare : 2,7 V 11,8 V
• Tensiunea de ieș ire 5 V fix cu o precizie ± 3 %
• Curent continuu de ieșire : 1 A, atunci când lucrează î n regim reduct or de tensiune;
500 mA atunci când amplifică tensiune a (curentul continuu real de ieș ire depinde de
tensiunea de intrare)
• Facilitate de economisire a energiei : menține o eficiență ridicată la curenț i mici
(curentul Quie scent este mai mic de 0,1 A )
• Protecție integrată la scur t-circuit ș i supra -temperaturi
• Dimensiuni mici : 9 mm x 12 mm x 3 mm
III.5. Senzorul de distan ță
Acest mic senzor de distanță digitală detectează obiectele aflate la o distanță între 2 cm
și 10 cm . Cu timpul sau rapid de răspuns, dimensiunile sale mici și consumul de curent scă zut,
acest senzor este o alegere bună pentru dete ctarea obiectelor de bază de non -contact.
35
Figura 3.5.1 Senzorul de distanță Sharp GP2Y0D810Z0F [21]
Există câț iva milimet ri de histerezis in jur ul pragului maxim de raza de acț iune și nici
în histerezis la pragu l de interval minim. Este de reținut ca aceș ti senzori spun doar dacă există
un obiect de -a lungul intervalului de detecție cuprins în unghiul lor îngust de acțiune; aceștia
nu vor spune cat de departe este obiectul. Cu detecție la distanțe de până la 150 mm și o rată
tipică de eș antionare de 400 Hz, acești senzori oferă o alternativă atractivă. Ieșirea VO este
comutată la valoarea logică 0 atunci când senzorul detecte ază un obiect, în caz contrar ieșirea
VO este comutată la valoarea logica 1.
Codul sursă utilizat pent ru acest tip de senzor este urmă torul :
void setup(){
Serial.begin(9600)
pinMode(7,INPUT);
pinMode(8,INPUT);
}
void loop()
{
int valoareSenzor10 cm = digitalRead(7);
int valoareSenzor5cm = digitalRead(8);
Serial.print(”Senzor 10cm: ”);
Serial.print(valoareSenzor10cm,DEC);
Serial.print(”Senzor 5cm: ”);
Serial.println(valoareSenzor5cm,DEC);
}
36
Figura 3.5.2 Schema electrica a detecto rului de distanta Scharp GP2Y0D810Z0F [21]
Specificaț iile tehnice ale senzorului de distanță sunt :
• Distanța maximă de detecț ie : 10 cm
• Distanta minimă de detecț ie : 2 cm
• Frecvența de eș antionare : 390 Hz
• Tensiune de operare : de la 2,7 V la 6,2 V
• Consumu l mediu de curent : 5 mA
III.6. Camera video
Camera video folosită în această lucrare este modulul de camera v1. Acesta are o
rezoluț ie de 5 megapixeli și a fost lansată î n 2013. Varian ta molului de camera v1 folosită este
cea pentru vedere normală pe ti mp de zi, dar există și o variantă cu veder e pe timp de noapte,
cu infraroșu. Această are o frecvență de lumină automată de 50 / 60 Hz, calibrare automată la
alb si negru (Automatic white balance & Auto matic Black level calibration) și un frame rate de
până la maxim 90 fps. Are de asemenea o funcție de oglindire și rotație de 360 de grade a
imaginii, iar confirmarea pornirii camerei este d ată de un mic LED, ca re se va aprinde de
fiecare dată cand camera este pornită. Modulul de camera v1 are i ncorporat un regulator de
1,5V.
Camera video modul v1 suportă mai multe formate de imagine cum ar fi JPEG, GIF,
BMP, PNG, YUV420 si RGB888. For matul video suportat este h.264. Modulul v1 de cameră
dispune preinstala t cu mai multe efecte de captură de imagini sau video cum ar fi : negativ,
schiță, saturare ș.a. Modurile prin care se activează sau dezactivează camera sunt prin apă sarea
37
unei taste de la t astatură, un semnal UNIX sau un interval prestabilit de funcț ionare definit de
utilizator. [28]
Figura 3.6.1. Camerea R aspberry PI modul v1
Specificaț iile tehnice ale modulului de cameră v1 sunt urmă toarele:
• Dimensiune : 25 x 24 x 9 mm
• Greutate : 3g
• Rezolu ție : 5 megapixeli
• Moduri video : 1080p -30fps, 720p -60fps, 640 x 420p – 60 sau 90 fps
• Driver inclus : V4L2 Linux integ ration driver
• Senzor : OmniVision OV5647
• Rezoluț ia senzorului : 2592 x 1944 pixeli
• Sensibilitate : 680 mV/lux -sec
38
Capitolul IV . Schema de comandă a robotului mobil
IV.1. Descrierea schemei de comand ă
Figura 4.1.1. Schema de comandă a robotului m obil
• Coman da robotului mobil se realizează cu o placă de dezvoltare Raspberry PI model
A+
• La această placă se conectează un driver de moto r de tip DRV8835 care comandă direct
cele 2 motoare de curent continuu : Motor 1 si Motor 2
• Turația motorului este dat ă de factorul de ump lere a semnalului PWM (de la ieș irea
digitala D12 pentru Motor 1 și de la ieșirea D13 pentru Motor 2). Direcția de mișcare
(rotire „Înainte” sau rotire „Î napoi”) este data de niv elul logic „0” sau nivelul logic „1”
a desmanului * de dire ctie (DIR) emis de placa Raspberry PI, prin ieș irile D5 si D6
• Detec tarea obstacolelor se realizează cu un senzor digital de distanță de 10 cm. Acest
senzor emite permanent u n semnal de nivel logic 1 (adică 5V) dacă nu este pre zent nici
un obstacol. La apar iția unui obstacol senzorul emite un semnal de nivel logic 0 (aproape
0 V) și menține acest nivel logic 0 până la dispariț ia obstacolului. A vând în vedere că
intrarea digitală D25 suportă doar semnale de până la 3,3 V, se utilizează un
potenț iometru de 20 K pentru reducerea nivelului semnalului 1 logic, de la 5 V la 3,3 V
39
• Pentru controlul funcționă rii robotului mobil se utilizează un „Buton” și un „L ED”.
LED -ul este conectat la ieșirea digitală D7 iar butonul la intrarea digitală D8. Conform
schemei, dacă b utonul nu este apă sat atunci intrarea D8 este la nivelul l ogic 1 (3,3 V)
iar daca este apă sat atunci este la nivel logic 0 (0 V)
• Dupa încă rcarea completă a sistemului de operare se de schide ecranul de comandă
Terminal și se introduce de la tastatură linia de comandă pentru camera Raspberry PI
• Odată stabilit streamul se rulează fiș ierul p roiect.py. La terminarea incarcă rii, LED -ul
se aprinde ș i odată cu apă sarea butonului se poate porni mișcarea robotului. După
pornirea mișcării LED -ul se va stinge. La apă sare, din nou, a butonului robotul se va
opri ș i LED -ul se va aprinde din nou.
• Robotul mobil este ali mentat de 4 baterii de tip AA, î n total 6V , dar se pot utiliza și 6
baterii obținâ nd astfel o alimentare de 9 V
• Driver -ul motor se alimentează direct de la baterie, iar Raspberry PI se alimentează cu
5 V stabilizat, furnizat de regulatorul de tensiune de tip S7V7F5
• Tensiunea de 3,3 V este furniz ată de placa de dezvoltare Raspberry PI
40
Capitolul V. Programul de comandă in limbaj Python pentru robotul mobil
V.1. Algoritmul de funcț ionare
Programul robotului mobil îndeplineș te sarcina de a oc oli obstacolele prin
implementarea detaliată a algori tmului urmă tor :
Figura 5.1.1. Algoritmul de funcț ionare al robotului mobil
Acest algoritm este realizat folosind ur mătorul cod î n mediul de programare Python:
#PROGRAM ROBOT MOBIL CU RASPBERRY PI SI DRIVER MOTOR DRV8835
import wiringpi2 # biblioteca Python pentru Raspberry PI
import time # biblioteca pentru temporizari de tip „ sleep”
VitezaMAXIMA = 480 # Pentru factorul de umplere 100% (PWM)
# la driverul de motor drv8835
#alocare pini pentru driverul de motor
motor1_PWM_pin=12
motor1_DIR_pin=5
motor_2_PWM -pin=13
motor_2_DIR_pin=6
#alocare pin i pentru led, buton ș i senzor
41
led_pin=7
buton_pin=8
senzor_pin=25
#setări mod de funcț ionare pini : 0=INPUT 1=OUTPUT 2=PWM OUTPUT
wiringpi2 . wiringPiSetupGpio ( )
wiringpi2 . pinMode (led_pin , 1 )
wiringpi2 . pinMode (buton_pin , 0 )
wiringpi2 . pinMode (senzor_pin , 0 )
wiringpi2 . pinMode (motor1_DIR_pin , 1 )
wiringpi2 . pinMode (motor2_DIR_pin , 1 )
wiringpi2 . pinMode (motor1_PWM_pin , 2 )
wiringpi2 . pinMode (motor2_PWM_pin , 2 )
#setă ri mod P WM (0=MS ) pentru driverul de motor drv8835
wiringpi2 . pwmSetMode ( 0 )
wiringpi2 . pwmSetRange (VitezaMAXIMA )
wiringpi2 . pwm SetClock (2 )
#definire funcții de miș care
def stopDeplasare ( ) :
wiringpi2 . pwmWrite ( motor1_PWM_pin , 0 ) # 0= stop miș care
wiringpi2 . pwmWrite (motor2_ PWM_pin , 0 )
def deplasareÎ nainte ( viteza )
wiringpi2 . digitalWrite (motor1_DIR_pin , 0 ) # 0= direcție î nainte
wiringpi2 . pwmWrite ( motor1_PWM_pin , viteza )
wiringpi2 . digitalWrite ( motor2_DIR_pin , 0 )
wiringpi2. PwmWrite ( motor2_PWM_pin , viteza )
def deplasar eÎnapoi (viteza ) :
wiringpi2. DigitalWrite ( motor1_DIR_pin , 1 ) # 1= direcție î napoi
wiringpi2 . pwmWrite (motor1_PWM_pin , viteza )
wiringpi2 . digitalWrite ( motor2_DIR_pin , 1 )
wiringpi2 . pwmWrite ( motor2_PWM_pin , viteza )
42
def virajLaStâ nga ( viteza ) :
wiringpi2 . digitalWrite ( motor1_DIR_pin , 1 )
wiringpi2 . pwmWrite ( motor1_PWM_pin , viteza )
wiringpi2 . digitalWrite ( motor2_DIR__pin , 0 )
wiringpi2 . pwmWrite ( motor2_PWM_pin , viteza )
def virajLaDreapta ( viteza ) :
wiringpi2 .digitalWrite ( m otor1_DIR_pin , 0 )
wiringpi2 . pwmWrite ( motor1_PWM_pin , viteza )
wiringpi2 . digitalWrite ( motor2_DIR_pin , 1 )
wiringpi2. PwmWrite ( motor2_PWM_pin , viteza )
#definire funcție pentru apă sare butor ( 0= buton apasat )
def așteptareApăsareȘ iEliberareButon ( ) :
buton=1
while buton==1 : # Bucla aș teptare
buton=wiringpi2 . digitalRead ( buton_pin ) # apă sare buton
wiringpi2 . digitalWrite ( led_pin , 0 ) # Stingere LED
time . sleep ( 1 ) # Așteptare elib erare buton : 1sec
wiringpi2 . digitalWrite ( led_pin , 1 ) # Aprindere LED = se poate porni robotul
asteptareApasareSiEliberareButon ( ) # Așteptare comanda pornire robot
# BUCLA executat continuu = PROGRAM PRINCIPAL
while 1 :
buton= wiringpi2 . digitalRead ( buton_pin ) # Citire buton
if buton = = 0 : # Dacă butonul a fost apă sat
stopDeplasare ( ) # atunc i oprire robot
wirinpi2 . digitalWrite ( led_pin , ,1 ) # aprindere LED
time . sleep ( 1 ) # așteptare pentru
# eliberare buton
AșteptareApăsareȘ iEliberareB uton ( ) # Aș teptare comanda pt
43
# repornire robot
deplasareÎ nainte( 300 ) # Deplasare înainte dacă
# nu este detectat obstacol
# 300 = viteza
senzor = wiringpi2 .digitalRead ( senzor_pin ) # Citire senzor ( 0 = obstacol )
if senzor = = 0 : # Dacă este obst acol atunci :
stopDeplasare ( ) # oprire miș care
time . sleep ( 0 . 5 ) # 0,5 sec
deplasareInapoi ( 300 ) # deplasare î napoi
time . sleep ( 0. 25 ) # 0,25 sec
virajLaStanga ( 300 ) # ocolire obstacol
time . sleep ( 0.25 ) # 0. 25 sec
# Dacă nu este obstacol
# atunci continuă BUCLĂ
# sfarșit BUCLĂ ( sfarș it PROGRAM PRINCIPAL )
44
Capitolul VI. Transmitere video î n timp real
VI.1 Aplicaț iile caracteristice ale camerei Raspberry PI
Există 3 aplicaț ii oferite de dezvoltatorii Raspberry PI : RASPISTILL, RASPISTILLYUV
și RASPIVID. RASPISTI LL și RASPISTILLYUV sunt foarte similare ș i dest inate pentru captare
de imagini, RASPIVID este destin at capturii video. Toate aplicaț iile sun t conduse de la linia de
comandă ș i scrise pentru a profita de API MMAL( Aplication Programming Interface –
Multim edia Abstraction Layer ) care rulează peste OpenMAX( driverul preinstalat al camerei )
API-ul MMAL oferă un sistem mai facil decâ t cel prezentat de OpenMAX.
Aplicațiile folosesc până la 4 componente OpenMAX (MMAL ) : aparat de fotografiat,
previzualizare, encoder, null_sink . Toate aplicatțile folosesc camera î n sine; RASPISTILL
foloseș te componenta codare imagine ( Image Encode ) , RASPIVID utilizează componenta
de codare video ( Video Encode ) iar RASPISTILLYUV nu foloseș te un codificator dar trimite
YUV sau RGB direct de la c omponenta aparatului foto la fiș ier. Ec ranul de previzualizare este
opțional dar poate fi utilizat ful l-screen sau poate fi direcționat către o anumită zona
dreptunghiulară pe ecran. Dacă previzualizarea e dezactivata , com ponenta null_sink este
utilizată pentru a ,,absorbi’’ cadrele de previzual izare. Camera trebuie sa producă cadre de
previzualizare, chiar dacă acestea nu sunt necesare pentru display, deoarece sunt utiliza te pentru
calcularea expunerii și setă rii balansului de alb .
În plus este posibil să se omită opțiunea de numire a fișierului ( caz în care se afișează
previzualizarea dar nici un fiș ier nu est e scris ) sau să redirecționeze toate iesirile spre stdout .
[31]
VI. 2 Configurarea camerei Raspberry PI
Camerele Raspbe rry PI sunt sensibile la energii statice. Î nainte de manipularea PCB –
ului ( Pr inted circuit board ) ar trebui să existe împămâ ntare. Pl aca camerei se atașează la placa
de dezvoltare Raspberry PI printr -un cablu de tip panglică cu 15 pini. Se pot face doa r 2
conexiuni : cablul panglică trebuie sa fie atașat la cameră ș i la placa Raspberry PI . Cablul
trebuie montat pe partea potrivită altfel camera nu va funcționa. Cablu are pe panglică porțiuni
albastre una conectată la cameră care trebuie pusa cu spatele și cea conectată la placa trebuie
sa fie cu faț a spre mufa audio J ack de 3,5 mm ( model A+ ) . Deși conectorii de pe cameră ș i
de pe pl aca sunt diferiți, aceștia lucrează î n mod similar.
VI.3 Configurarea Software
Pentru prima utilizare a came rei Raspb erry PI trebuie sa urmăm paș ii următori
45
Pasul 1 . Conectă m camera Raspberry PI asemeni cum a fost precizat î n subcapitolul anterior
Pasul 2 . Pornim placa de dezvoltare Raspberry PI
Pasul 3. Deschidem din meniul principal, Raspberry PI Cnfiguration Too l
Figura 6.2.1 Meniul principal Raspberry PI
46
Pasul 4. Se verifică daca interfața camerei este activată. Î n caz contrar se activează și apoi se
restartează placa de dezvoltare.
Figura 6.2.2. Raspberry PI Configuration
Pasul 5. Pe ntru testarea camerei se creează un fiș ier nou ,se deschide cu editor de text și se
introduce urmă torul co d:
from picamera import PiCamera
from time import sleep
camera =PiCamera()
camera.start_preview()
sleep(10)
camera.stop_preview ( )
Acest cod se salvează cu Ctrl + S și apoi închidem fiș ierul. Se deschide fereastra Termina l din
bara de meniu se acceseaza directorul în care a fost salvat fiș ierul camera.py , din ecranul de
comanda Terminal cu comanda ,,cd „(menționat în capitolul anterior ) și apoi este lansat în
execuție fiș ierul camera.py folosind comanda ,,sudo python camera.py „. Acest program oferă
un clip de 10 secunde și apoi se opreș te automat. [30]
VI.4 Utilizarea de baza Raspivid
Cu modulul camerei conectat și activat se poate î nregis tra un clip video utilizând
următoarea comandă : ,, raspivid -o vid.h264 ”. În cazul în care imaginea este răsturna ta sau
într- o parte se pot adăuga în comanda anterioară sintagmele „ -hf” ( horizontal flip ) sau „ -vf”
47
( vertical flip) Comanda anterioară va salva un fiș ier video de 5 secunde care se va salva în
fișierul vid.h264. Pentru a specifica durata videoclipuri lor luate se foloseș te sintagma -t urmat
de o valoare a timpului î n milisecunde, de exemplu „ raspivid -o video.h264 -t 10.000 ” (va
înregistra un clip de 10 secunde ). Pentru o listă completă de opțiuni posibile executăm
comanda raspivid î n fereastra d e comanda Terminal . [29]
O parte din opțiunile cele mai utilizate ală turi de comanda raspivid sunt:
• -n → oprește videoclipul să fie vizualizat ( eliminați daca doriți să vizualizați
videoclipul pe ieșirea HDMI )
• – w → se referă la lăț imea video -ului (width ) cuprinsă î ntre 64 -1920
• -h → se referă la înălț imea video -ului care este cuprinsă î ntre 64-1080
• -fps → semnifică cadre pe secundă care pot ajunge de la 2 pana la 30 [27]
VI.5 Realizarea transmisiunii î n timp real
Transmisiunea în timp real se realizează prin intermediul unui stream RTSP (Real Time
Streaming Protocol) folosind un lector multimedia VLC Media Player in stalat pe ambele
componente, atâ t pe pla ca de dezvoltare Raspberry PI cât ș i pe computer PC sau a lte dispozitive
care pot recepț iona fluxul de retea.
VI.5.1 VLC Media Player
VI.5.1.1 Instalarea VLC Media Player pe placa de dezvoltare Raspberry PI
Înainte de a instala VLC Media Player p e placa de instalare Ra spberry PI trebuie să ne
asigurăm că sistemul de operare este actua lizat. Acest lucru s e efectuează cu ajutorul
comenzilor : sudo -apt get update ; sudo -apt get upgrade . După executarea celor 2 comenzi se
poate avansa cu instalarea VLC Media Player.
Instalar ea VLC Media Player se face lansând în execuț ie ecranul de coma ndă Terminal
și apoi se introduce de la tastatură următoarea linie de comandă : sudo apt -get install vlc .
VI.5.1.2 Instalarea VLC Media Player pe un computer PC
Pentru instalarea VLC Media player pe un computer PC, mai întâi se accesează pagina
web3 a VideoLan Org anization, de unde este posibilă descărcarea gratuită a executabilulul. În
continuare, se rulează executabilul ș i se urme ază pași i din VLC Install Wizard. [32]
3 http://www.videolan.org/vlc/download -windows.ro.html
48
VI.5.2 Streamul RTSP
RTSP este un protocol de rețea proiectat pentru utilizarea î n sisteme de divertisment și
comunicații. Protoco lul este folosit pentru a stabili ș i controla conexiuni media. [33]
În acest proiec t streamul RTSP este realizat între robotul mobil ș i un laptop prin
intermediul unui router wireless Tenda N300. Portul utilizat pentru a crea conexiunea este 8554.
Pentru ca această conexiune să fie posibilă a fost necesară crearea unui forward port.
Acest lucru se realizează din setările router -ului. Î ntâi adresa IP a robotului mobil trebuie
memorată în lista de clienți DHCP ca și o adresă statică. În acest fel vom ști î ntotdeauna adresa
IP pe care router -ul o va aloca robotului mobil.
6.5.2.1 IP static
În continua re se va crea forward port -ul. În acest fel orice conexiu ne venită sau
transmisă la portul 8554 va fi direcț ionat automat spre adresa IP a robotului mobil. [34]
49
Figura 6.5.2.2 Forward Port
VI.5.3 Transmisiunea propriu -zisă î n timp real
După cum s -a precizat anterior, pentru reali zarea transmisiuni este necesară instalarea
media player -ului VLC cât și crearea unui flux de reț ea.
Pentru crearea transmisiunii se parcurg urmă toarele etape:
1. Se porneș te placa de dezvoltare Raspberry PI
2. Se conectează robotul mobil prin intermediul adaptorului Wifi USB la router -ul
wireless Tenda N300
3. Se lansează in execuție ecranul de comanda Terminal
4. Se introduce de la tastatură urmatoarea linie de comandă :
raspi vid -o – -t 0 -w 600 -h 400 -fps 12| cvlc -vvv stream:///dev/stdin – sout
’#rtp{sdp=rtsp://:8554/}’ :demux=h264
unde :
a. „cvlc” reprezintă VLC Media Player
50
b. „-vvv” împreună cu argumen tul său specifică de unde se obț ine stream -ul
c. „-sout” împreună cu argument ul său specifică unde se trimite stream -ul
d. „-t 0” dezactiveză limita de timp a filmă rii
e. „-o” determină ieșirea să fie scrisă la stdout
f. „-h” se referă la înălțimea video -ului care este cuprinsă î ntre 64-1080
g. „-w” se referă la lăț imea video -ului (width ) cup rinsă î ntre 64 -1920
h. „-fps” semnifică cadre pe secundă care pot ajunge de la 2 pana la 30
5. Se pornesș e media player -ul VLC pe computer -ul PC
6. Se accesează bara de meniu, tabul „Media”
7. Din meniul rezultat se a ccesează comanda „Open Network Stream ”
8. În continua re, va apărea o fereastră unde se va cere o adresă URL. Se va introduce
de la tastatură următoarea adresă : rtsp://192.168.1.100:8554/
Unde :
a. 192.168.1.100 – reprezintă adresa IP a robotului mobil
b. 8554 – reprezintă portul de conexiune
Rezultatul final este transmisiunea video î n timp real de la camera Ra spberry PI la
computerul PC. [26]
51
Concluzii
Scopul acestei lucră ri a fos t realizarea unei transmisiuni î n timp real prin intermediul
camerei Raspberry PI Modul v1 ș i placa de dezvoltare Ra spberry PI Model A+. S-a făcut
referire la componentele alese, rolul lor, descrierea și funcțiile fiecăruia, modul de utilizare ș i
modul de implementare.
Prima parte a lucrării conține partea teoretică, partea în care a fost prezentata fiecare
componentă în parte, iar î n a doua parte a fost prezentat modul în care acestea lucrează împreună
ca și un sist em.
Fiecare componentă a acestui sistem are întrebuință ri multiple, mul t mai multe decât
cele prezentate , în continuare existâ nd mult loc de dezvoltare a acestei platforme, l a fel cum
am dezvoltat -o la rândul meu, implementând camera Raspberry Pi și realizând stream -ul video
în timp real.
Scopul alegerii acestei teme a fost de monstrarea că se poate realiza la un cost relativ
redus, utilizând elemente accesibile, și cu un cons um de energie scă zut, o dezvoltare a unei
platforme deja existente.
Consider ca prin această lucrare s -a demonstrat cum prin un cost redus ș i prin
accesib ilitatea documentației și componentelor, atât hardware cât ș i software, se poate realiza
dezvoltarea unui proces automatizat.
52
Bibliografie
[1]Alexandru Bara, Ingineria reglarii automate, Universitatea din Oradea 2010
[2]Gacsadi Alexandru, Bazele Roboticii (Curs pentru uzul studentilor), Universitatea din Oradea
2008
[3]Paun Antonescu, Constantin Galm eanu, Ovidiu Antonescu, Roboti mobili utilizati pentru
manipularea si neutralizarea minitiei ne -exploatate, Iniversitatea Politehnica Bucuresti, 2001
[4]Radu Bogdan Rusu, Sistem multiagent pentru roboti mobili: Robotux (Proiect de Diploma), 2004
[5]Ing. Ra du Bogdan Rusu, Arhitecturi moderne pentru roboti mobili: Javaclient si ZeeRO,
Universitatea tehnica din Clu j-Napoca
[6]Roland Siegwart, Illah R. Nourbakhsh, Introduction to Autonomus Mobile Robots, 2004
[7] www.mce.utcluj.ro/lucrari/PWM.doc Consultat la 03.03.2017
[8] www.pololu.com Consultat la 03.03.2017
[9] www.robofun.ro Consultat la 03.03.2017
[10] www.slideshare.net/guestedb041/prezentare -pwm Consultat la 09.03.2017
[11]http://images1.wikia.no cookie.net/__cb20111123052453/nccmn/ro/images/a/af/Masini_E
lectrice_8.pdf Consultat la 11.03.2017
[12] https://www.pololu.com/product/2758 Consultat la 25.03.2017
[13] https://www.pololu.com/search?query=s7v7f5&x=0&y=11 Consultat la 28.03.2017
[14] https://www.robofun.ro/raspberry -pi-si-componente/camera Consultat la 01.04.2017
[15] https://www.raspberrypi.org/downloads/raspbian/ Consultat la 02.04.2017
[16] https://www.raspberry pi.org/downloads/help/quick -start-guide/ Consultat la 07.04.2017
[17 ] https://www.raspberrypi.org/downloads/raspbian/ Consultat la 14.04.2017
[18] https://sourceforge.net/projects/win32diskimager/ Consultat la 16.04.2017
[19]https://www.raspberrypi.org/documentation/installation/in stalling -images/windows.md
Consultat la 21.04.2017
[20] https://github.com/pololu/drv8835 -motor -driver -rpi Consultat la 23.04.2017
[21]https://www.pololu.com/search?query=GP2Y0D810Z0F&x=12&y=10
Consultat la 24.07.2017
[22]http://www.slideshare.net/SeggySegaran/raspberry -pi-autostarting -a-python -program
Consultat la 24.07.2017
[23] https://ro.wikipedia.org/wiki/Robot Consultat la 30.04.2017
[24] http://www.robothalloffame.org/inducte es/03inductees/unimate.html Consultat la
02.05.2017
53
[25] https://www.adafruit.com/products/1033 Consultat la 04.05.2017
[26]http://www.raspberry -projects.com/pi/pi -hardware/raspberry -pi-camera/streaming -video –
using -vlc-player Consultat la 04.05.2017
[27]http://www.raspberry -projects.com/pi/pi -hardware/raspberry -pi-camera/using -the-camera
Consultat la 10.05.2017
[28]https://www.raspberrypi.org/documentation/hardware/camera/README.md Consultat la
10.05.2017
[29]https:// www.raspberrypi.org/documentation/usage/camera/raspicam/raspivid.md
Consultat la 10.05.2017
[30]https://www.raspberrypi.org/learning/getting -started -with-picamera/worksheet/ Consultat
la 11.05.2017
[31]https://www.raspberrypi.org/documentation/raspbian/applications/camera.md Consultat la
11.05.2017
[32]http://www.videolan.org/vlc/download -windows.ro.html Consultat la 11.05.2017
[33]https://en.wikipedia.org/wiki/Real_Time_Streaming_Protocol Consultat la 11.05.2017
[34]https://en.wikipedia.org/wiki/Port_forwarding Consultat la 11.05.2017
54
Universitatea
din
Oradea PROCEDURA
privind e laborarea
lucrării de finalizare a
studiilor COD:
SEAQ
PL – U. 04 Revizia
1 2 3 4 5 6 7 8
Aprobat în ședința de Senat
din data:03.03.2014
DECLARAȚIE DE AUTENTICITATE A
LUCRĂRII DE FINALIZARE A STUDIILOR
Titlul lucrării ________________________________________________________
___________________________________________________________________
______________________________________ _____________________________
Autorul lucrării _____________________________________________
Lucrarea de finalizare a studiilor este elaborată în vederea susținerii examenului
de finalizare a studiilor organizat de către Facultatea
_____________________ ____________________ din cadrul Universității din
Oradea, sesiunea_______________________ a anului universitar ______________.
Prin prezenta, subsemnatul (nume, prenume, CNP) _____________________
___________________________________________________________ ________
___________________________________________________________________,
declar pe proprie răspundere că această lucrare a fost scrisă de către mine, fără nici un
ajutor neautorizat și că nici o parte a lucrării nu conține aplicații sau studii de caz
publicate de alți autori.
Declar, de asemenea, că în lucrare nu există idei, tabele, grafice, hărți sau alte
surse folosite fără respectarea legii române și a convențiilor internaționale privind
drepturile de autor.
Oradea,
Data Semnătura
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: FAC ULTATEA DE INGINERIE ELECTRICĂ Ș I TEHNOLOGIA INFORMAȚIEI PROGRAM DE STUDIU AUTOMATICĂ ȘI INFORMATICĂ APLICATĂ FORMA DE INVĂȚĂMÂNT ZI Proiect de… [630308] (ID: 630308)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
