Implementarea unui sistem de tip self parking pe o macheta auto -versiunea 2018- Teodor-Daniel Dacu Coordonator s ,tiint ,i c: Conf. dr. ing…. [630174]

UNIVERSITATEA POLITEHNICA DIN BUCURES ,TI
FACULTATEA DE AUTOMATIC A S ,I CALCULATOARE
DEPARTAMENTUL CALCULATOARE
PROIECT DE DIPLOM A
Implementarea unui sistem de tip self parking pe o macheta auto
-versiunea 2018-
Teodor-Daniel Dacu
Coordonator s ,tiint ,i c:
Conf. dr. ing. Alexandru Dumitrascu
BUCURES ,TI
2018

UNIVERSITY POLITEHNICA OF BUCHAREST
FACULTY OF AUTOMATIC CONTROL AND COMPUTERS
COMPUTER SCIENCE DEPARTMENT
DIPLOMA PROJECT
Implementing a self parking system on a car model
-2018 version-
Teodor-Daniel Dacu
Thesis advisor:
Assoc. prof. PhD Alexandru Dumitrascu
BUCHAREST
2018

CUPRINS
List a de guri 1
List a de tabele 1
1 Introducere 3
1.1 Scopul si obiectivele lucrarii de licenta . . . . . . . . . . . . . . . . . . . . . 4
1.2 Descrierea domeniului din care face parte tema de licenta . . . . . . . . . . 5
1.3 Prezentarea pe scurt a capitolelor . . . . . . . . . . . . . . . . . . . . . . . 7
2 Descrierea problemei abordate si a rezolvarii propuse 8
2.1 Descrierea problemei abordate . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Descrierea rezolvarii propuse . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3 Comparatie intre un proiect asemanator si solutia propusa . . . . . . . . . . 11
3 Selectarea solutiilor tehnice si proiectarea algoritmului de implementare i 13
3.1 Prezentarea tehnologiilor hardwarde disponibile . . . . . . . . . . . . . . . . 13
3.2 Prezentarea tehnologiilor hardware folosite . . . . . . . . . . . . . . . . . . 16
3.3 Prezentarea tehnologiilor software folosite . . . . . . . . . . . . . . . . . . . 24
4 Selectarea solutiilor tehnice si proiectarea algoritmului de implementare i 26
4.1 Blabla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Anexe 27
1

SINOPSIS
Proiectul de fata reprezinta o prezentare generala a sistemului de parcare automata
pentru o macheta autonoma. Scopul lucrarii de licenta este de a realiza implementarea
sistemului respectiv astfel incat macheta sa se parcheze singura fara a necesara controlarea
de catre un utilizator. Pentru infaptuirea acestui scop, aceasta trebuie sa stie unde, cand si
cat de mult sa vireze pentru o garare perfecta.
Senzorii joaca un rol extrem de important in parcarea automata, ei ind utilizati pentru
a primi informatii in legatura cu mediul inconjurator. Senzorii de ultrasunete sunt folositi
pentru a detecta obiecte si gasirea de spatii necesare pentru efectuarea parcarii, iar senzorul
de temperatura pentru a calcula mai precis distanta. Rotile machetei vor activate de catre 4
motoare, care la randul lor, vor putea functiona cu ajutorul unei placute H-Bridge cu ajutorul
careia vor setate vitezele, directiile si virajele. Toate acestea neceista un micro-controller
potrivit, si anume Arduino Mega. Ca limbaj de programare a fost ales limbajul C, deoarece
este usor de inteles si de implementat la acest nivel.
ABSTRACT
This paper represents a description of an autonomous self-parking system for a car
model. The purpose of this project is to implement the system so that there is no need for
user inputs. In order to achieve this, the car must detect where, when and how much to steer.
The sensors play a crucial role in autonomous parking, since they are used for receiving
information about the environment. The ultrasound sensors are used for detecting objects and
nding spaces where the car can park, and the temperature sensor for enhancing the ultra-
sound sensors' accuracy. The model's wheels will be powered by 4 engines, which in turn,
are controlled by a H-bridge board which also manages the speed, direction and steering.
All these require a suitable micro-controller, namely Arduino Mega. The language of the
implementation is plain C, because of its cleanliness and low-level capabilities.

MULT ,UMIRI
(opt ,ional) Aici putet ,i introduce o sect ,iunea special a de mult ,umiri / acknowledgments.

LIST A DE FIGURI
1 Masina inteligenta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2 Accident exemplu masina . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3 Accident exemplu pieton . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4 Macheta proiectului de pe internet [3] . . . . . . . . . . . . . . . . . . . . . 11
5 Placute pentru dezvoltare proiect. . . . . . . . . . . . . . . . . . . . . . . . 13
6 Comparatie intre utilizarea Arduino si Raspberry Pi . . . . . . . . . . . . . . 15
7 Placuta Arduino Mega[7] . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
8 Motor cu reductor si roata[1] . . . . . . . . . . . . . . . . . . . . . . . . . 18
9 Cum functioneaza un motor DC . . . . . . . . . . . . . . . . . . . . . . . 19
10 Placuta Keyes L298[8] . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
11 Senzor ultrasonic HC-SR04[6] . . . . . . . . . . . . . . . . . . . . . . . . . 20
12 Exemplu de functionalitate a senzorului HC-SR04 . . . . . . . . . . . . . . . 21
13 Senzor temperatura si umiditate DHT11[4] . . . . . . . . . . . . . . . . . . 22
14 Modul in care functioneaza calcularea temperaturii in DHT11 . . . . . . . . 22
15 Modul buzzer[5] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
16 Macheta auto 4WD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
17 Program de test pentru calcularea distantei cu senzorul HC-SR04 . . . . . . 25
18 Schema hardware a proiectului . . . . . . . . . . . . . . . . . . . . . . . . . 27
1

LIST A DE TABELE
1 Tabel accidente in parcari cu pietoni [2] . . . . . . . . . . . . . . . . . . . . 10
2

1 INTRODUCERE
Modul de a parca paralel reprezinta o incercare pentru multi soferi, existand un spatiu
limitat in zonele de parcare ale oraselor mari. Plasarea autovehicolului intr-un spatiu mic este
o activitate vitala. Rareori aceasta este o sarcina usoara si poate duce la certuri in tra c,
nervi sau chiar, in cel mai rau caz, avarieri. Din fericire, evolutia tehnologiei ne-a dus intr-un
punct in care avem un raspuns la aceasta problema. In zilele noastre, multe caracteristici sunt
disponibile in cadrul unui automobil. In general, cele mai multe dintre caracteristici confera
mai multa siguranta, confortabilitate si fac conducerea mai usoara. De exemplu, senzorul
de miscare montat pe bara masinii, atat pe partea din fata cat si pe partea din spate, va
emite un semnal sonor sau va a sa informati cu privire la distanta pe care o are pana la un
anumit obiect. Aceasta optiune a masinii ofera un mare bene ciu persoanelor care doresc
realizarea unei parcari reusite, deoarece vor anuntati in momentul apropierii de un obiect si
vor opri actiunea de a da cu spatele sau de a inainta. Pentru a reusi o parcare fara nici un
ajutor tehnologic, este necesar ca soferul sa anticipeze distanta de la masina la obiect si, in
acelasi timp, sa determine cat de mult sa mute masina. Datorita lipsei de experienta, multor
persoane le necesita mai multe manevre de a realiza parcarea, rezultand timp pierdut, asta
in cel mai bun caz. In cel mai rau caz, soferii ajung sa creeze avarii propriilor masini lovind
bordura, alte masini, obstacole, sau cazul cel mai grav, ajung sa loveasca pietoni. Datorita
acestor neatentii, soferul va pierde bani pentru repararea propriei masini, a obiectului/masinii
pe care l-a avariat sau sa plateasca taxe medicale.
Pentru a rezolva aceasta problema, o masina cu sistem de parcare automata este solutia
astfel incat soferul nu trebuie sa se mai gandeasca la avarierea masinii, si in acelasi timp
salveaza timp. Sistemul va scana dupa locuri de parcare disponibile. Daca exista destul
spatiu disponibil pentru actiunea de garare, atunci o sa se parcheze singura fara ca soferul sa
manevreze masina nici macar un moment. De asemenea, masina va depista daca vor aparea
obiecte intre timp si se va opri daca este necesar. Aceasta solutie este cea mai convenabila si
salveaza atat timp, cat si bani pentru sofer.
3

Astazi, masinile cu sistem de parcare automata nu mai reprezinta o inventie a viitoru-
lui. Asemenea sisteme au fost deja implementate in automobile pentru a ajuta soferii si a
oferi o experienta mai buna in timpul condusului. Insa, nu sunt in totalitate automatizate
astfel incat soferul trebuie sa controleze acceleratia dar si frana cand este necesar, dar virajul
autovehicolului va realizat de calculatorul masinii.
In acest proiect, a fost realizat un sistem de parcare automata a unei machete autonome
unde va selecta automat modul de parcare: parcare paralel sau cu perpendiculara(cu spatele)
apoi masina va incepe parcarea de una singura. Senzorii de miscare sunt montati pe in fata si
in spate, si pe partea stanga si dreapta pentru a nu lovi ceea ce intalneste. Motorasele servo
conectate la un driver de motor de tipul H-bridge pentru a ajusta viteza, sunt folosite pentru
a controla mersul cu fata, cu spatele si virarea. Va atasat si un senzor de temperatura
pentru a masura temperatura din camera pentru calcularea mai precisa a distantei, deoarece
caldura in
uenteaza undele senzorului de distanta. Toate acestea vor conectate cu ajutorul
unor re la un Arduino Mega care reprezinta nucleul sistemului de parcare automata. Este
folosit la primirea informatiilor de la senzori si generarea de iesiri necesare pentru a controla
atat viteza cat si virarea machetei.
1.1 Scopul si obiectivele lucrarii de licenta
Lucrarea de fata prezinta o macheta autonoma a unui vehicul.
Aceasta lucrare are scopul de a veni cu o idee de sistem de parcare automata care este
capabil sa detecteze locurile de parcare ce indeplinesc distantele necesare gararii in conformi-
tate cu cele ale masinii si apoi realizarea procesuuil de parcare autonoma fara nici un contact
al utilizatorului. Macheta va avea montati senzori cu ultrasunete in jurul sau pentru a tine
locul de "ochi" ai machetei. La acestia se adauga un circuit de tipul H-bridge care va con-
trola turatiile motoarelor DC, implicit viteza rotilor si directia de miscare(fata, spate, stanga,
dreapta). Toate acestea vor conectate la o placuta Arduino Mega care va primi semnale de
la senzori si apoi sa trimita semnale catre circuitul H-bridge.
O problema majora prezenta la soferii auto este reprezentata de realizarea unei parcari
perfecte, din putine manevre, si minimul de daune suferit de catre autovehicul sa e de 0
procente.
4

Acest proiect a fost realizat cu obiectivul de a depasi aceasta problema .
Pentru ca scopul mentionat mai sus sa e atins, obiectivele lucrarii sunt urmatoarele:
Macheta autonoma trebuie sa poata simula o masina reala in timpul parcarii.
Intelegerea modului in care functioneaza senzorii cu ultrasunete, transmiterea si recep-
tarea semnalelor cu ultrasunete.
Intelegerea teoriei ampli carii operationale si utilizarea sa.
Intelegerea diferitelor tehnici de variatie a modulatiei cum ar PWM si RFM.
Calcularea spatiului necesar pentru efectuarea parcarii.
Realizarea parcarii fara a atinge alt obiect.
Finalizarea proiectului va avea loc atunci cand macheta autonoma usureaza realizarea
parcarii, aceasta calculand, din momentul pornirii, distantele din jurul sau. In momentul in care
gaseste un spatiu su cient pentru realizarea manevrelor implementate, se va incepe parcarea.
In functie de spatiul calculat, parcarea va de doua feluri: parcarea cu spatele, sau parcarea
laterala.
1.2 Descrierea domeniului din care face parte tema de licenta
Fiind una dintre tehnologiile de baza pe care se bazeaza "a patra revolutie industriala"1,
Internetul Lucrurilor(IoT) este in centrul entuziasmului social. Odata cu raspandirea serviciilor,
IoT evoluand de la o descoperire tehnologica promitatoare la o problema relevanta pentru viata
de zi cu zi.
Internet of Things(IoT) este un sistem de dispozitive interdependente computerizate,
masinarii mecanice si digitale, obiecte, animale care prezinta indenti catori unici si care au
abilitatie de a colecta si transfera date cu ajutorul retelei fara a necesara interactionarea
om-om sau om-dispozitiv.
Intre anii 1980 si 1990 a fost discutata ideea de a adauga senzori si functionalitate
inteligenta obiectelor obisnuite, dar in afara de unele proiecte timpurii cum ar un automat de
vanzare cu conexiune la internet, progresul a fost unul lent deoarece tehnologia nu era foarte
1https://www.foreigna airs.com/articles/2015-12-12/fourth-industrial-revolution
5

dezvoltata. Initial, IoT a reprezentat un punct de interes puternic in afaceri si productie,
unde aplicarea sa era cunoscuta sub denumirea de masina-la-masina(M2M), dar odata cu
trecerea timpului si ajungand in zilele noastre, casele ne sunt umplute cu obiecte inteligente,
transformat ca acest domeniu sa devina relevant pentru aproape oricine.
Cam orice obiect poate transformat intr-un dispozitiv de tipul IoT daca poate
conectat la internet si controlat cu ajutorul lui. Un exemple de dispozitiv din IoT ar putea
implantul pe care il are o persoana la inima drept monitor, un animal la o ferma ce are un chip
de urmarie, un autovehicul ce are implantat in roti senzori pentru presiunea din ele, sau orice
altceva creat de natura sau chiar de mana omului care poate asignat unei adrese IP si are
abilitatea de a trimite date cu ajutorul unei retele. Termenul de IoT este in general utilizat
pentru dispozitivele care, in mod normal, nu s-ar astepta sa aiba o conexiune la interent si sa
poata comunica cu reteaua interdependent de actiunile omului. Pentru acest motiv, o unitate
de calculator sau un telefon inteligent nu pot considerate dispozitive IoT.
Bene ciile domeniului IoT promite sa faca tot ce ne inconjoara – casele noastre, locul
de munca si autovehiculele – mai inteligente, mai masurabile si cu interactiune mai multa.
Dispozitivele de la Amazon sau Google reusesc sa faca ascultatul muzicii, setarea alarmelor
sau obtinerea informatiilor mult mai usoara. Lasand la o parte mediul in care traim, casa, cu
ajutorul senzorilor putem intelege cat de poluat si zgomotos este mediul in care traim. Masinile
autonome si orasele inteligente ar putea schimba modul in care construim sau sa gestionam
spatiile publice. Ganditi-va la semafoarele din tra c care monitorizeaza statisticile de folosire,
sau pubele inteligente care sa dea un semnal in momentul in care necesita golirea lor. De ce
ar conta acest domeniu? Exista un motiv pentru care, in diverse tari, guvernul incurajeaza
companiile energetice sa ofere cetatenilor monitoare inteligente, deoarece intelegerea datelor
de utilizare si automatizarea in functie de nevoile ecaruia este mai e cienta, astfel o sa
utilizeze mai putina energie.
Astfel, cu ajutorul informatiilor numerotate mai sus, putem spune ca acest proiect poate
integrat in domeniul IoT deoarece este reprezentat de o macheta autonoma, cu senzori, care
realizeaza parcarea fara interactiunea omului.
2
2https://www.xtendiot.com/era-connected-cars/
6

Figura 1: Masina inteligenta
1.3 Prezentarea pe scurt a capitolelor
Aceasta lucrare este organizata in 7 capitole in care vor prezentate: problema abor-
data, solutia tehnica gasita, alte solutii, domeniul din care face parte lucrarea si domeniul de
aplicabilitate.
In capitolul cu numarul 1 este o scurta introducere, scopul lucrarii, obiectivele sale si
domeniul de aplicapibilitate.
In capitolul cu numarul 2 este descrisa pe lung problema abordata, apoi ses va pre-
zenta descrierea rezolvarii propuse, iar spre nalul capitolului o comparatie intre un proiect
asemanator si solutia propusa.
In capitolul cu numarul 3 este prezentata justi carea tehnologiilor alese in dezvoltarea
proiectului.
In capitolul cu numarul 4 este prezentata solutia tehnica si anume arhitectura machetei,
implementarea machetei si testarea acesteia.
In capitolul cu numarul 5 este prezentat un scenariu de utilizare al aplicatiei dezvoltate.
In capitolul cu numarul 6 sunt prezentate concluziile legate de problema abordata si
solutia aleasa.
In ultimul capitol, cel cu numarul 7 vom gasi bibliogra a acestei lucrari.
7

2 DESCRIEREA PROBLEMEI ABORDATE SI A REZOLVARII PRO-
PUSE
2.1 Descrierea problemei abordate
1
Figura 2: Accident exemplu masina
Condusul unei masini nu a fost niciodata mai usor, comparand cu anii din urma. Cu
tehnologiile precum transmisia automata, servodirectia, senzorii de parcare disponibili pentru
aproape orice masina de pe piata, soferii pot conduce linistiti cu fara foarte mult stres. Cu
toate acestea, una dintre cele mai grele parti ale condusului o reprezinta parcarea unei masini.
Desi conditiile puse in opozitie referitoare la numarul de masini ce ies pe piata si numarul
limitat de locuri de parcare, rezulta di cultatea parcarii sau a unor parcari dezordonate care
duce la diverse efecte adverse, si anume: blocarea altor masini prezente in parcare, diminuarea
numarului de locuri de parcare(si acestea putine).
Datorita existentei unei perceptii gresite in interiorul zonelor de parcare amenajate, si
anume faptul ca toata lumea se misca incet, nu poate rezulta o vatamare sau avariere serioasa.
In ciuda vitezelor mici la care se umbla in parcari, unii soferi sunt preocupati cu alesul muzicii
1https://www.torklaw.com/legal-advice/parking-lot-car-accident-attorney/
8

din masina, schimbatul canalelor radio, cu observarea unui loc de parcare, umblatul pe telefon
in timpul in care majoritatea pietonilor se uita in telefon sau incearca sa isi aduca aminte unde
au parcat masina, pot rezulta diverse intamplari neplacute datorata distractiilor de mai sus
deoarece lipsa de concentrare este prezenta in ambele parti.
2
Figura 3: Accident exemplu pieton
Chiar si dupa ce au luat lectii de condus, au trecut diverse teste unde era inclusa si
gararea, unii soferi tot esueaza la partea cu parcarea. Exista si alti factori care contribuie la
problemele parcarii, cum ar lipsa de experinta a soferilor si de citul de vedere la persoanele
in varsta. La urma urmei, nimeni nu este perfect. Oamenii tind sa faca greseli care duc la
accidente in timpul efectuarii miscarii de parcare. Cea mai rea partea din toate acestea este
faptul ca nu numai accidentele sunt o pierdere de bani si de timp, dar reprezinta un pericol
atat pentru sofer cat si pentru pietonii care se pot a
a pe langa masina.
Unii soferi pot intampina aceste probleme daca sunt la bordul unor masini mai mari,
ei ind obisnuiti sa conduca masini mai mici. Desi sunt instalati senzori de parcare, acestia
pot ajuta soferul doar pana intr-un punct anume. Este la latitudinea persoanei din spatele
volanului sa manevreze masina singur.
In conformitate cu studiul realizat de catre Departamentul de Psihologie al Universitatii
2https://www.vectorstock.com/royalty-free-vector/
at-cartoon-pedestrian-accident-isolated-vector-
17910660
9

Statului Florida, au fost realizate urmatoarele statistici cu privire la accidentele ce au loc in
parcari.
Luna 14 ani sau mai putin 15-25 ani 26-64 ani 65 de ani sau mai mult
Ianuarie 14 20 49 34
Februarie 12 24 56 26
Martie 11 25 61 39
Aprilie 17 25 60 18
Mai 16 19 52 28
Iunie 7 13 53 11
Iulie 10 15 50 15
August 9 13 52 22
Septembrie 18 26 47 23
Octombrie 12 25 57 28
Noiembrie 15 26 63 27
Decembrie 16 22 61 52
Total 157 253 661 323
Tabela 1: Tabel accidente in parcari cu pietoni [2]
Conform unor studii realizate in Anglia, [9] cea mai comuna locatie pentru ca o masina
sa e avariata este parcarea unui supermarket, ajungand la un procentaj de 48% in statisticile
locatiilor incidentelor. Apoi, procentajul de 16% este atins de catre parcarile din centrul
oraselor, parcarile librariilor, iar pe locul 3 ajung parcarile din mall-uri, cu un procentaj de
11%. 7 din 10 avarieri au avut loc accidental, soferii dand dovada de neatentie.
2.2 Descrierea rezolvarii propuse
Avand in vedere cele spuse mai sus, am ajuns la concluzia ca cea mai buna rezolvare a
problemei parcarii ar un sistem de parcare automata implementat pe autovehicul. In cadrul
acestui proiect voi prezenta implementarea sistemului de parcare automata pe o macheta
autonoma.
10

Sistemul embeded va format din 4 motorase legate la o placuta L298 dual H-bridge
care va primi curent de la 4 baterii de 1.5v, 6 senzori de proximitate si un senzor de temperatura
pentru a calcula cu acuratete mai mare distantele, toate acestea ind conectate la o placuta
Arduino Mega aceasta ind alimentata de o baterie de 9v. Initial am plecat cu premiza ca voi
folosi placuta Arduino Uno R3, dar datorita faptului ca aveam nevoie de un numar mai mare
de pini fata de cati erau prezenti pe placuta, a fost necesara achizitionarea placutei Arduino
Mega. Ea reusind sa satisfaca nevoile acestui proiect cu privire la numarul de senzori folositi.
Macheta va porni in linie dreapta si va masura distantele atat din stanga cat si din
dreapta sa cu ajutorul senzorilor montati pe ambele parti. In momentul in care va gasi
distanta necesara unei parcari, se va opri si va incepe actiunea de garare printr-un numar
necesar de manevre, fara ca aceasta sa atinga alt obiect, masinuta ramanand intacta.
2.3 Comparatie intre un proiect asemanator si solutia propusa
Cautand pe internet am gasit un proiect foarte asemanator[3] din punct de vedere al
pieselor folosite. Aceasta macheta este controlata de catre o aplicatie bluetooth, ind nevoie
de interactionarea om-macheta, parcarea devenind mai greu de realizat ind nevoie de atentia
sporita a utilizatorului in realizarea manevrelor.
Figura 4: Macheta proiectului de pe internet [3]
Spre deosebire de acesta, eu voi aduce un plus la acest proiect si anume manevrabilitatea
11

sa autonoma. Actiunea de parcare a masinii nu va mai necesita interactiunea om-macheta,
macheta avand in programul sau implementate in memoria sa anumite distante necesare si
comenzi de realizare a parcarii cat de perfect se poate. Pe langa acestea, voi adauga si un
senzor de temperatura deoarece caldura poate un impediment in primirea semnalelor cu
privire la distanta, dorind calcularea distantelor sa e cat mai precisa cu putinta.
12

3 SELECTAREA SOLUTIILOR TEHNICE SI PROIECTAREA AL-
GORITMULUI DE IMPLEMENTARE I
3.1 Prezentarea tehnologiilor hardwarde disponibile
1
(a) Placuta Arduino Uno
(b) Raspberry Pi 2 model B
Figura 5: Placute pentru dezvoltare proiect.
Cand este cazul de a alege o placuta pentru dezvoltarea unui proiect, Arduino si Raspberry
Pi principalele alegeri care sunt luate in considerare. In timp ce Arduino cat si Raspberry Pi
sunt dispozitive versatile, amandoua au intrebuintari speci ce la care sunt bune. De exemplu,
Arduino este un micro-controller exceland in controlarea de dispozitive mici de tipul senzorilor,
motoraselor, becurilor. De aceea Arduino este alegerea perfecta pentru proiecte cum ar
detectoare de miscare, detectoare de fum sau mici robotei. Pe de cealalta parte, Raspberry
Pi nu este un micro-controller si nu este realizat pentru controlarea de senzori sau lucruri
de genul. Este un computer in toata regula, cu propriul sistem de operare si cu scopul de a
folosit ca atare. Deoarece sistemul este la nivel minimal este nevoie de putina cultura cu
1https://beebom.com/arduino-vs-raspberry-pi/
13

referire la codare pentru a intelege utilizarea sa. Mai are si alta functionalitate si anume cea
de server: poate sa comunica cu alte computere, reusind sa ofere informatii. Din cele spuse
mai sus putem a rma ca Raspberry Pi este mai bun in comunicarea cu oamenii(deoarece
ruleaza un server web), iar Arduino este mai bun la partea de interactionare cu dispozitivele
din proiect.
Din punct de vedere hardware, este vizibil ca cele doua sunt diferite.
Cerintele sursei de alimentare a placutei Arduino sunt foarte usoare. Poate conectata
la calculator sau la baterii, si va incepe sa ruleze codul din prima clipa. Daca este deconectata
sursa, se va opri, ne ind necesar un proces de inchidere. Pe de alta parte, placuta Raspberry
Pi, ind ca un sistem computerizat in cea mai mare masura, are nevoie de a inchis ca un
calculator cu un proces de inchidere, deoarece poate avariat daca i se ia sursa de alimentare
subit. Amandoua folosesc putere foarte putina, reusind sa sa ruleze pentru mult timp fara a
consuma multa electricitate.
Din punct de vedere al conectarii la reteaua de internet, Raspberry Pi este pregatita din
fabrica sa realizeze o conexiune instant, ea avand in compozitie un port ethernet ind foarte
usor de adaugat un USB wi pentru a-i oferi conectivitate wireless. Datorita speci catiei
mentionate mai sus, aceasta placuta este aleasa de catre persoanele ce folosesc servicii web,
VPN-uri. Dar placuta Arduino nu vine din fabrica cu capabilitatea de conectare. De aceea,
daca se doreste o conectare la internet este necesara adagarea unei piese hardware ce contine
un port ethernet, sau daca se doreste o conectare WiFi este nevoie de alta piesa hardware.
Deoarece aceasta placuta a fost creata pentru proiecte hardware in loc de software, necesita
putina gandire inainte de conectare.
Pinii de intrare si iesire sunt cei care ajuta la comunicarea placutei cu dispozitivele
conectate la el. Raspberry Pi 2 contine 17 pini, in timp ce Arduino Uno ofera 20, ind
cea mai buna alegere pentru conexiuni hardware. Inca o diferenta prezenta intre cele doua
placute este modul in se poate controla rezolutia temporala intre pini. Pentru ca Raspberry
Pi este considerat un calculator, are o serie de lucruri care concrueaza pentru procesor, ceea
ce inseamna ca va intampina di cultati in obtinerea unor fractiuni de secunda. Pe langa acest
aspect, are nevoie de software pentru interfatarea corecta cu senzorii sau alte dispozitive. Dar
Arduino poate schimba iesirea si sa monitorizeze intrarile pe pini pentru o perioada foarte
scurta de timp.
14

Din punct de vedere al memoriei, Arduino vine cu o memorie de 32KB, ind su cienta
pentru stocarea codului care contine instructiuni cu privire la programul ce va utilizat.
Dar este insu cient pentru utilizarea de aplicatii, vizionare de poze sau videoclipuri sau orice
altceva. Din aceasta cauza, Raspberry Pi este mai util de folosit, nu are o memorie din fabrica,
dar contine un port de card micro SD, unde poate adaugata cata memorie este necesara.
Arduino ne ind creat pentru comunicarea cu alte calculatoare, nu vine standard cu vreun
port USB care sa suporte acest tip de comunicare. Are in compozitia un singur port USB, si
acela este pentru a face conexiunea dintre calculator si placuta, pentru transmiterea codului
sursa. Din acelasi punct de vedere, placuta Raspberry Pi vine cu patru porturi USB care pot
folosite pentru conexiunea cu un router, o imprimanta, o memorie externa sau diverse alte
dispozitive.
Arduino si Raspberry Pi sunt dispozitive foarte capabile care ajuta la realizarea de diverse
proiect, dar intr-un anumit punct, apare dorinta de a crea lucruri mai avansate. In acet punct,
Arduino iese in evidenta. Exista o multitudine de chip-uri care te lasa sa evoluezi capabilitatile
standard ale placutei si se ajunge in punctul in care exista conexiune WiFi sau internet, control
mai bun al motoarelor, difuzoare si microfoane, ecrane tactile, camere si multe altele.
Conform unor statistici realizate de site-ul npmtrends2, s-a constientizat faptul ca este
mai utilizata placuta Arduino decat placuta Raspberry Pi, conform gra cului de mai jos:
Figura 6: Comparatie intre utilizarea Arduino si Raspberry Pi
2http://www.npmtrends.com/arduino-vs-raspberry-pi
15

3.2 Prezentarea tehnologiilor hardware folosite
Acest proiect reprezinta un sistem de dispozitive folosite. Este nevoie de o placuta de
dezvoltare Arduino care sa suporte piesele necesare.
Arduino este o platforma electronica open-source bazata pe piese hardware si programe
software usor de utilizat. Placile Arduino sunt capabile sa citeasca intrari (lumina pe un senzor,
un deget pe un buton sau un mesaj de pe Twitter), si sa le transforme intr-o iesire ( activarea
unui motor, aprinderea unui led, publicarea online). Putem programa placuta prin trimiterea
unui set de instructiuni catre micro-controllerul de pe placa. Pentru a face acest lucru, se va
utiliza limba de programare Arduino(bazata pe cablare) si software-ul Arduino(IDE), bazat pe
procesare.
Este bene ca utilizarea Arduino deoarece este ieftina deoarece prezinta un pret mai
mic decat micro-controllerele de pe piata, poate rula pe Windows, OSX si Linux, pe cand
majoritatea micro-controllerelor sunt limitate doar la Windows. Este simplu de programat si
utilizat pentru ca este usor de folosit pentru incepatori. Iar ambele platforme, software cat si
hardware sunt de tipul open-source, adica sunt disponibile online pentru orice doritor pentru
a aduce modi cari bene ce, in special programatorii experimentati si ca oricine sa isi poata
crea propriile lor module, poate mai imbunatatite.
Initial am ales sa merg pe o placuta Arduino Uno, aceasta ind si cea mai utilizata,
deoarece vine integrat cu un mediu de dezvoltare, incluzand suportul necesar pentru un numar
de limbaje de programare, cum ar C++, C sau Java. Dar cand am ajuns la montatul pieselor,
in special al senzorilor am observat ca nu am destui pini pentru a folositi. Astfel, am decis
sa trec la urmatorul model ca dimensiune de pini, si anume Arduino Mega [7]. Aceasta, la fel
ca si Arduino Uno poate suporta aceleasi limbaje de programare. Se poate programa utilizand
orice limbaj de programare, daca se foloseste un compilator care sa transforme codul scris
in binar. Un alt motiv pentru care am ales aceasta placuta de dezvoltare este ca prezinta o
balanta potrivita la raportul calitate/pret.
16

Figura 7: Placuta Arduino Mega[7]
Placuta Arduino Mega are urmatoarele speci catii tehnice [7]
Tensiune de functionare: 5V;
Tensiune de alimentare Jack: 7V – 12V;
Pini I/O: 54;
Pini PWM: 15 (din cei de I/O);
Pini analogici: 16;
Memorie
ash: 256KB, din care 8KB ocupati de bootloader;
4 x UART;
Frecvent , a de funct ,ionare: 16 MHz.
Pentru ca macheta sa se poata misca in fata, in spate spre stanga si spre dreapta, a
fost necesara achizitionarea a 4 motorase cu reductor si roata [1].
17

Figura 8: Motor cu reductor si roata[1]
3
Intr-un motor DC simplu sunt 2 componente principale: statorul si arm atura. Statorul
este un magnet care ofera constant un camp magnetic. Iar armatura este partea rotativa, o
simpla bobina. Armatura este conectata la sursa de curent folosindu-se de 2 inele asezate in
jurul motorul arbore, acestea avand denumirea de inele comutatoare.
Atunci cand este aplicat curentul catre inelele comutatoare, trece prin bobina, producand
un camp magnetic care este atras de magnetul stator(polaritatile magnetice diferite se atrag,
cele similare se resping) si arborele motorului incepe sa se invarta. Acesta se roteste pana in
clipa in care jonctiunea atinge cele doua jumatati ale comutatorului. Acest proces este repetat
pana in clipa in care este oprita sursa de curent.
4
3https://dronebotworkshop.com/dc-motors-l298n-h-bridge/
4https://dronebotworkshop.com/dc-motors-l298n-h-bridge/
18

Figura 9: Cum functioneaza un motor DC
Speci catiile tehnice pentru motorul cu rotor si roata
Diametru roat a: 65mm;
Reduct ,ie motor: 1:48;
Tensiune de alimentare motor: 3V – 6V DC;
Cuplu: 0.8 kg * cm;
RPM: 3V:125rpm, 5V:200rpm, 6V:230rpm;
Curent: 3V:60mA, 5V:100mA, 6V:120mA.
Motoarele,pentru a functiona corespunzator, au nevoie de o placuta speciala Keyes L298
Dual H-Bridge [8] care va transmite turatia indusa din codul sursa. Este proiectata pentru a
actiona sarcini inductive, cum ar relee, solenoizi, curent continuu. De asemenea, ne poate
ajuta la utilizarea motoraselor, controland vitezele si directiile ecaruia in parte.
Figura 10: Placuta Keyes L298[8]
19

Speci catiile tehnice ale Keyes L298 Dual H-Bridge [8] sunt:
Tensiune de functionare: 5V/DC pana la 35V/DC;
Iesirea logica Vss: +5V/DC pana la 7V/DC;
Curentul logic: 0-36mA;
Nivelele de control: Low -0.3V/DC pana la 1.5V/DC, High: 2.3V/DC la Vss;
Activarea nivelului semnalului: Low -0.3V/DC pana la 1.5V/DC, High: 2.3V/DC pana
la -Vss;
Puterea maxima: 25W;
Temperatura de functionare: -25 grade Celisus pana la 130 grade Celsius;
Pentru a calcula distantele din jur am folosit un senzor ultrasonic HC-SR04 [6].
Figura 11: Senzor ultrasonic HC-SR04[6]
Dupa cum se poate observa, senzorul HC-SR04 este alcatuit din 4 pini ale caror nume
sunt: Vcc, Trigger, Echo si Ground. Acesta este foarte popular in aplicatiile de masurare a
distantei sau observarea obiectelor. Senzorul are 2 "ochi" care au rolul, ecare in parte, de
transmitator de ultrasunete si receptor, acesta functionand dupa formula clasica: Distanta =
Viteza x Timp.
Transmitatorul transmite un semnal de ultrasunete care se deplaseaza prin aer pana in
clipa in care atinge un obiect, semnalul se re
ecta pana ajunge la receptor de pe HC-SR04.
5
5https://components101.com/ultrasonic-sensor-working-pinout-datasheet
20

Figura 12: Exemplu de functionalitate a senzorului HC-SR04
Acum, pentru a calcula distanta conform formulei de mai sus avem nevoie sa cunoastem
viteza si timpul. Deoarece folosesc unde ultrasonice, stiu ca viteza universala a a acestora in
conditii normale este de 300m/s. In propriul circuit al HC-SR04 este calculat timpul in care
semnalul este emis si memorat timpul de plecare cu ajutorul pin-ului Trigger si receptionat,
astfel incat in momentul in care undele se intorc, se activeaza pin-ul Echo . Astfel, calcularea
distantei este foarte usoara cu utilizarea unui micro-controller sau a unui microprocesor.
Speci catiile tehnice alre senzorului HC-SR04 sunt:
Tensiune de alimentare: 5V;
Curent consumat: 15mA;
Distant , a de funct ,ionare: 2cm – 4m;
Unghiu de m asurare: 15o;
Eroare de doar 3mm;
Durat a semnal input: 10us.
Pentru calcularea temperaturii din jurul machetei am folosit un senzor de temperatura
si umiditate DHT11 [4], dar ma voi folosi doar de informatiile cu privire la temperatura. Acest
senzor este printre cele mai populare cu aceasta functionalitate deoarece, desi sunt ieftine
ofera performante grozave.
21

Figura 13: Senzor temperatura si umiditate DHT11[4]
Acest DHT11 este alcatuit dintr-un termistor(care masoara temperatura), o compo-
nenta ce simte umiditate si un circuit integrat pe spatele acestuia. Componenta ce simte
umiditatea este alcatuita din doi electrozi cu proprietatea de mentinere a umiditatii intre ei,
astfel, umiditatea schimbandu-se, conductivitatea sau rezistenta dintre cei doi electrozi se
schimba. Aceste schimbari sunt masurate si procesate de catre circuitul integrat si cu ajutorul
unui micro-controller se poate a
a umiditatea. Pe de alta parte, pentru a calcula tempera-
tura(ceea ce ma intereseaza) se foloseste un termistor. Un termistor este un rezistor variabil
care isi schimba rezistenta odata cu schimbarea temperaturii, ind creat din materiale semi-
conductoare cum ar ceramica. Rezistenta scade odata cu cresterea temperaturii iar aceasta
informatie este procesate de catre circuitul integrat iar cu ajutorul unui micro-controller se va
reusi a
area temperaturii.6
Figura 14: Modul in care functioneaza calcularea temperaturii in DHT11
6https://howtomechatronics.com/tutorials/arduino/dht11-dht22-sensors-temperature-and-humidity-
tutorial-using-arduino/
22

Speci catiile tehnice alre senzorului DHT 11 sunt:
Tensiune de alimentare: 3.3 V – 5 V;
Curent: 2.5 mA (maxim);
Gama de m asurare a temperaturii: 0 grade Celsius pana la 60 grade Celsius;
Eroarea m asur arii temperaturii: +/-2 grade Celsius;
Nu funct ,ioneaz a sub 0 grade Celsius;
In momentul in care macheta va porni parcarea, modulul cu buzzer [5] va incepe sa
functioneze si sa emita un sunet care va prezent pe toata durata gararii. Un buzzer este un
dispozitiv de emitere a semnalelor audio, care poate mecanoc, electromecanic sau piezoe-
lectric. Buzzer-ul este o structura electronica de traductoare integrata, conectata la curent
continuu. Este folosit la imprimante, copiatoare, alarme, jucarii electronice, telefoane etc. In
cea mai mare parte sunt folosite la alarme, cronometre.
Figura 15: Modul buzzer[5]
Speci catiile tehnice alre modulului cu buzzer sunt:
Tensiune de alimentare: 3.3V – 5V;
Curent: 30mA (MAX);
PNP tranzistor: 9012.
23

Toate acestea vor asezate pe o macheta auto, transparenta si cu distantele cat de
mari se poate intre roti pentru manevrabilitatea mai usoara
7
Figura 16: Macheta auto 4WD
3.3 Prezentarea tehnologiilor software folosite
Realizarea unui programul Arduino se poate scrie in orice limbaj de programare, atata
timp cat exista un compliator capabil sa genereze un cod masina binar, dar este de preferat
de utilizat cel oferit chiar de catre ei. Arduino Integrated Development Environment sau,
pe scurt Arduino (IDE) contine un editor de text pentru a scrie codul, o zona de mesaje, o
consola tip text, si o bara cu butoane care indeplinesc diferite functii si o serie de meniuri. Se
conecteaza la Arduino si la hardware-ul Genuino pentru a incarca programele si de a comunica
cu el. Este incredibil de minimalistic, dar totodata reusind sa ofere un mediu aproape complet
pentru cele mai multe proiecte Arduino. Proiectele create folosind Arduino sunt denumite
schite si in general sunt scrise intr-o versiune de C++(anumite caracteristici ale C++ nu sunt
incluse). Deoarece programarea unui micro-controller ete putin diferita fata de programarea
unui computer, au fost crate un numar de librarii speciale pentru schimbarea modului pinilor,
iesirire de pe ei, citirea valorilor analogie si altele.
Zona principala si predominanta a programului este cea in care se scrie codul. Acesta
7https://www.optimusdigital.ro/ro/robotica-kit-uri-de-roboti/141-kit-robot-4-motoare.html
24

isi va schimba culorile in functie de ce inseamna ecare cuvant. Zona neagra de jos reprezinta
depanarea informatiei. In momentul in care se va urca un cod pe placuta, se vor primi
informatii precise cu privire la progres, sau daca sunt prezente erori.
Figura 17: Program de test pentru calcularea distantei cu senzorul HC-SR04
25

4 SELECTAREA SOLUTIILOR TEHNICE SI PROIECTAREA AL-
GORITMULUI DE IMPLEMENTARE I
4.1 Blabla
gura bla bla 18
26

ANEXE
Figura 18: Schema hardware a proiectului
27

BIBLIOGRAFIE
[1] ArduinoCC. Motor cu reductor si roata datasheet. https://www.arduino.cc/
documents/datasheets/DCmotor6_9V.pdf . Accessed: 2018-06-15.
[2] Neil Charness, Boot Walter, Mitchum Ainsley, Stothart Cary, and Lupton Heather. Aging
driver and pedestirna safety: Parking lot. Technical report, Department of Psychology,
Florida State University, Tallahassee, FL 32306-4301, 6 2012.
[3] deba168. Smartphone controlled arduino rover. https://www.instructables.com/id/
Smartphone-Controlled-Arduino-Rover . Accessed: 2018-06-15.
[4] Optimus Digital. Dht 11 humidity & temperature sensor datasheet. https://www.
optimusdigital.ro/index.php?controller=attachment&id_attachment=59 . Ac-
cessed: 2018-06-15.
[5] Optimus Digital. Modul cu buzzer activ. https://www.optimusdigital.ro/ro/
audio-buzzere/10-modul-cu-buzzer-activ.html . Accessed: 2018-06-15.
[6] Optimus Digital. Senzor ultrasonic hc-sr04 datasheet. https://www.optimusdigital.
ro/ro/index.php?controller=attachment&id_attachment=1 . Accessed: 2018-06-
15.
[7] Mantech. Mega 2560 r3 (atmega2560 + atmega16u2) datasheet. http://www.mantech.
co.za/datasheets/products/A000047.pdf . Accessed: 2018-06-15.
[8] me making things. L298 keyes module:. http://memakingthings.blogspot.com/
2012/06/motor-drivers.html . Accessed: 2018-06-15.
[9] Craig Thomas. Two-thirds of drivers say their vehicles have been dama-
ged in car parks. https://www.express.co.uk/life-style/cars/727980/
Two-thirds-drivers-say-vehicles-damaged-car-parksl . Accessed: 2018-05-12.
28

Similar Posts