Sunteți pe pagina 1din 45

UNIVERSITATEA „DUNĂREA DE JOS” DIN GALAȚI

FACULTATEA DE AUTOMATICĂ, CALCULATOARE, INGINERIE


ELECTRICĂ ȘI ELECTRONICĂ

Anexa 6 la Procedura de înscriere on-line la examenele de finalizare a studiilor


valabilă în cursul anului universitar 2019-2020

PROIECT DE DIPLOMĂ

Coordonator științific,
Conf. Dr. Ing. Răzvan Șolea
Absolvent,
Teodorescu Alexandru Florentin

Galați
2020

Str. Științei Nr. 2, cod poștal 800146, Galați, România, tel/fax: +0236 470 905, e-mail: aciee@ugal.ro, web: www.aciee.ugal.ro
UNIVERSITATEA „DUNĂREA DE JOS” DIN GALAȚI
FACULTATEA DE AUTOMATICĂ, CALCULATOARE, INGINERIE
ELECTRICĂ ȘI ELECTRONICĂ

PROGRAMUL DE STUDII: Automatică și Informatică aplicată

Comanda unui automat pentru distribuirea


diverselor produse utilizând o placa de
dezvoltare Arduino

Coordonator științific,
Conf. Dr. Ing. Răzvan Șolea
Absolvent,
Teodorescu Alexandru Florentin

Galați
2020

Str. Științei Nr. 2, cod poștal 800146, Galați, România, tel/fax: +0236 470 905, e-mail: aciee@ugal.ro, web: www.aciee.ugal.ro
Rezumat

Această lucrare se concentrează pe construcția, descrierea, utilizarea și programarea


unui automat pentru distribuirea diverselor produse utilizând servomotoare de rotație
continuă, senzori de proximitate, controlate de o placă arduino.
Motivația care a stat la baza acestei lucrări a pornit de la dorința de a aprofunda, a
înțelege și de a explica aceste tehnologii, totdată fiind o alternativă ușor de realizat, ce
poate fi amplasată în afara spațiilor comerciale pentru achiziționarea diverselor produse,
oferind o soluție confortabilă si sigură, evitând astfel expunerea la aglomeratii și a
contactului cu alte persoane.

„Capitolul 1” va cuprinde o prezentare a ceea ce înseamnă platforma Arduino cât și


un scurt istoric al acesteia, urmat de pașii necesari pentru instalarea si folosirea ei.
„Capitolul 2” o să cuprindă prezentarea tuturor componentelor foloite pentru
realizarea automatuli și prețul acestora.
În „Capitolul 3” sunt prezentate diagramele de conexiuni folosite pentru realizarea
automatului căt și o descriere a acestora.
„Capitolul 4” curpinde prezentarea algoritmului principal și funcționalitatea acestuia.
„Capitolul 5” va cuprinde etapele implementării fizice a automatului.
CUPRINS
Introducere .............................................................................................................................................................. 3

Capitolul 1. Platforma arduino.................................................................................................................... 4


1.1 Istoric ........................................................................................................................................................................ 4

1.2 Conceptul Arduino............................................................................................................................................... 4

1.3 Instalare mediului de programare Arduino IDE ..................................................................................... 4

1.4 Anatomia unui program Arduino .................................................................................................................. 6

Capitolul 2. Descrierea componentelor hardware utilizate ........................................................ 7


2.1 Alimentator stabilizat 12v 2000 mA. ........................................................................................................... 7

2.2 Modul coborâre tensiune LM2596 ............................................................................................................... 7

2.2.1 Introducere în domeniul scăzătoarelor de tensiune.: .................................................................. 8

2.3 Senzor infraroșu de obstacole OSOYOO ..................................................................................................... 8

2.3.1 Principiul de funcționare ......................................................................................................................... 9

2.4 Ecran LCD 1602 I2C ......................................................................................................................................... 10

2.5 Placă test de tip Breadboard ........................................................................................................................ 12

2.5.1 Principiu de funcționare ....................................................................................................................... 13

2.6 Buton rotund fară reținere............................................................................................................................ 13

2.7 Servomotor cu rotație continuă DS04-NFC ............................................................................................ 14

2.7.1 Principiu de funcționare ....................................................................................................................... 15


2.7.2 Cum se controlează un servomotor.................................................................................................. 16

2.8 Placa arduino MEGA 2560............................................................................................................................. 17

Fig. 24 Placa de dezvoltare Ardunio MEGA2560 ................................................................................... 17


Fig. 25 Diagrama conexiunilor....................................................................................................................... 18

2.9 Prețul componentelor ..................................................................................................................................... 19

Capitolul 3. Descrierea schemelor de implenetare/funcționare ........................................... 20


3.1 Diagramele de conexiuni ............................................................................................................................... 20

3.2 Tabel de conexiuni............................................................................................................................................ 23

Capitolul 4. Descrierea algoritmului/programului de funcționare ..................................... 24


4.1Schema logică a programului ........................................................................................................................ 24

4.2 Descrierea programului de funcționare .................................................................................................. 25

Capitolul 5. implementarea fizică a automatului ........................................................................... 28


5.1 Etapele montajului ........................................................................................................................................... 28

Concluzii ................................................................................................................................................................ 34

Bibliografie ........................................................................................................................................................... 35

Anexa 1 ................................................................................................................................................................... 36

Anexa 2 ................................................................................................................................................................... 37

Anexa 3 ................................................................................................................................................................... 38

Anexa 4 ................................................................................................................................................................... 39

Anexa 5 ................................................................................................................................................................... 41

LISTA FIGURILOR
Fig. 1 Rularea fișierului de instalare ....................................................................................................... 4
Fig. 2 Selectarea componentelor .............................................................................................................. 5
Fig. 3 Folder destinație ................................................................................................................................ 5
Fig. 4 Finalizarea instalării ......................................................................................................................... 5
Fig. 5 Anatomia unui program Arduino ................................................................................................ 6
Fig. 6 Alimentator stabilizat: 12V 2000 mA ......................................................................................... 7
Fig. 7 Modul coborăre tensiune LM2596 .............................................................................................. 7
Fig. 8 Scăzător de tensiune ......................................................................................................................... 8
Fig. 9 Senzor infraroșu de obstacole....................................................................................................... 8
Fig. 10 Schema principiului de funcționare ......................................................................................... 9
Fig. 11 Așezarea pinilor senzorului OSOYOO ...................................................................................... 9
Fig. 12 Ecran LCD 1602 I2C ...................................................................................................................... 10
Fig. 13 Pasul 1 al instalării librăriei pentru ecranul LCD .............................................................. 11
Fig. 14 Pasul 2 al instalării librăriei pentru ecranul LCD.............................................................. 11
Fig. 15 Adresa hexazecimală a ecranului ............................................................................................ 12
Fig. 16 Placă Breadboard .......................................................................................................................... 12
Fig. 17 Anatomia unei plăci Breadboard ............................................................................................. 13
Fig. 18 Buton rotund fară reținere ........................................................................................................ 13
Fig. 19 Circuitul unui buton ..................................................................................................................... 14
Fig. 20 Servomotor cu rotație continuă DS04-NFC ......................................................................... 14
Fig. 21 Componente servomotor............................................................................................................ 15
Fig. 22 Schema principiului de funcționare a unui servomotor................................................. 15
Fig. 23 Timpii de control ........................................................................................................................... 16
Fig. 24 Placa de dezvoltare Ardunio MEGA2560 ............................................................................. 17
Fig. 25 Diagrama conexiunilor ................................................................................................................ 18
Fig. 26 Schema de conexiuni a butoanelor ......................................................................................... 20
Fig. 27 Schema de conexiuni a LCD-ului I2C...................................................................................... 21
Fig. 28 Schema de conexiuni a servomotoarelor ............................................................................. 21

1
Fig. 29 Schema de conexiuni a senzorului de obstacole ............................................................... 22
Fig. 30 Schema logică de funcționare ................................................................................................... 24
Fig. 31 Conexiunile coborătorului de tensiune ................................................................................. 28
Fig. 32 Reglarea coborătorului de tensiune ....................................................................................... 29
Fig. 33 Compartimentele pentru produse .......................................................................................... 29
Fig. 34 Compartiment colectare produse ........................................................................................... 30
Fig. 35 Spirală servomotor ....................................................................................................................... 30
Fig. 36 Decupajul pentru butoane și ecran......................................................................................... 31
Fig. 37 Detectorul de monede ................................................................................................................. 31
Fig. 38 Suportul lateral............................................................................................................................... 32
Fig. 39 Amplasare servomotoare ........................................................................................................... 32
Fig. 40 Amplasarea plăcii Arduino și a plăcii Breadboard ........................................................... 33
Fig. 41 Conexiunile electrice .................................................................................................................... 33

LISTA TABELELOR
Tabelul 1 Componente și prețuri ........................................................................................................... 19
Tabelul 2 Conexiuni..................................................................................................................................... 23

2
INTRODUCERE

Această lucrare se concentrează pe construcția, descrierea, utilizarea și


programarea unui automat pentru distribuirea diverselor produse utilizând
servomotoare de rotație continuă, senzori de proximitate, controlate de o placă arduino.
Motivația care a stat la baza acestei lucrări a pornit de la dorința de a aprofunda, a
înțelege și de a explica aceste tehnologii, totdată fiind o alternativă ușor de realizat, ce
poate fi amplasată în afara spațiilor comerciale pentru achiziționarea diverselor
produse, oferind o soluție confortabilă si sigură, evitând astfel expunerea la aglomeratii
și a contactului cu alte persoane.
Termenul ”mecatronică” a fost utilizat pentru prima data în anul 1969 de către un
inginer al firmei japoneze Yaskawa Electric.În prezent termenul definește o știință
inginerească interdisciplinară care se bazează pe îmbinarea elementor din construcția
de mașini, electrotehnică și informatică, având ca scop îmbunatățirea performanțelor și
a functionalității sistemelor tehnice. [1]
La început, mecatronica a fost întealeasă ca o completare a mecanicii de precizie,
un prim exemplu clasic de aplicație mecatronică fiind aparatul de fotografiat cu bliț.Cu
trecea timpului, noțiunea de mecatronică a capatat altă definiție, extinzându-si aria de
definiție: devedind o știiță inginerească bazată pe disciplinele clasice ale electrotehnicii.
electronicii, construcției de mașini și informaticii. [2]
Un sistem mecatronic necesită o abordare interdisciplinară pentru modelarea,
proiectarea și implementarea sa.Un sistem mecatronic tipic este format dintr-un schelet
mecanic, diverse componente hardware și software, dispozitive de interfață și surse de
alimentare.[2]
În concluzie mecatronica este o sfera interdisciplinară care tratează în general
problemele mecanicii, electronicii și informaticii.[1]

3
Capitolul 1. Platforma Arduino

CAPITOLUL 1. PLATFORMA ARDUINO

1.1 Istoric
Arduino a inceput în anul 2004 ca un proiect al unui student columbian pe nume
Hernando Barragán al institului „Interaction Design Institute Ivrea” coordonat de
profesorul Massimo Banzi și Casey Reas , acesta creând astfel platforma de dezvoltare
„Wiring”Motivația era să realizeze o unealtă simplă și ieftină, deoarece microntroalele
folosite in acea vreme de către studenți aveua un pret de aproximativ o sută de
dolari.[6]
În anul 2005, Massimo Banzi împreună cu David Mellis, au făcut platforma
„Wiring” compatibilă cu un microcontroler mult mai ieftin decât cel folosit anterior
numit „Atmega8 microcontroller”.Aceția au păstrat doar codul sursă și au numit
proiectul „Arduino”.[6]
După finalizarea platformei, au fost dezvoltate versiune și mai ieftine care au fost
distribuite în maniera „open-source”, astfel reușind sa producă in 2011 peste 300.000
de plăci oficiale, urmând ca în anul 2013 sa aibe peste 700.000 de plăci oficiale vândute
în toată lumea.[6]
Originea numelui „Arduino” provine de la un bar din Ivrea ce a fost denumit după
regele Italiei din perioada 1002-1014 „Arduin of Ivrea”[6]

1.2 Conceptul Arduino


.Platforma arduino este o platformă open-source ce constă intr-un microcontroler
și o platforma software numită IDE ce este folosită pentru a scrie și a incărca codul.[5
Datorită simplitații și a accesabilității sale, Arduino a fost folosit în mii de proiecte
diferite, oferind un mediu de programare accesibil ce poate fi folosit atât de utilizatori
amatori cât și de cei avansați.Din această cauză Arduino poate fi folosit în foarte multe
domenii , proiectele putând fi de complexități diferite, de la lampi cu comandă vocală
pană la sisteme avansate de securitate.[4]
1.3 Instalare mediului de programare Arduino IDE
Pasul 1: Se descarcă și se deschide fișierul de instalare gasit pe pagina
principală.[13]

Fig. 1 Rularea fișierului de instalare

4
Capitolul 1. Platforma Arduino

Pasul 2.În urmatorul meniu se aleg componentele dorite pentru a fi instalate

Fig. 2 Selectarea componentelor

. Pasul3.Se alege destinația unde programul va fi instalat.

Fig. 3 Folder destinație

Fig. 4 Finalizarea instalării

5
Capitolul 1. Platforma Arduino

1.4 Anatomia unui program Arduino

Fig. 5 Anatomia unui program Arduino

Un program Arduino are două secțiuni. Secțiunea „setup”, care este rulată doar o
singură data când placa este alimentată, sau dacă este apăsat butonul de „Reset” și
secțiunea „loop”, care este rulată ciclic, atât timp cât placa este alimentată.
De exemplu:

void setup() {

//codul scris rulează doar o singură data

void loop() {

//codul scris rulează tot timpul

În rutina „setup” se folosește de obicei pentru inițializare, iar rutina „loop” se


folosește pentru a scrie partea principală a programului.

6
Capitolul 2 Descrierea componenetlor hardware utilizate

CAPITOLUL 2. DESCRIEREA COMPONENTELOR HARDWARE UTILIZATE

2.1 Alimentator stabilizat 12v 2000 mA.

Fig. 6 Alimentator stabilizat: 12V 2000 mA

Specificații:
 Mufă alimentare universală 5.5/2.5 și 2.1.
 Led indicator tensiune
 Tensiune la ieșire: 12V
 Curent la ieșire: 2A
 Protecție la scurt circuit
 Protecție la supratensiune
 Protecție la suprasarcină

2.2 Modul coborâre tensiune LM2596

Fig. 7 Modul coborăre tensiune LM2596

Caracteristici tehnice:
 Tensiune de intrare: 4V-40V
 Tensiune de ieșire: 1.23V -35V
 Frecvență de comutare: 150 kHz
 Temperatură de operare: -40°C~+85°C
 Dimensiune: 43.6 mm x 21mm x14mm

7
Capitolul 2 Descrierea componenetlor hardware utilizate

2.2.1 Introducere în domeniul scăzătoarelor de tensiune.:

Fig. 8 Scăzător de tensiune

Scazătorul de tensiune este un convertor DC-DC ce îndeplineste sarcina de a


reduce tensiunea folosind tranzsitoare și o bobină.[11]
În prima etapă comutatorul se află pe pozitia ON permitând trecerea curentului
către condesator, încărcându-l.Tensiunea condesatorului nu poate crește instantaneu
iar bobina limitează curentul de încarcare, astfel tensiunea circuitul în timpul perioadei
de comutare nu este tensiunea completă a sursei de alimentare.[11]
În a doua etapa etapa cand comutatorul se află pe poziția OFF, energia stocată în
câmpul magnetic al bobinei este eliberată înapoi în circuit.Această tensiune încarcă
condensatorul si alimentează o sarcină prin diodă, mentinând astfel curentul de ieșire
pe întreg circuitul.[11]
Aceste două etape se repetă de mii de ori pe secundă având ca rezultat o ieșire
continuă.

2.3 Senzor infraroșu de obstacole OSOYOO

Fig. 9 Senzor infraroșu de obstacole

8
Capitolul 2 Descrierea componenetlor hardware utilizate

Caracteristici tehnice:
 Tensiune de alimentare: 3V - 5V;
 Distanță sesizare obstacol: 2cm - 30cm;
 Unghi observare obstacol: 350;
 Output digital;
 Comparator LM393;
 Tensiune de referință reglabilă.

Senzorul de obstacole va fi folosit pentru a detecta monedele introduse în


automat.

2.3.1 Principiul de funcționare

Fig. 10 Schema principiului de funcționare

Senzorul transmite un puls de rază infraroșie de la emițător și înregistrează orice


lumină reflectată înapi către receptor. Acest senzor conține un comparator de tip
LM393 și un potențiometru pentru a ajusta lungimea de undă.[12]

Fig. 11 Așezarea pinilor senzorului OSOYOO

9
Capitolul 2 Descrierea componenetlor hardware utilizate

Dispozitivul dispune de 3 pini, dintre care doi sunt de alimentare(VCC și GND),cel


de-al treilea fiind pinul ce ne oferă indicații sub formă de tensiune variabilă ce indică
cantitatea de lumină captată de receptor.[12]
Dacă se află un obstacol în raza de acțiune comparatorul furnizează la ieșire 1 logic
sau 0 logic în cazul în care nu detectează un obstacol.[12]

2.4 Ecran LCD 1602 I2C

Fig. 12 Ecran LCD 1602 I2C

Caracteristici tehnice:
 Material: PCB și plastic
 Tip ecran: LCD
 Dimensiunea ecran: 6.6 cm
 Rezoluție: 80x16
 Tensiune de lucru: 4.5~5.5V
 Curent de lucru: 80 mA
 Greutate: 34 de grame

Acest LCD este ideal pentru afișarea caracterlor si numerelor.Acest modul vine
echipat cu un cip PCF8574 pentru comunicarea I2C și un potențiometru pentru
ajustarea luminozității.
Pentru a putea conecta ecranul la placa arduino, avem nevoie de adresa
hexazecimală a ecranului care se află rulănd codul prezentat în anexa 6 și de libraria
„LiquidCrystal_I2C.h” care se descarcă ca arhivă din pagina de internet precizată în
bibliorafie [24].Librăria se va importa din programul Arduino urmănd urmatorii pași:

10
Capitolul 2 Descrierea componenetlor hardware utilizate

1. Din bara de meniu a programului se selectează „Sketch” , „Include Library”


după care se da click pe „Add .ZIP Library”.

Fig. 13 Pasul 1 al instalării librăriei pentru ecranul LCD

2. Selectați arhiva din locația unde a fost descarcată

Fig. 14 Pasul 2 al instalării librăriei pentru ecranul LCD

11
Capitolul 2 Descrierea componenetlor hardware utilizate

După rularea secvenței de cod pentru a afla adresa hexazecimală a ecranului se


poate observa că acesta are adresa 0x27 care va fi folosită în programul principal pentru
a conecta ecranul la placa arduino, conform figurii de mai jos (15).

Fig. 15 Adresa hexazecimală a ecranului

2.5 Placă test de tip Breadboard

Fig. 16 Placă Breadboard

Caracteristici tehnice:
Dimensiuni: 17.5 x 6.7 x 0.8mm
Număr de puncte: 800

12
Capitolul 2 Descrierea componenetlor hardware utilizate

2.5.1 Principiu de funcționare

Fig. 17 Anatomia unei plăci Breadboard

Secțiunile A și D sunt folosite pentru alimentare.


În secțiunile B și C se inserează elementele de circuit. Fiecare linie verticală poate
să reprezinte un nod de circuit.Pe mijloc exista un orizontal ce separa secțiunea B de
secțiunea C pentru a oferi mai moulte noduri și a face posibilă conectarea elemtelor de
circuit ce au două perechi de pini.[17]
2.6 Buton rotund fară reținere

Fig. 18 Buton rotund fară reținere

Specificații tehnice:
 Material: Plastic
 Dimensiuni: 20 x 17.5mm
 Rezistă la un curent de 1A la 250V sau 3A la 125V.

13
Capitolul 2 Descrierea componenetlor hardware utilizate

Fig. 19 Circuitul unui buton


Dacă se apasă butonul contactul se închide permitând trecerea curentului electric.
În cadrul acestui proiect, butoanele sunt folosite pentru a selecta produsul dorit
dupa inserarea unei monede.

2.7 Servomotor cu rotație continuă DS04-NFC

Fig. 20 Servomotor cu rotație continuă DS04-NFC

Caracteristici tehnice:
 Model: DS04-NFC.
 Greutate: 38g.
 Dimensiuni: 40.8 x 20 x 39.5 mm.
 Putere: 5.5kg/cm la 4.8V.
 Viteză:0.22 sec/600.
 Tensiune de alimentare: 4.8v-6v.
 Temperatură de operare: -10 pană la 500 .C

Un servomotor este un actuator liniar sau rotativ ce permite controlul foarte


precis a poziției unghiulare, accelerației și a velocității.Este practic un sistem cu buclă
închisă format dintr-un dispozitiv controlar, un controler, un seznor de ieșire și un
sistem de feedback.[21]

14
Capitolul 2 Descrierea componenetlor hardware utilizate

Fig. 21 Componente servomotor

În figura de mai sus sunt prezentate componentele unui servomotor:


 Motorul de curent continuu
 Angrenajul cu roți dințate
 Componentele electronice de control
 Potențiometrul
 Accesoriile

2.7.1 Principiu de funcționare

Fig. 22 Schema principiului de funcționare a unui servomotor

15
Capitolul 2 Descrierea componenetlor hardware utilizate

Poziția curentă a aroberului este transformată în semnal electric de către


potențiometru după care este comparată cu semnal de intrare de comandă.Dacă
semnalul primit de la feedback diferă de cel de la intrare, atunci se va genera un semnal
de eroare care este apoi amplificat și aplicat ca intrare către motor, ceea ce determină
rotirea motorului. Doar atunci când arborele ajunge în poziția dorită, semnalul de
eroare devine zero, deci motorul a atins poziția dorită.[22]
Deoarece intrarea aplicată motorului reprezintă diferența dintre sistemul de
reacție dat de poziția actuală și semnalul aplicat care este dat de poziția necesară, viteza
motorul este proporțională cu diferența dintre poziția actuală si cea necesară.[22]

2.7.2 Cum se controlează un servomotor

Mișcarea maximă a unui servomotor poate fi de 1800, adică 900 în ambele direcții,
neputând fi rotit mai mult din cauza unui opritor mecanic încorporat.Un servomotor
este controla prin trimiterea unui semnal PWM prin intermediul firului de comandă.
Pulsul este trimis la fiecare 20 de miliscunde, lătimea impulsului determinând
poziția arboerului.[22]
De exemplu putem observa din figura de mai jos (20) cum un impuls de 1ms mută
arborele în sensul invers acelor de ceasornic, un impuls de 1.5ms mută aroberele în
poziția neutra iar un impuls de 2ms mută aroberele în sensul acelor de ceasornic la un
unghi de 900.[22].

Fig. 23 Timpii de control

16
Capitolul 2 Descrierea componenetlor hardware utilizate

2.8 Placa arduino MEGA 2560

Fig. 24 Placa de dezvoltare Ardunio MEGA2560

Caracteristici tehnice:
 Tensiune de alimentare : 5V
 Tensiune de intrare: 7-9V
 Pini digiitali I/O: 54
 Pini de intrare analogici: 16
 Curent DC pe I/O: 40mA
 Curent DC pentru Pinul 3.3V: 50mA
 Memorie flash: 256KB
 Frecvență: 16MHz

Placa are montat un microcontroler Atmega2560, ce funcționează la o tensiune de


alimentare de 7-9 volți.Placa se poate conecta la portul USB al calculatorului sau poate fi
alimentată extern folosind un alimentator extern.[23]
Pinii pentru alimentare sunt următorii: „VIN”, „5V”, „3V3”, „GND” și „IOREF”.Pinul
„VIN” se folosește când alimentam placa dintr-o sursă externă, putând fi folosit și ca o
sursă de 5V în cazul în care placa este alimentată prin conectorul jack. Pinul „5V” oferă o
tensiune de 5 volți provenită de la stabilizatorul de tensiune intern al plăcii. Este
posibilă și alimentarea plăcii de la pinul de 5 volți sau de la pinul de 3.3 volți dar nu este
recomandată deoarece are ca rezultat bypas-ul stabilizatorului de tensiune, putând
afecta placa. Pinul „3V3” oferă o tensiune de 3.3 volți generată de un alt stabilizator
inclus în placă, cu un curent maxim de 50 mA. Pinul „IOREF” generază tensiunea de
referintă cu care operează microcontrolerul.[23]
Microprocesorul Atmega2560 dispune de un set vast de instrucțiuni și 32 de
regiștri funcționali, conectați direct la Unitatea Aritmetică Logică, ce permite ca doi
regiștri independenți sa fie accesați intr-o instrucțiune executată intr-un ciclu de semnal
de ceas. Include și 16 pini analogici cu o rezoluție de 10 biți, ce măsoară tensiunea de la

17
Capitolul 2 Descrierea componenetlor hardware utilizate

0 la5 volți, limita de 5 volți putând fi schimbată folosind pinul AREF împreună cu funcția
analogReference().[23]

Comunicarea cu caclulatorul se realizează foarte ușor, placa Mega2560 având 4


unitățo UART hardware disponibile pentru comunicare serială TTL.
Dispozitivul Atmega16U2 comunică cu calculatorul prin portul USB al plăcii.[23]
Pentru sistemele de operare Linux și OSX acesta recunoaște portul de comunicație
automat, pentru sistmeul de operare Windows este necesar instalarea unui fișier .inf.
Placa prezintă și două LED-uri Tx și Rx care se aprind interminet la transmieterea
datelor către cipul Atmega16U2 sau la transmiterea datelor dinspre sau către calculator.
Comunicarea serială cu orice pin al plăcii se realizează folosind librăria
„SoftwareSerial”.[23]
Arduino Mega2560 conține o componentă activă de tip „polyfuse”, ce oferă
protecția la scurtcircuit și la supracurent a portului USB al calulatorului.[23]
Programarea microprocesorului se poate realiza foarte ușor folosind programul
oferit de producător „Arduino”, el putând rula pe Linux, MacOS și
Windows.Microcontrolerul conține un bootloader încărcat ce poate încarcă codul scris
în softul Arduino fară a mai fi necesar un programator hardware.[23]
Această placă este perfectă pentru proiecte mai mari, care au nevoie de mulți pini
de comunicație, pwm și analogici.[23]

Fig. 25 Diagrama conexiunilor

18
Capitolul 2 Descrierea componenetlor hardware utilizate

Fiecare dintre cei 54 de pini digitali ai plăcii pot fi folosiți atăt ca intrări cat ca și
ieșiri, folosind funcțiile :„pinMode()”, „digitalWrite()” și „digitalRead()”. Aceștia
operează la o tensiune de 5 volți, putând oferi un curent maxim de 40 mA. Fiecare pin
are o rezistență de tip „pull-up” cu o valoarea curpinsă între 20-50 KΩ.[23]

Unii pini pot avea funcții speciale:


 Întreruperi externe: pinii 2, 3, 18, 19, 20 și 21 pot genera diverse tipuri de
întreruperi.folosind funcția „attachIntrerupt”.
 PWM: pinii 2-13 și 44-46 generează un semnal de tip PWM pe 8 biți cu
ajutorul funcției „analogWrite().
 SPI: pinii 50, 51, 52, 53 permit o comunicație serială SPI(Serial Peripheral
Interface) folosind librăria „SPI library”.
 LED: pinul 13 este conectat la un LED integrat în placă. Când pinul are
valoarea High(5V), ledul este aprins, iar când pinul are valoarea LOW(0V),
LED-ul este stins.
 TWI: pinii 20 și 21 permit o comunicație de tip TWI folosind librăria „Wire
library”.
 Comunicație serială: Perechile formate din pinii (0,1), (19,18), (17,16) și
(15,14) se pot folosi pentru a recepționa date serial de tip Rx și a transmite
date serial de tip Tx
2.9 Prețul componentelor
Nr. Crt. Cantitatea Denumirea componentei Prețul
componentei(RON)
1 4 Buton rotund fără reținere 1,95

2 1 Ecran LCD 1602 I2C 18,90

3 1 Placă test de tip Breaboard 12,90

4 1 Alimentator stabilizat 12V 2000 mA 14,99

5 1 Modul coborâre tensiune LM2596 8,00

6 1 Senzor infraroșu de obstacole OSOYOO 1,48

7 1 Placă arduino MEGA 2560 47,88


8 4 Servomotor cu Rotație Continuă DS04-NFC 39,00

Total: 267,96 RON

Tabelul 1 Componente și prețuri

19
Capitolul 3 Descrierea schemelor de implementare/funcționare

CAPITOLUL 3. DESCRIEREA SCHEMELOR DE IMPLENETARE/FUNCȚIONARE

3.1 Diagramele de conexiuni

Fig. 26 Schema de conexiuni a butoanelor

În figura (26) de mai sus este prezentată schema conexiunilor butoanelor ce


asigură comanda servomotoarelor îin momentul în care este selectat un produs.
Am atașat plăcuței Arduino patru butoane, câte unul pentru fiecare compartiment
în care se află produsele. Fiecare buton corespunde unui compartiment în care se afla
diverse produse, în funcție de ce buton este apăsat, servomotorul din compartimentul
resepctiv va fi acționat, împingâng produsul respectiv spre compartimentul de unde
poate fi luat.

20
Capitolul 3 Descrierea schemelor de implementare/funcționare

Fig. 27 Schema de conexiuni a LCD-ului I2C

După cum se poate observa din figura (24), ecranul este alimentat la o tensiune de
5 volți prin conectarea alimentarii la pinul de „5V” al plăcii ardunio.Legăm si pinul de
masă(GND) al LCD-ului în mod coresponzător pe breadboard.Arduino Mega2560
trebuie să aibă pinii ce transmit semnalul de ceas și semnalul de date conectați la pinii
echivalenți ai modului LCD I2C(pinii „SDA” și „SCL”).Ecranul LCD va fi folosit pentru a
afișa soldul curent și mesajele generale de întampinare.
Servomotoarele au rolul de a aduce produsul dorit în compartimentul de preluare,
în urma selecției realizate de către acționarea oricărui buton ce corespunde unui
compartiment încărcat cu produse.

Fig. 28 Schema de conexiuni a servomotoarelor

21
Capitolul 3 Descrierea schemelor de implementare/funcționare

Deoarece servomotoarele funcționează cu o tensiune de alimentare de 5 volți, a


fost necesară utilizarea unui coborător de tensiune pentru a aduce tensiunea sursei de
alimentare de la 12 volți la 5 volți, conform figurii (25).
Alimentăm servomotoarele la o tensiune de 5 volți ce este asigurată de
coborătorul de tensiune având grijă să legăm pinii de masă ai servomotarelor și al plăcii
arduino pe breaboard.Pinii pentru comanda servomotarelor sunt legați prin intermediul
plăcii breadboard la pinii PWM(4, 5, 6, 7) ai plăcii arduino.
Am ales aceste servomotoare datorită prețului scăzut de achiziție, dar și faptul că
se utilizează în buclă deschisă, rezultând un control foarte simplu al acestora. Softul
Arduino dispune de o librărie „Servo” pentru controlul servomotoarelor dedicată
trimiterii semnalelor de tip PWM pentru un control facil al acestora.

Fig. 29 Schema de conexiuni a senzorului de obstacole


După cum se poate observa pinul de alimentare al senzorului de obstacole se
conectează la terminalul „OUT” al coborătorului de tensiune care realizează alimentarea
la 5 volți, iar pinul de masă se inseriază cu cel al coborâtorului de tensiune la placa
arduino.
Senzorul de obstacole este folosit pentru a incrementa soldul curent în momentul
care este introdusă o moneda în automat, trebuie avut grijă deoarece modulul respectiv
este sensibil la variații ale luminii ambienale, din această cauză detecotrul de obstacole
se va amplasa în interiorul automatului.

22
Capitolul 3 Descrierea schemelor de implementare/funcționare

3.2 Tabel de conexiuni

Denumire componentă Pinii digitali

Butonul 1 13

Butonul 2 12

Butonul 3 11

Butonul 4 10

Servomotorul 1 4

Servomotorul 2 6

Servomotorul 3 5

Servomotorul 4 7

Detectorul de obstacole 9

LCD I2C SDA și SCL

Tabelul 2 Conexiuni
Tabelul de conexiuni este folosit pentru a ușura implementarea fizică a
automatului.

23
Capitolul 4 Descrierea algoritmului/programului de funcționare

CAPITOLUL 4. DESCRIEREA ALGORITMULUI/PROGRAMULUI DE FUNCȚIONARE

4.1Schema logică a programului

Fig. 30 Schema logică de funcționare

În figura de mai sus (27) este prezentată schema logică de funcționare a


automatului.
Starea inițială a automatului este dată de mesajul „Introduceți o monedă” afișat pe
ecranul LCD.
În momentul în care utilizatorul introduce o monedă, aceasta este detectată de
senzorul infraroșu, facănd trecerea la urmatoarea secventă.
După introducerea unei monezi, mesajul „Selectați un produs” va fi afișat pe
ecranul automatului, utilizatorul putănd selecta produsul dorit prin apăsarea oricărui
dintre cele 4 butoane disponibile.

24
Capitolul 4 Descrierea algoritmului/programului de funcționare

După pe produsul a fost selectat, pe ecran se va afișa mesajul „Procesare” după


care este acționat servomotorul, împingând produsul în compartimentul de colectare.
Dupa ce produsul se află în compartimentul de colectare, pe ecran se va afișa
mesajul „Ridicați produsul”, urmănd ca automatulul să se întoarcă în starea inițială.

4.2 Descrierea programului de funcționare

Pentru început trebuiesc inițializate cele 4 servomotare, cele 4 butoane, ecranul


LCD, senzorul infraroșu și incluse librăriile pentru controlul servomotoarelor si al
ecranului LCD.
Butoanele sunt activate de rezistențele interne de tip „pull up” ale plăcii arudino,
în momentul acționării unui buton, acesta va trece in starea logică de „LOW”.

1. void setup() { lcd.begin(16, 2);// Inițializează ecranul LCD, s


pecificând dimensiunea lui 16x2.
2. lcd.backlight(); //Pornim lumina de fundal
3. servo1.attach(4);
4. servo2.attach(6);
5. servo3.attach(5);
6. servo4.attach(7);
7. pinMode(detectormonezi, INPUT); //setăm pinul 9 ca intrare

Programul principal începe cu afișarea mesajului „Introdu o monedă” pe ecranul


LCD. După introducerea unei monede, ea este detectată de senzorul de obstacole care va
trece in starea logică „LOW” , programul trecând la următorul caz.

1. void loop() {
2. // Afișarea mesajului principal
3. lcd.clear();
4. lcd.backlight();
5. lcd.print("Introdu o moneda!");
6.
7. // Detectarea monedei
8. while (true) {
9. if (digitalRead(detectormonezi) == LOW) { // dacă este det
ectată o monedă iesă din bucla while
10. break;
11. }
12. }

După ce a fost introdusă moneda, pe ercanul LCD este afișat mesajul: „Selectați un
produs!”,În program se memorează numărul butonului apăsat după care trece în etapa
finală, unde produsul ajunge în compartimentul de preluare.

25
Capitolul 4 Descrierea algoritmului/programului de funcționare

1. //Mesajul de selecție a produsului dorit


2. delay(10);
3. lcd.clear();
4. lcd.setCursor(0, 0);
5. lcd.print("Selectați un produs");
6. lcd.setCursor(0, 1);
7. lcd.print(" 1, 2, 3 or 4?");
8.
9. // Detectarea butonului apăsat
10. while (true) {
11. if (digitalRead(button1) == LOW) {
12. buttonPressed = 1;
13. break;
14. }
15. if (digitalRead(button2) == LOW) {
16. buttonPressed = 2;
17. break;
18. }
19. if (digitalRead(button3) == LOW) {
20. buttonPressed = 3;
21. break;
22. }
23. if (digitalRead(button4) == LOW) {
24. buttonPressed = 4;
25. break;
26. }
27. }
28. // Afișarea mesajului de preculare
29. lcd.clear();
30. lcd.setCursor(0, 0);
31. lcd.print("În prelucrare...");

A fost creat un caz specific ce corespunde fiecărui buton dacă este apăsat.În funcție
de butonul apsăat, programul execută unul dintre cele 4 cazuri ce corespund numărului
butonului apăsat, urmând ca după terminarea procesului de prelucrare să fie afișsat pe
ecranul LCd mesajul „Puteți ridica produsul!” și automatul va reveni la starea inițială.

1. switch (buttonPressed) {
2. case 1:
3. // Cazul 1 dacă se apasă butonul 1
4. servo1.writeMicroseconds(2000); // Comanda pentru a porn
i servomotorul
5. delay(950);
6. servo1.writeMicroseconds(1500); // Comanda pentru a opr
i servomotorul
7. delay(500); // posibil sa trebuiasca scos
8. break;

26
Capitolul 4 Descrierea algoritmului/programului de funcționare

9.
10. case 2:
11. // Cazul 2 dacă se apasă butonul 2
12. servo2.writeMicroseconds(2000); // Comanda pentru a
porni servomotorul
13. delay(950);
14. servo2.writeMicroseconds(1500); // Comanda pentru a
opri servomotorul
15. delay(500);
16. break;
17.
18. case 3:
19. // Cazul 3 dacă se apasă butonul 3
20. servo3.writeMicroseconds(2000); // rotateComanda pe
ntru a porni servomotorul
21. delay(950);
22. servo3.writeMicroseconds(1500); // stopComanda pen
tru a opri servomotorul
23. delay(500); //
24. break;
25.
26. case 4:
27. // Cazul 4 dacă se apasă butonul 4
28. servo4.writeMicroseconds(2000); // Comanda pentru a
porni servomotorul
29. delay(950);
30. servo4.writeMicroseconds(1500); // Comanda pentru
a opri servomotorul
31. delay(500); //
32. break;
33. }
34. lcd.clear(); //
35. lcd.setCursor(0, 0);
36. lcd.print("Puteți ridica produsul!");
37. delay(2000);
38. }

27
Capitolul 5 Implementarea fizică a automatului

CAPITOLUL 5. IMPLEMENTAREA FIZICĂ A AUTOMATULUI

5.1 Etapele montajului


În acest capitolvoi prezenta pas c pas modul de asamblare al automatului
Asamblarea automatului a constat în montarea tuturor componentelor prezentate anterior pe o platforma
realizată din pal,
1. Pentru început am realizat conexiunile electrice corespunzătoare
coborătorului de tensiune,lipind cablurile cu ajutorul unui letcon.

Fig. 31 Conexiunile coborătorului de tensiune

2. După, coborătorul de tensiune a fost reglat la tensiunea nominala a


servomotoarelor de 5V prin rotirea potențiometrului în sensul invers
acelor de ceasoric, folosind un multimetru digital pentru a observa în timp
real valoare tensiunii.

28
Capitolul 5 Implementarea fizică a automatului

Fig. 32 Reglarea coborătorului de tensiune


3. Următorul pas a constat în realizarea compartimentelor pentru produse.
Aceastea au fost realizate dintr-un canal de cablu, fiecare compartiment
fiind decupat la dimensiunile de 9,5 cm.19,5 x 9,5 cm Compartimentele sunt
plasate pe o placă de lemn cu dimensiunile de 78 x 30 cm .

Fig. 33 Compartimentele pentru produse

4. Pentru realizarea compartimentului de colectare a produselor a fost


folosită o placă de lemn cu dimensiunile de 78 x 23 cm.

29
Capitolul 5 Implementarea fizică a automatului

Fig. 34 Compartiment colectare produse


5. În continuare a fost realizată spirala care este atașată servomotoarelor
pentru a împinge produslui în compartimentul de colectare. Spirala a fost
realizată folosind sărma oțelită, bobinată pe un cinlindru cu diametrul de 7
centimetri, apoi fiind prinsă de accesoriul de plastic cu ajutorul unui pistol
de lipit cu baghete de silicon.

Fig. 35 Spirală servomotor


6. Butoanele și ecranul LCD au fost montate pe o placă decupată dintr-run
canal de cablu cu dimensinile de 38 x 10 cm. Cu ajutorul unei freze electrice
au fost decupate locurile unde se montează cu ajutorul unui pistol de lipit
cu baghete de silicon cele 4 butoane și ecranul LCD

30
Capitolul 5 Implementarea fizică a automatului

Fig. 36 Decupajul pentru butoane și ecran.

7. În continuare se lipesc cele 4 butoane și ecranul LCD folosind silicon, după


care cu ajutorul unui letcon se lipesc cablurile pentru fiecare buton
individual. Pentru canalul monedelor, a fost folosit un canal de cablu cu
dimensiunile de 26 x 2,3 cm, lipit cu silicon.Senzor de obstacole este
amplasat pe un canal de cablu, el putând culisa pentru a regla distanța la
care deteactează un obstacol

Fig. 37 Detectorul de monede

31
Capitolul 5 Implementarea fizică a automatului

8. Pentru susținerea automatului au fost folosite două placi de lemn cu


dimensiunile de 41 x 30 cm, ce vor fi amplasate în laterarele automatului.

Fig. 38 Suportul lateral


9. Servomotoarele au fost lipite cu silicon în dreptul fiecărui compartiment al
produselor, spirala realizată din sărma oțelită fiind atașate
servomotoarelor folosind șuruburile incluse.

Fig. 39 Amplasare servomotoare

32
Capitolul 5 Implementarea fizică a automatului

10. Placa arduino și placa Breadboard au fost lipite folosind siliocn în spatele
servomotarelor pentru a reduce distanța necesară realizării conexiunilor
electrice.

Fig. 40 Amplasarea plăcii Arduino și a plăcii Breadboard

11. Ultimul pas a constat în realizarea legaturilor electrice, urmărind


diagramele din capitolul 3 si tabelul de conexiuni (2).

Fig. 41 Conexiunile electrice

33
CONCLUZII

S-a realizat un automat pentru distribuirea diverselor produse controlat folosind o


placă Arduino.
În prima parte a acestei lucrări am tratat fiecare componentă în parte, explicând
rolul ei și oferind descriere sumară a funcționării acestora.
În a doua parte au fost proiectate diagramele pentru conexiunile electrice a
fiecărei componente.
Pentru a comanda automatul, am folosit platforma Arduino, programul principal
fiind scris în limbajul de programare „C++”.
În final, sunt prezentate etapele pentru implementarea fizică a automatului,
împreună cu dimensiunile la care au fost prelucate componentele.
Principalul avantaj al automatului îl reprezintă costul redus al pieselor și
portabilitatea acestuia.

Cercetările vor continua în cadrul studiilor de masterat fiind îndreptate spre :

 Proiectarea și realizarea unei noi incinte folosind imprimarea 3D.


 Realizarea unui sistem de plată folosind tehnologia RFID pentru a facilita
achiziția produselor folosind cardul de credit.
 Implementarea unui „tracker” cu panouri fotovoltaice care asigură
funcționarea automatului pe timp de zi, totodată încarcănd un banc de
acumulatori pentru a putea funcționa pe timpul nopții, eliminând astfel
nevoia conectării auotamului la rețeaua de energie.

34
BIBLIOGRAFIE

[1] Dolga, V.,"Proiectarea Sistemelor Mecatronice", Editura Pollitehnica,


Timişoara, ISBN 978-973-625-573-1, 2007;
[2] Clarence W. de Silva, „Mechatronics : A Foundation Course”, Hoboken, CRC
Press, 2010
[3] http://webbut.unitbv.ro/Carti%20on-line/BSM/Dumitriu_BSM_2006.pdf,
02-07-2020
[4] https://cleste.ro/atelier/placa-de-dezvoltare-arduino/, 02-07-2020
[5] https://www.arduino.cc/en/guide/introduction, 02-07-2020
[6] https://en.wikipedia.org/wiki/Arduino, 02-07-2020
[7] http://www.mivarom.ro/catalog/product_info.php/alimentator-stabilizat-
12v-2000ma-p-5799, 02-07-2020
[8] https://cleste.ro/modul-ridicare-tensiune-lm2596.html, 03-07-2020
[9] https://cleste.ro/atelier/ridicatoare-si-coboratoare-de-tensiune/, 03-07-
2020
[10] https://www.optimusdigital.ro/ro/senzori-senzori-optici/4514-senzor-
infrarosu-de-obstacole.html, 03-07-2020
[11] https://learnabout-electronics.org/PSU/psu31.php. 03-07-2020
[12] https://www.instructables.com/id/TCRT5000-Infrared-Reflective-
Sensor-How-It-Works-a/. 03-07-2020
[13] https://www.arduino.cc/en/Main/Software. 03-07-2020
[14] https://www.arduino.cc/en/Guide/Windows. 03-07-2020
[15] https://cleste.ro/ecran-lcd-1602-iic-i2c.html?fbclid=IwAR0B6BW6psIur-
QoTa9f4W6pdg8GIxDR_AMO_O9PY2XCTAKNn60rUtQyWeM. 03-07-2020
[16] http://www.mivarom.ro/catalog/product_info.php/placa-test-tip-
breadboard-175x67mm-p-5796. 03-07-2020
[17] https://www.optimusdigital.ro/ro/prototipare-breadboard-uri/8-
breadboard-830-points.html. 03-07-2020
[18] https://www.banggood.com/Car-Auto-Momentary-OFF-ON-Push-Round-
Button-Horn-Switch-Multicolor-p-
927835.html?rmmds=myorder&ID=229&cur_warehouse=CN. 03-07-2020.
[19] https://www.kjell.com/globalassets/mediaassets/701903_90770_datash
eet_en.pdf?ref=762940D624. 03-07-2020.
[20] https://www.engineersgarage.com/article_page/servo-motor-basics-
and-working/. 04-07-2020.
[21] https://circuitdigest.com/article/servo-motor-basics. 04-07-2020.
[22] https://webstarsnet.com/ro/44-how-does-a-servo-motor-work.html. 04-
07-2020.
[23] https://store.arduino.cc/arduino-mega-2560-rev3. 04-07-2020.
[24] https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library. 09-
07-2020.

35
ANEXA 1

void setup() {
//codul scris rulează doar o singură data
}
void loop() {
//codul scris rulează tot timpul
}

Programul principal

#include <LiquidCrystal_I2C.h> // includes the LiquidCrystal Library

#include <Servo.h>

#include <Wire.h>

LiquidCrystal lcd(0x27); // Crează un obiect LCD la adresa 0x27 cu 16 charactere si 2 linii pentru afișare

Servo servo1, servo2, servo3, servo4; // motoarele DS04-NFC

#define detectormonezi 9

#define button1 13

#define button2 12

#define button3 11

#define button4 10

int buttonPressed;

void setup() {

lcd.begin(16, 2);// Inițializează ecranul LCD, specificând dimensiunea lui 16x2.

lcd.backlight(); //Pornim lumina de fundal

servo1.attach(4);

servo2.attach(6);

servo3.attach(5);

servo4.attach(7);

36
ANEXA 2

if (digitalRead(button2) == LOW) {

buttonPressed = 2;

break;

if (digitalRead(button3) == LOW) {

buttonPressed = 3;

break;

if (digitalRead(button4) == LOW) {

buttonPressed = 4;

break;

// Afișarea mesajului de preculare

lcd.clear();

lcd.setCursor(0, 0);

lcd.print("În prelucrare...");

//Tratatea cazurilor în funcție de butonul apăsat

switch (buttonPressed) {

case 1:

// Cazul 1 dacă se apasă butonul 1

servo1.writeMicroseconds(2000); // Comanda pentru a porni servomotorul

37
ANEXA 3

delay(950);

servo1.writeMicroseconds(1500); // Comanda pentru a opri servomotorul

delay(500); //

break;

case 2:

// Cazul 2 dacă se apasă butonul 2

servo2.writeMicroseconds(2000); // Comanda pentru a porni servomotorul

delay(950);

servo2.writeMicroseconds(1500); // Comanda pentru a opri servomotorul

delay(500);

break;

case 3:

// Cazul 3 dacă se apasă butonul 3

servo3.writeMicroseconds(2000); // rotateComanda pentru a porni servomotorul

delay(950);

servo3.writeMicroseconds(1500); // stopComanda pentru a opri servomotorul

delay(500);

break;

case 4:

// Cazul 4 dacă se apasă butonul 4

servo4.writeMicroseconds(2000); // Comanda pentru a porni servomotorul

delay(950);

38
ANEXA 4

servo4.writeMicroseconds(1500); // Comanda pentru a opri servomotorul

delay(500); //

break;

lcd.clear(); //

lcd.setCursor(0, 0);

lcd.print("Puteți ridica produsul!");

delay(2000);

[/code]

Codul pentru a găsi adresa hexazecimală a ecranului LCD


#include <Wire.h>

void setup()

Wire.begin();

Serial.begin(9600);

while (!Serial); // Leonardo: wait for serial monitor

Serial.println("\nI2C Scanner");

39
Anexa 5
void loop()

byte error, address;

int nDevices;

Serial.println("Scanning...");

nDevices = 0;

for(address = 1; address < 127; address++ )

// The i2c_scanner uses the return value of

// the Write.endTransmisstion to see if

// a device did acknowledge to the address.

Wire.beginTransmission(address);

error = Wire.endTransmission();

if (error == 0)

Serial.print("I2C device found at address 0x");

if (address<16)

Serial.print("0");

Serial.print(address,HEX);

Serial.println(" !");

nDevices++;

else if (error==4)

40
ANEXA 5

Serial.print("Unknown error at address 0x");

if (address<16)

Serial.print("0");

Serial.println(address,HEX);

if (nDevices == 0)

Serial.println("No I2C devices found\n");

else

Serial.println("done\n");

delay(5000); // wait 5 seconds for next scan

41

S-ar putea să vă placă și