Sistem automat de numărare a persoanelor dintr -o incintă, [605477]

Universitatea “Politehnica” din București
Facultatea de Electronică, Telecomunicații și Tehnologia Informației

Sistem automat de numărare a persoanelor dintr -o incintă,
prevăzut cu afișaj LCD
Proiect de diplomă
prezentat ca cerință parțială pentru obținerea titlului de
Inginer în domeniul Inginerie Electronică și Telecomunicații
programul de studii de licență Electronică Aplicată (ETC – ELA)

Conducător i științific i Absolvent
Ș.L.Dr.Ing. Rodica CONSTANTINESCU Ana-Maria Popescu
Drd.Ing. Alexandru BUTURUGĂ

2017

Cuprins

Listă figuri ………………………….. ………………………….. ………………………….. ………………………….. ………… 9
Listă acronime ………………………….. ………………………….. ………………………….. ………………………….. …. 11
Introducere ………………………….. ………………………….. ………………………….. ………………………….. ……… 13
Capitolul 1 – Noțiuni generale de microcon trolere ………………………….. ………………………….. …………. 15
1.1 Scurt istoric ………………………….. ………………………….. ………………………….. ………………………….. .. 15
1.2 Schema bloc a unui microcontroler. Considerații generale. Rolul blocurilor funcționale ……….. 15
1.3 Sisteme automate. Utilizarea sistemelor automate ………………………….. ………………………….. ….. 18
1.4 Legătura dintre sistemele autom ate și microcontroler ………………………….. ………………………….. . 19
1.5 Evoluția sistemelor automate. Exemple de aplicații ………………………….. ………………………….. …. 20
Capitolul 2 – Senzori ………………………….. ………………………….. ………………………….. ……………………… 21
2.1 Senzorii ultrasonici ………………………….. ………………………….. ………………………….. …………………. 21
2.2 Senzorii Sharp ………………………….. ………………………….. ………………………….. ………………………… 22
2.3 Barierele optice ………………………….. ………………………….. ………………………….. ………………………. 22
Capitolul 3 -Descrierea părții Hardware a proiectului ………………………….. ………………………….. …….. 25
3.1 Obiectivul proiectului ………………………….. ………………………….. ………………………….. ……………… 25
3.2 Schema bloc a proiectului și descrierea funcționalității ………………………….. …………………………. 25
3.3 Descrierea componentelor părții Hardware ………………………….. ………………………….. …………….. 26
3.3.1 Senzori de proximitate ………………………….. ………………………….. ………………………….. ……….. 26
3.3.1.1 Transmițătorul ………………………….. ………………………….. ………………………….. …………….. 26
3.3.1.1.1 555 Timer ………………………….. ………………………….. ………………………….. ………………… 27
3.3.1.1.2 Dioda Laser ………………………….. ………………………….. ………………………….. ……………… 29
3.3.1.2 Receptorii TSOP1738 ………………………….. ………………………….. ………………………….. …. 31
3.3.2 Familia Arduino ………………………….. ………………………….. ………………………….. ……………….. 33
3.3.2.1 ESP8266 ………………………….. ………………………….. ………………………….. ……………………. 33
3.3.2.2 WEMOS D1 ………………………….. ………………………….. ………………………….. ……………….. 34
3.3.3 Afișajul LCD 16×2 ………………………….. ………………………….. ………………………….. ……………. 36
3.3.3.1 PCF8574 ………………………….. ………………………….. ………………………….. ……………………. 36
3.4 Schema electrică a sistemului: ………………………….. ………………………….. ………………………….. ….. 38
3.5 Realizarea Hardware a proiectului ………………………….. ………………………….. …………………………. 39
3.5.1 Realizarea oscilatorului de 38kHz ………………………….. ………………………….. ……………………. 39
3.5.2 Realiza rea barierelor optice ………………………….. ………………………….. ………………………….. … 40
3.5.3 WeMos D1 ………………………….. ………………………….. ………………………….. ………………………. 41

3.5.4 Afișajul LCD ………………………….. ………………………….. ………………………….. ……………………. 42
3.5.5 Macheta finală ………………………….. ………………………….. ………………………….. ………………….. 42
Capitolul 4 – Descrierea părții software a proiectului ………………………….. ………………………….. …….. 43
4.1 Mediul de dezvoltare Arduino IDE ………………………….. ………………………….. ………………………… 43
4.2 Programarea și comunicația cu calculatorul ………………………….. ………………………….. ……………. 44
4.2.1 Protocolul I2C ………………………….. ………………………….. ………………………….. ………………….. 44
4.2.2 UART ………………………….. ………………………….. ………………………….. ………………………….. …. 45
4.2.3 Utilizarea tehnologiei Wi -fi………………………….. ………………………….. ………………………….. … 46
4.3 Algoritmul de f uncționare al sistemului automat de numărare ………………………….. ……………….. 47
4.4 Organigrama codului ………………………….. ………………………….. ………………………….. ……………….. 51
Concluzii ………………………….. ………………………….. ………………………….. ………………………….. ………… 53
Anexe ………………………….. ………………………….. ………………………….. ………………………….. …………….. 57

Listă figuri

Figura 1.1. Schema simplificată a unui microcontroler ……………………………………………………….16
Figura 1.2.Schema bloc a unui microcontroler …………………………………………………………………..16
Figura 2.1. Principiul de funcționare al unui senzor ……………………………………………………………21
Figura 2.2 Exemplu de funcționalitate al unei bariere optice ……………………………………………….22
Figura 2.3 Exemplu de funcționare a barierei optice …………………………………………………………..23
Figura 3.1 Generator de 38 de kHz …………………………………………………………………………………..27
Figura 3.2 Timer NE555N ……………………………………………………………………………………………….27
Figura 3.3 Tim er PinOut ………………………………………………………………………………………………….27
Figura 3.4 Top View specific unui Timer NE555N …………………………………………………………….28
Figura 3.5 Se cțiune printr -o diodă LED convențională ………………………………………………………..29
Figura 3.6 Schema unui semiconductor …………………………………………………………………………….30
Figura 3.7 Receptor T SOP1738 ………………………………………………………………………………………..31
Figura 3.8 Diagrama pinilor …………………………………………………………………………………………….32
Figura 3 .9 Diagrama bloc a receptorilor TSOP 17.. ……………………………………………………………..32
Figura 3.10 ESP8266 ……………………………………………………………………………………………………….33
Figura 3.11 Schema electrică a modulului ESP8266 ……………………………………………………………34
Figura 3.12 WEMOS D1 ………………………………………………………………………………………………….35
Figura 3.13 Afișaj LCD 16×2 ……………………………………………………………………………………………36
Figura 3.14 PCF8574 …………………………………………………………………………………………. ……………37
Figura 3.15 Vedere detaliată a dispozitivului PCF8574 ………………………………………………………..37
Figura 3.16 Schema electrică a sistemului …………………………………………………………………. ………38
Figura 3.17 Realizarea oscilatorului de 38 de kHz ………………………………………………………………39
Figur a 3.18 Dioda Laser utilizată ………………………………………………………………………….. …………39
Figura 3.19 Varianta finală ……………………………………………………………………………………………….39
Figura 3.20 Realizarea oscilatorului de 38 kHz …………………………………………………………………..40
Figura3.21 Realizarea barierelor optice (a) …………………………………………………………………………40
Figura 3.22 Realizarea barierelor optice (b) ………………………………………………………………………..41
Figura 3.23 Placa de dezvoltare WEMOS D1 ……………………………………………………………………..41
Figura 3.24 Afișajul LCD utilizat ……………. ………………………………………………………………………..42
Figura 3.25 Macheta finală ……………………………………………………………………………………………….42
Figura 4.1 Mediul de dezvoltare Arduino IDE …………………………………………………………………….43
Figura 4.2 Exemplu de linie I2C………………………………………………………………………………………..44
Figura 4.3 Modul de funcțion are al UART -ului…………………………………………………………………..45
Figura 4.4. Uttilizarea tehnologiei Wi -fi…………………………………………………………………………….46
Figura 4.5 Funcționarea teh nologiei Wi -fi………………………………………………………………………….46
Figura 4.6 Exemplu afișaj LCD ………………………………………………………………………………………..47

Figura 4.7 Captură di n contul ThingSpeak ………………………………………………………………………….49
Figura 4.8 MyChanellNumber …………………………………………………………………………………………..50
Figura 4.9 Exemp le de date ajunse la server ………………………………………………………………………..50
Figura 4.10 Organigrama codului (a) ………………………………………………………………………………….51
Figura 4.11 Organigrama codului (b) ………………………………………………………………………………….51
Figura 4.12 Explicarea funcționării organigramei întreruperilor …………………………………………….52

Listă acronime

ADC – Analog to Digital Converter ( Convertor Analog Digital)
AGC – Automatic Gain Control (Control Automat al Câștigului)
CAN – Controller Area Network (Controler de rețea)
CMOS – Complementary Metal -Oxide -Semiconductor
CPU – Central Processing Unit (Unitatea Centrală de Procesare)
DMA – Direct memory access (Acces direct la memorie )
EEPROM – Electronically Erasable Programmable Read Only Memory ( Memorie read only
programabilă și anulabilă)
GND -Ground (Împământare)
I/O–In/Out (intrare/i eșire)
I2C- Interface to Communicate (Interfață de Comunicare)
kHz- Kilo Hertzi
LASER – light amplification by stimulated emission of radiation (Amplificarea luminii prin emisia
stimulată de radiație )
LCD – Liquid Crystal Display (D isplay cu cristale lichide)
MC- Microcontroller (Microcontroler)
PROM – Programmable read -only memory (Memorie read only programabilă )
RAM – Random Access Memory (Memorie cu acces aleatoriu)
ROM – Read -Only Memory (Memorie numai pentru citire)
SCL – Serial Clock Line (Linia serială de ceas)
SDA – Serial Data L ine (Linia de date seriale )
TTL- Transistor -Transistor Logic (Tranzistor -tranzistor Logic )
UART – Universal Asynchronous Receiver and Transmitter (Magistrală Universală Asincronă
Receptor și Emițător )
USB – Universal Seria l Bus (Magistrală Universală Serială)
VCC – Power Supply Pins (Pin de alimentare)
Wifi- Wireless Fidelity (Fidelitate fără fir )

12

13
Introducere
Proiectul de diplomă reprezintă, pentru mine, o primă oportunitate de a dobândi cele învățate pe
parcursul celor patru ani de licență și, îndeosebi, de a -mi antrena cunoștințele, de a le evidenția și, în
același timp, de a -mi testa abilitatea de expunere a celor învățate. Totodată, realizarea practică a
acestui proiect este unul dintre test ele la care, ca viitor inginer î n Electronică, Telecomunicații și
Tehno logia Informației, trebuie să mă supun și să îl promovez pentru a dovedi calitatea cursurilor
predate pe parcursul anilor de studiu și interesul propriu acordat acestora .
Ajungând în ipostaza de a învăța cursuri precum Arhitectura Microprocesoarelor,
Microcontrolere, te împiedic i de întrebările referito are la utilizarea lor în practică. Poate că a cele
noțiuni generale prezentate la curs nu sunt suficiente pentru a -ți satisface curiozitățile și, în
asemenea situații, înclini spre a descoperi, bineînțeles cu ajutorul cadrelor universitare, numeroasele
și utilele lucruri, aplicații pe care le poți rea liza.
Așadar, proiectul de diplomă intitulat “Sistem automat de numărare a persoanelor dintr -o
incintă, prevăzut cu afișaj LCD” reflectă una dintre aceste curiozități. Gândindu -mă la necesitatea
sau cerința tot mai mare a automatizării pentru perioad a actuală și, cu siguranță, mult mai dezvoltată
în viitor, am considerat că a proiecta și a implementa un sistem automat care să fie capabil de a
cntoriza numarul de persoane din anumite spații comerciale, săli de fitness, denumite în cadrul
proiectului “i ncinte”, reprezintă o soluție în ceea ce privește m onitorizarea și controlul unor a stfel
de incinte. De multe ori, apare necesitatea re alizării unor statistici care să reflecte gradul de
aglomerație în anumite centre comerciale sa u necesitatea monitorizări i numă rului de persoane,
poate pentru că spațiul respectiv nu are o suprafață suficientă pentru a satisface cerințele clienților.
În astfel de situații, consider ca implementarea unui sistem automat care să realizeze acest lucru este
soluția.
Ideea de a implementa un sistem automat derivă și din proiectele anterioare realizate pe
parcursul anilor universitari, mult mai puțin complexe, însă cu o utilitate diversificată în practică.
Spre exemplu, în cadrului materiei Proiect 2, implementarea unui siste m automat de control al unui
semafor m -a ajutat să îmi dezvolt cunoștințele despre microcontrolere, despre utilizarea lor în
realizarea aplicațiilor. De asemenea, pe parcursul anului IV, la disciplina Proiect 3, am avut
posibilitatea de a studia modul de i mplementare a l unui sistem automat de comandă a ștergătoarelor
unui autovehicul, foarte utilizat în viața de zi cu zi.
Deși funcționalitatea aplicației este realizată într -o variantă minimizată, sunt convinsă că este
deja utilizată de anumite firme al căror scop este de a monitoriza aglomerarațiile din centrele mari,
de a controla fluxul de persoane din incinte. Faptul că acest sistem va transmite datele unui server
de tip cloud, bazat bineînțe les pe conectarea la o rețea Wi -fi, reprezintă o modalitate de a ușura
activitatea de monitorizare și de elaborare a diverselor statistici. Ca în orice situație, pot exista și
perioade de suprasolicitare, iar a cere dispozitivului să transmită datele indiferent de situație, de
volum, poate cauza suprapuneri ale da telor și înregistrarea unor date incomplete sau incorecte. În
astfel de cazuri, valoarea afișată pe display va fi transmisă după un interval prestabilit, cu scopul de
a limita traficul de date și a respecta constrângerile serve r-ului.

14

15

Capitolul 1 – Noțiuni generale de microcontrolere

1.1 Scurt istoric
Apariția microprocesoarelor a constat într -o schimbare drastică în ceea ce privește evoluția
electronicii implementată cablat, luând în calcul avantajele celei implementată programat. M. E.
Hoff a fost cel care a marcat apariția suprinzătoare a microprocesorului, conceput ca un procesor
simplificat pentru a putea fi implementat pe un singur chip în siliciu . Conceptul de microprocesor s –
a dezvoltat și spre alte implementări specifice, precum: microcontroller, microcalculator, procesoare
de semnale, etc. Însă, chiar dacă vorbim despre avantajele acestor circuite, despre utilitatea lor în
ceea ce privește electronica programată, este de la sine înțeles că este necesar un proces de
proiectare, bazat în egală măsură atât pe partea hardware, cât și pe partea software, pentru ca
acestea să devină parte a unui sistem.
Așadar, la modul general, un controler („controller” – termen de origine anglo -saxonă, cu un
domeniu vast de cuprindere ) reprezintă un sistem folosit pentru a comanda și a prelua stări ale unui
proces sau aspecte ale mediului înconjurător, fără ca intervenția umană să fie necesară. Primele
controlere au fost realizate în tehnologii pur analogice, folosind componente electronice discrete și
componente electromecanice, însă cele care fac apel la tehnica numerică modernă au fost realizate
pe baza logicii cablate și a unei electronici analogice uneori complexe, motiv pentru care aveau
dezavantajul unor dimensiuni mari și consum energetic considerabil. Din dorința de a miniaturiza
aceste dimensiuni, s -a ajuns la ideea de a integra toate componentele unui controler pe un singur
chip, rezultând astfel calculatorul pe un singur chip, specializat pentru imp lementarea operațiilor de
control, denumit „microcontroler”.
Marea majoritate a aplicațiilor în care este utilizat microcontroler -ul fac parte din categoria
sistemelor numite „embedded systems” , nume ce sugerează faptul că existența unui sistem de
calcul încorporat este aproape transparenta pentru utilizatori. Pornind de la ideea de control,
microcontrolerele sunt tot mai des utilizate în robotică și în mecatronică. De asemenea, avansând
spre dorința de automatizare al procesului de fabricație și de producție, microcontrolerele sunt tot
mai des utilizate și de CNC. Printre varietatea de domenii în care utilizarea unui microcontroler este
esențială, se pot enumera: în electronica de consum (telefonie mobilă, jocuri electronice, GPS -uri,
televizoare, et c), în tot ceea ce înseamnă aparatură electrocasnică (frigidere, aspiratoare, mașini de
spălat), în industria automobilelor (climatizare, sisteme de alarmă), în industria aerospațială, în
medicină, ș.a.m.d. [1]

1.2 Schema bloc a unui microcontroler. Considerații generale. Rolul blocurilor funcționale
Pornind de la ideile expuse mai sus, putem imagina faptul că un microcontroler este un circuit
realizat pe un singur chip, care, la nivel standard, conține:
 Unitatea centrală, incluzând un oscilato r intern pentru ceasul de sistem;
 Generatorul de tact – la care trebuie adăugat din exterior un cristal de cuarț sau un circuit RC
pentru aplicații mai avansate;
 Memoria volatilă (RAM);
 Memoria nevolatilă (ROM, PROM, EPROM, EEPROM);
 Dispozitive I/O seriale și paralele, după necesitate;

16
 Controler de întreruperi, controller DMA, timere, convertoare A/D, convertoare D/A,
ș.a.m.d;
 Periferice.
În figura de mai jos, figura 1.1, se poate remarca o structură simplificată a unui microcontroler,
evidențiindu -se fluxul informațional în relație cu mediul extern.

Figura 1.1. Schema simplificată a unui microcontroler [1]
Ca observații, se pot menționa câteva aspecte referitoare la blocurile denumite pe schema „Intrări”
și „Ieșiri”:
 În general, intrările consituie s emnalele provenite de la traductoare sau comutatoare, intrări
ce pot fi fie digitale, însemnând faptul că semnalele sunt discrete, informația culeasă fiind
informația ce se eșantionează la momentul citirii liniei respective, fie analogice, caz în care
existența unor circuite capabile de a prelucra informații ce pot fi exprimate prin funcții
continue în timp, este necesară.
 La fel ca intrările, ieșirile pot fi la rândul lor analogice, reprezentând în esență ieșirile
convertoarelor numeric -analogice sau digit ale.
Ceea ce am evidențiat în figura 1.1. este însă o variantă simplificată a conceptului de
microcontroler. Schema detaliată a aces tuia este evidențiată în figura 1.2.

17

Figura 1.2.Schema bloc a unui microcontroler [1]
Arhitectura unui MC cuprinde cinci elemente fundamentale: unitatea de intrare, unitatea de
memorie, unitatea aritmetică și logică, unitatea de control și unitatea de ieșire. Analizând rolurile
fiecărui element, putem afirma faptul că unitatea aritmetică și logică împreună cu unitatea centra lă
formează unitatea centrală de prelucrare (UCP). De remarcat este modul cum sunt vehiculate
semnalele de adresă, cele de date și cele de control. În cazul microcontroler -ului, un rol fundamental
îl are magistrala internă (bus -ul din figura 1.2), mărimea sa reprezentând una dintre principalele
caracteristici ale unui MC. Modul de funcționare este următorul: prin magistrala de adrese, UCP
selectează o locație de memorie sau un dispozitiv I/O, iar pe magistrala de date se face schimbul de
informație între UC P și memorie sau între UCP și dispozitivele I/O.

Unitatea centrală de prelucrare
Așa cum este menționat mai sus, unitatea centrală de prelucrare este compusă din unitatea
aritmerică și logică și din unitatea de control. Unitatea aritmetică și logică este secțiunea
responsabilă cu efectuarea operațiilor aritmetice și logice asupra operanzilor care îi sunt furnizați.
Foarte important este timpul de execuție al fiecărei operații pentru a verifica sau a aprecia dacă
timpul necesar procesării complete satisface cerințele de timp ale aplicației. În ceea ce privește
decodificarea codului operației conținut de codul unei instrucțiuni, rolul îi revine unității de control,
analizând semnalele pentru a comanda celelalte blocuri funcționale, în vederea finalzării execu ției
instrucțiunii.
Memoria:
Când aducem în dis cuție memoria, trebuie să lămurim rolul fiecăreia și, în mod special, tipul
acesteia. Așa cum se cunoaște, memoriile sunt de două tipuri: volatile și nevolatile. Gândindu -ne la
tipurile de informații pe care MC le utilizează, constatăm că avem nevoie de ambele tipuri: în
cadrul instrucțiunilor ce controlează funcționalitatea MC -ului, trebuie luat în considerare și faptul că
vom mai avea nevoie de acele informații, așadar, ele trebuie să fie stocate într -o mem orie de tip
nevolatil, pentru ca, indiferent de starea sursei de alimentare, ele să poată fi accesibile și unei
ulterioare utilizări. Pe de altă parte, în cadrul rezultatelor, al variabilelor, unde viteza de scriere și

18
de citire este mai importantă pentr u a satisface cerințele exterioare, se poate utiliza o memorie de
tip volatil. Ca memorie volatilă, memoria RAM este cea utilizată, însă, pe langă avantajul pe care îl
aduce privind accesibilitatea locațiilor în orice ordine, precum și scrierea și citirea de unitatea
centrală, dezavantajul costului de implementare și al spațiului ocupat pe chip, face ca MC -ul sa
conțină puțin RAM. În cazul memoriilor nevolatile, poate fi reamintită memoria ROM, ale cărei
avantaje include prețul și simplitatea.
Dispozitive le I/O:
MC-ul se evidențiază prin modul de a interacționa cu exteriorul, cu mediul, în procesul pe care îl
conduce. Astfel că, dispozitivele I/O reprezintă un aspect de maxim interes, luând în considerare
funcția lor în raport cu MC -ul: reduce sarcinile ac estuia privind aspectele de comandă și de conrol
în respectiva funcție prin implementarea unor funcții speciale. Însă, doar o parte din aceste resurse,
din aceste dispozitive, contribuie la funcțiile de control propriu -zise; cealaltă parte asigura funcții le
necesare aplicațiilor rulate în timp real, precum: timere, sisteme de întreruperi. De asemenea, o
parte din aceste dispozitive se găsesc în configurația fiecarui MC sau sunt întâlnite des, însă o parte
se întâlnesc doar în MC -urile consturite pentru opt imizarea aplicațiilor, cu grad mare de
particularitate. [1]
1.3 Sisteme automate. Utilizarea sistemelor automate

Noțiunea de sistem este foarte des întâlnită, în special în domeniul științei și al tehnicii, în
domeniul rațiunii și al acțiunii umane. Însă, de cele mai multe ori, această noțiune vine în asociație
atribute de specificare: sisteme automate, sisteme informaționale, sisteme de semnalizare, sisteme
filozofice, sisteme sociale, sisteme de transmisie, ș.a.m.d.
Practic, concepul de siste m a aparut ca rezultat al evidențierii unor trăsături și comportamente
comune pentru o serie de procese și fenomene din diferite domenii, fapt ce a permis tratarea
acestora, din punct de vedere structural -funcțional, într -un mod unitar, sistemic.[2].
Un as tfel de sistem este alcătuit din anumite elemente, elemente care, la rândul lor, sunt considerate
sisteme sau, mai concret spus, subsisteme. Modul de a interacționa al elementelor conduce la
comportamente noi ale sistemului propriu -zis, la trăsături noi, c omplet diferite de cele ce
caracterizează fiecare astfel de componenta în parte.
Sistemele automate (automat= mașină care efectuează o anumită operație fără intervenția omului),
reprezintă sisteme tehnice de comanda, supraveghere și de control al anumitor procese sau instalații,
fără intervenția directă a omului. Un astfel de sistem automat este alcătuit din două părți principale:
procesul automatizat și dispozitivul de automatizare.

Vor fi subliniate, în continuare, câteva trăsături fundamentale ale sist emelor:
 Caracterul structural -unitar, ce reflectă proprietatea unui sistem de a fi reprezentat ca o
conexiune de subsisteme a căror acțiune este orientată spre un anumit scop/sens;
 Caracterul cauzal -dinamic, ce refectă proprietatea unui sistem de a evolua în timp sub
acțiunea factorilor interni și externi, cu respectarea principiului cauzalității (conform caruia,
orice efect este rezultatul unei cauze, efectul este întârziat față de cauză și, în plus, două
cauze identice generează în aceleași condiții efect e identice);

19
 Caracterul informațional, care reflectă proprietatea unui sistem de a primi, prelucra, memora
și transmite informațiile. [2]

1.4 Legătura dintre sistemele automate și microcontroler

Când se dorește a se vorbi despre înțelesul și beneficiile cuvântului „automatizare”,
microcontrolerele dețin un rol aparte, date fiind capabilitățile acestora. Într -un mod automat, MC –
urile au grijă de interpretarea corectă a datelor, de intercalarea lor acolo unde este nevoie, astfel
încat activitate a programatorului sa fie redusă la o simplă scriere (datele ce trebuie a fi transmise),
respectiv citire a informațiilor (datele primite).
De ce microcontrolere în realizarea sistemelor automate? Pentru că:
 În esență, un microcontroler este un computer plasat pe un singur chip, compus din
memorie, procesor și interfețe intrare -ieșire;
 Microcontrolerele sunt programate pentru a executa o anumită sarcină, ceea ce înseamnă că,
dacă va fi necesar să schimbe ceva sau să se îmbunătățească funcționalitatea, va trebui
instalat un nou program pe chip;
 Toate funcțiile sun plasate pe acel singur chip, într -o scară mai mică și mai compactă;
 Este programat pentru o anumită sarcină, pentru a -și îmbunătăți funcționalitatea, trebuie
instalat un nou software;
 Consumă mult mai puțină putere, întrucât toate caracteristicile fizice sunt mai mici și mai
puțin solicitante de energie, comparativ cu un PC, server sau laptop.
 Dezvoltatorii de microcontrolere se concentrează pe o cerere redusă de energie, astfel încât
aplicațiile m obile care utilizează bateriile, și nu numai, să aibă un timp de funcționalitate
mult mai mare;
 Dețin intrări și ieșiri cu un singur scop; microcontrolerele au așa numitele periferice, care
stabilesc conexiunile între un microcontroler și alte microcontrol ere sau computere (câteva
exemple sunt UART, USB, CAN), ce ajută la înțelegerea proceselor din lumea reală, fizică.

Ingineria modernă de automatizare a zilelor este un domeniu relativ nou de studiu care a câștigat o
atenție deosebită în ultima perioadă. Acesta poate fi în mare măsură definit sau clasificat ca aplicație
practică a teoriei de control. Controlul ingineriei are un rol esențial într -o gamă largă de sisteme de
control, de la mașini simple de spălat rufe de uz casnic la avioane de înaltă perform anță. Se caută să
înțeleagă sistemele fizice, folosind modelarea matematică, în termeni de intrări, ieșiri și diverse
componente cu comportamente diferite, să utilizeze instrumente de proiectare a sistemelor de
control pentru a dezvolta controlorii pentru acele sisteme și a implementa controlorii în sistemele
fizice care folosesc tehnologia disponibilă.
Un sistem poate fi mecanic, electric, fluid, chimic, financiar și chiar biologic, iar modelarea
matematică, analiza și designul controlerului utilizează te oria controlului într -unul sau mai multe
domenii de timp, frecvență și complexe, în funcție de natura problemei de proiectat.

20
1.5 Evoluția sistemelor automate. Exemple de aplicații

În ceea ce priveste evoluția sistemelor automate, se poate spune că, la momentul actual, ideea de
automatizare, de a ușura munca omenească, de a spori timpul de execuție al unei anumite acțiuni /
task, de a micșora energia necesară, de a obține performanțe mult mai stabile într -un timp record, a
căpătat proporții uriașe și a devenit tot mai adoptată în tot ceea se înseamnă aplicație.
Astfel că, regăsim utilizarea de sisteme automate în majoritatea domeniilor din prezent. Câteva
exemple de aplicații sunt prezentate în cele ce urmează:

a. Sistem automat de irigații:
Sistemele automate de irigații sunt total automatizate, fiind dotate chiar cu senzori de umiditate.
Astfel că, acestia vor detecta prezența ploii și, în asemenea situații, nu vor declanșa pornirea apei.
Pe lângă piesele auxiliare de care dispun, cele mai importante elemente ale unui astfel de sistem
sunt: programatorul (cel care memorează programul de udare și transmite semnal pentru pornire
prin elementele corespunzătoare), senzorul despre care spuneam mai sus care, în cazul în care
detectează ex istența precipitațiilor peste cantitatea necesară suprafeței de interes, transmite semnal
la programator ca să nu mai pornească, țevi și legăturile acestora pentru sistemul în care apa circulă.

b.Sistem automat de stingere a incendiilor:
Sistemele automat e de surprimare a focului pot acoperi o gamă foarte largă de obiective, care
necesită protecție anti -incendiu. Partea principală a oricărui sistem automat de stingere a incendiilor
este tubul termosensibil special care acționează ca un detector linear de c ăldură și foc. Tubul este
presurizat permanent și este complet flexibil la instalare. În momentul influenței căldurii și a
flăcării, tubul termosensibil se sparge în locul cel mai fierbinte, pierzând presiunea din circuit. Prin
depresurizare, valva cilindr ului este activată pentru operarea sistemului, descărcând agentul de
stingere în locul în care tubul s -a spart. Nu sunt necesare surse de energie sau de curent electric
externe pentru detecție sau acționare. [3]

c.Sistem automat /inteligent de acces într -o clădire :
Pe baza unui astfel de sistem funcționează foarte multe clădiri, fie ca sunt ele clădiri de birouri, fie
că sunt efectiv clădiri locuibile.

d.Sistem automat de detecție a furtului pe baza pornirii alarmei
Sistemele automate de detecție a alarmelor este unul dintre cele mai utilizate dintre sistemele
automate, date fiind beneficiile aduse de acestea. Fie ca este vorba despre împiedicarea unui furt, fie
că este vorba despre siguranța propriului bun, de exempl u despre siguranța propriei mașini,
sistemele automate de pornire a alarmelor, pe baza anumitor senzori, sunt pe zi ce trece soluția cea
mai des adoptată în domeniul industrial.

21

Capitolul 2 – Senzori

În capitolul 2, vor fi prezentate principalele categorii de senzori utili în implementarea unor
astfel de sisteme automate de numărare, de contorizare a distanței, urmând ca, spre final, atenția să
fie fixată asupra barierelor optice, cele utilizate de altfel în implementarea si stemului automat de
numărare.
În linii mari, senzorul poate fi considerat un dispozitiv cu proprietăți specifice, capabil de a
furniza o reacție cantitativă sau calitativă, ca răspuns pentru proprietățile chimice sau fizice ale
mediului în care oper ează.
2.1 Senzorii ultrasonici
Ca și principiu de funcționare, senzorii ultrasonici funcționează în felul următor: emit impulsuri de
sunet scurte și de o frecvență considerabilă, la intervale regulate, prestabilite, iar acestea se propagă
în aer cu o vite ză egală cu viteza sunetului.

Figura 2.1. Principiul de funcționare al unui senzor ultrasonic [4]

În situația în care un obiect este detectat sau, mai precis, în situația în care acestea lovesc un obiect,
sunt reflectate înapoi ca semnale -ecou la senzor, care de altfel și calculează distanța până la țintă pe
baza intervalului de timp dintre emiterea se mnalului și primirea ecoului . Pe măsură ce distanța până
la obiectul în cauză este determinată prin intermediul măsurării acestui interval de timp și nu prin
intermediul intensității sunetului.
Senzorii ultrasonici sunt excelenți la suprimarea inter fețelor de fundal . Acest lucru înseamnă
că, în mod practic, toate materialele care reflectă sunetul pot fi detectate, indiferent de culoarea lor.
Până și materialele transparente sau foliile subțiri nu reprezintă o problemă pentru un astfel de
senzor. Senzorii ultraso -nici microsonici sunt potriviți pentru distanțe de la 30 mm la 10 m și,
măsurând a cel timp de pro -pagare , aceștia pot stabili o măsurătoare cu precizie ridicată. Senzorii
ultrasonici pot vedea până și prin aer afectat de praf . De remarcat este faptul că nici depunerile
subțiri de pe membrana senzorului nu afectează rolul său.
De ce am omis utilizarea acestui senzor în cazul proiectului de față?
Acest lucru s -a datorat dorinței ca acest sistem să funcționeze cât mai bine. Astfel că, luând c a
exemplu situația în care ușa este deschisă, una dintre persoane ține ușa deschisă, iar o alta așteaptă
să părăsească incinta, un astfel de senzor va depista cele două persoane și nimic mai mult. Altfel

22
spus, am luat în calcul posibilitatea aparției eror ilor de contorizare. Cu ajutorul barierelor optice,
aceste erori sunt minimale, întrucât, pentru a contoriza o persoană, este nevoie ca aceasta să
„treacă” prin acele bariere pentru a considera realizată o ieșire, respectiv o intrare, în incintă .

2.2 Senzorii Sharp

Familia Sharp este renumită pentru producerea lungimii de undă în infraroșu (IR), utilirând senzori
de distanță, cu ieșire analogică de tensiune. Astfel că, senzorii sharp au led -uri IR echipate cu lentile
emit fascicule de lumină îngustă, care, după reflectarea de la obiect, va fi direcționat prin cea de -a
doua lentilă pe un detector sensibil la poziție ( PSD-position sensitive detector ). Conductivitatea
acestui detector este influențată de poziția unde cade fascicolul, este convertită în te nsiune și,
ulterior, dacă această tensiune este convertită în digital utilizând un convertor analogic -digital,
distanța poate fi calculată.

Ieșirea acestor senzori este invers proporțională cu distanța, ceea ce înseamnă că, atunci când
distanța creșste, i eșirea scade treptat. Însă, acest grafic al relației dintre distanță și ieșire este
furnizat, de obicei, pe fișa tehnică a senzorului.
Distanța maximă măsurată este limitată de două aspecte: fie cantitatea de lumină reflectată este în
descreștere, fie dete ctorul este incapabil de a înregistra mici modificări ale locației razei reflectate.

De ce am omis utilizarea acestui senzor în cazul proiectului de față?
Acest lucru s -a datorat dorinței ca acest sistem să funcționeze cât mai bine. La fel ca în cazul
senzorilor ultrasonici, am luat în calcul posibilitatea aparției erorilor de contorizare. Cu ajutorul
barierelor optice, aceste erori sunt minimale, întrucât, pentru a contoriza o persoană, este nevoie ca
aceasta să „treacă” prin acele bariere pentru a con sidera realizată o ieșire, respectiv o intrare, în
incintă.

2.3 Barierele optice

Dacă luăm în considerare semnificația acestor bariere optice, gândul nostru ar fi îndreptat spre
ceva ce „detectează” printr -o modalitate optică un anumit fenomen, ceea ce este și adevărat într -o
oarecare măsură în ceea ce privește sistemul automat supus d iscuției.
Ideea de contorizare, de numărare a unui anumit număr de persoane, implică de multe ori și
depășirea anumitor probleme sau, mai corect spus, găsirea unor metode prin care erorile de
contorizare să fie minimale. Există numeroase situații în care chiar și număratul devine o problemă,
una dintre ele fiind situația în care o anumită persoană rămâne în dreptul senzorului, „așteptând pe
cineva”. Într -o astfel de situație, sistemul nu va știi cum să contorizeze corect acest fenomen: fie ca
intrare , fie ca ieșire, iar datele transmise către server vor tinde sa fie incorecte.
Astfel că, am găsit utilă utilizarea barierelor optice pentru a preveni apariția unor astfel de
probleme. Ca și utilitate, barierele optice oferă un control ridicat în cee a ce privește direcția de
trecere, pentru a elimina riscul unei utilizări neautorizate.
Luând în calcul multitudinea de beneficii aduse de utilizarea acestor bariere optice, de amintit
este și faptul că au un cost redus de insalare, de configurare și , in fond, de utilizare, astfel că sunt
foarte utilizate în cadrul sistemelor automate de siguranță, de numărare, etc.

23

Figura 2.2 Exemplu de funcționalitate a unei bariere optice [5]
În figura 2.2 am expus, în linii mari, componența unei bariere optice. Se poate observa faptul că
aceste bariere optice constau dintr -un emițător (Emitter) și un receptor (Receiver). Însă, această
componență nu este tocmai cea utilizată în toate aplicațiile; o altă variantă este existența unui grup
emițător – receptor pe part ea sa activă și, de ce nu, de oglinzi reflectorizante pe partea sa pasivă.

Funcționare:
Emițătorul emite un fascicul fin laser, care e receptat de receptor. Se evaluează întreruperea
fasciculului laser. Prin micul diametru de radiație este posibilă recunoașterea obiectelor foarte mici
respectiv poziționarea corectă a acestora . [6]

Lumina pulsată a diodei emițătoare este focalizată doar de o lentilă și este direcționată pe un
reflector prin filtrul de polarizare (principiul oglinzilor triple). O parte a luminii reflectate ajunge la
receptor printr -un filtru suplimentar de polarizare. Filtrele sunt selectate și orientate astfel încât
numai lumina reflectată de reflector ajunge la receptor. Acest aranjament evită semnale false pentru
obiecte străluc itoare și lucioase din cauza reflecției directe. Un obiect care întrerupe calea optică
între expeditor și receptor (prin intermediul reflectorului) determină comutarea ieșirii.

Utilizarea barierelor optice se regăsește în:
 Monitorizarea poziției, numărar ea, detectarea obiectului și a locației;
 Monitorizarea ușilor și a pozițiilor în lifturi;
 Controlarea și dirijarea intrărilor și ușilor din garaj, precum și a rulourilor,ș.a.m.d .
În figura 2.3 este prezentată o aplicație tipică pentru bariera optică. Transmițătorul emite un
semnal modulat de lumină către detector. Dacă nu există niciun obstacol între emițător și detector,
lumina transmițătorului modulat poate fi recepționată de către detector . Dacă un obstacol blochează
traiectoria luminii, nu se poate recepționa niciun semnal de transmisie. Schimbarea între semnalul

24
recepționat și semnalul nu poate fi utilizat pentru a controla o mașină, o ușă automată sau, de
asemenea, pentru a număra obiect e. [7]

Figura 2.3 Exemplu de funcționare a barierei optice [7]

În ceea ce privește sistemul automat de numărare, barierele optice au un rol fundamental: practic cu
ajutorul lor se ia decizia de a incrementa contorul sau de a decrementa. Bazate pe receptorii TSOP,
despre care amintim în capitolul următor , barierele optice vor detecta sensul de deplasare al
persoanelor. În cazul în care se va detecta cel de -al doilea receptor TSOP, urmat de primul, se va
considera că o persoană a pătruns în incintă; pe de altă parte, dacă ordinea va fi inversată, se va
considera că persoana în cauză a părăsit incinta.

25
Capitolul 3 -Descrierea părții Hardware a proiectului

3.1 Obiectivul proiectului
Proiectul de față propune o soluție pentru problema supraaglomerării spațiilor mici, monitorizând
traficul persoanelor care pătrund în incintă sau părăsesc respectiva incintă. Bazându -se pe bariere
optice succesive pentru a detecta sensul de deplasare al persoanelor, sistemul va incrementa,
respect iv va decrementa valoarea contorului, a cărui valoare va fi afișată în timp real cu ajutorul
unui display. În funcție de detecția senzorului, sistemul va fi capabil de a lua anumite decizii pentru
contorizare. Totodată, valoarea afișată cu ajutorul displa y-ului va fi transmisă unui server de cloud,
iar în cazul evenimentelor mult prea frecvente, va fi transmisă dupa un interval prestabilit, cu scopul
de a limita traficul. Acest dispozitiv se poate conecta la rețeaua locală cu ajutorul unei conexiuni
Wifi i ntegrate. Astfel că, realizarea practică a proiectului va implica următoarele: studiul
caracteristicilor microcontroler -ului utilizat, precum și modul de funcționare, studiul posibilităților
de implementare a unui sistem de numărare prevăzut cu display, re alizarea unei machete pentru
demonstrarea funcționalității aplicației minimizată.
În acest capitol, ne rezumăm la descrierea părții Hardware a proiectului.
Partea Hardware a proiectului va conține în linii mari transmițătorul, receptorii de prezență,
respectiv de contorizare, placa WEMOS D1, bazată pe ESP8266 și, nu în ultimul rând, afișajul
LCD.

3.2 Schema bloc a proiectului și descrierea funcționalității

………………………………. .

…………………………………

Perete Perete

IN
Oscilator de
38 de kHz Emițător 2
Emițător 1
ESP8266

LCD Receptor TSOP 1

Receptor TSOP 2

26

Descri erea funcționalității:
Așa cum se poate vedea în schema bloc, proiectul se bazează pe cei doi senzori, respectiv în
cazul nostru barierele optice. Presupunând că o persoană va patrunde în incintă (aceeași manifestare
și în cazul unei ieșiri din incint ă), barierele optice vor fi capabile de a detecta sensul de deplasare al
persoanei în cauză și, în momentul transmiterii informației, sistemul va fi capabil de incrementare
(respectiv decrementare) a contorului, valoarea acestuia fiind afișată în timp real pe un LCD.
În funcție de detecția senzorilor , sistemul va fi capabil de a lua anumite decizii pentru
contorizare; valoarea afiș ată pe display va fi transmisă unui server de tip cloud, iar in cazul
evenimentelor mult prea frecvente, va fi transmisă du pă un interval prestabilit, cu scopul de a limita
traficul de date și a respecta constrângerile serverului . Acest dispozitiv se poate conecta la reț eaua
locală, folosind o conexiune wireless de tip Wi -Fi.
Pe scurt, ordinea Receptor2+Emițător2 —Receptor1+Emi țător1 semnalează o intrare, iar
Receptor1+Emițător1 —Receptor2+Emițător2, semnalează o ieșire din incintă.

3.3 Descrierea componentelor părții Hardware
3.3.1 Senzori de proximitate
Un senzor de proximitate este un senzor capabil să detecteze prezența obiectelor din apropiere fără
contact fizic.Un senzor de proximitate emite adesea un câmp electromagnetic sau un fascicul de
radiații electromagnetice (de exemplu, în infraroșu) și caută schimbări în câmp sau semnal de
revenire. Obiectul care este detectat este deseori denumit țintă a senzorului de proximitate.
Scopurile diferite ale senzorilor de proximitate necesită senzori diferiți. De exemplu, un senzor
capacitiv sau fotoelectric ar putea fi adecvat pentru o țintă din plastic; Un senzor de proximitate
inductiv necesită întotdeauna o țintă metalică.
Distanța maximă pe care acest detector o poate detecta este definită ca "interval nominal". Anumiți
senzori au ajustări ale intervalului nominal sau mijloace pentru a raporta o distanță de detecție
gradată.
Senzorii de proximitate pot avea o fiabilitate ridicată și o durată lungă de funcționare datorită
absenței părților mecanice și a lipsei de contact fizic între senzor și obiectul detectat.

3.3.1.1 Transmițătorul
În cazul proiectului de față, am folos it drept transmițător un generator reglabil, reglat la o valoare
de 38 de kHz. Așa cum se poate vedea în figura următoare, acest generator este realizat cu ajutorul
unei diode laser, al unui modul Timer 555, precum si al unor rezistențe, respectiv condensa toare.

27

Figura 3.1 Generator de 38 de kHz [8]
În linii mari, acest dispozitiv poate genera impulsuri pe o gamă foarte largă de frecvențe, prin
ajustarea valorilor unui resistor și a unui condensator. În cazul în care se utilizează un resistor
variabil sau un pontențiometru, se poate ajusta cu ușurință frecvența la o valoare cât mai precisă. În
schema de mai jos, D1 reprezintă LED -ul în infraroșu, iar C1, R2, respective R3 determină
frecvența impulsurilor. R3 reprezintă un resistor sau un potențiometru v ariabil, care poate fi ajustat
pentru a obține o frecvență exactă.

3.3.1.1 .1 555 Timer
xx555 este un dispozitiv extrem de stabil pentru generarea precisă a întârzierilor de timp sau a
oscilațiilor. Terminale suplimentare sunt pregătite, după caz, pentru declanșare sau resetare. În
modul de întârziere al funcționării, timpul este controlat cu precizie de un rezistor extern și de un
condensator. Pentru o funcționare stabilă ca oscilator, frecvența liberă de funcționare și ciclul de
funcționare sunt controlate cu exactitate cu ajutorul a două rezistențe externe și al unui condensator.
În cele c e urmează, este prezentată , pe scurt, funcționarea unui astfel de dispozitiv. De asemenea,
în figurile următoare este exemplificată o structura a unui timer 555, atât din perspectiva design -ului
său, cât și din cea a exemplicării celor 8 pini.

Figura 3.2 Timer NE555N [9] Figura 3.3 Timer PinOut [9]
Pragul și nivelurile de declanșare sunt în mod normal două treimi și, respectiv, o treime din VCC.
Când intrarea trigger -ului scade sub nivelul de trigger, flip -flop-ul este setat și ieșirea are o valoare

28
ridicată. Dacă intrarea trigger.ului este superioară nivelului de trigger și intrarea pragului este peste
nivelul pragului, flip flop -ul este resetat și ieșirea este scăzută. Intrarea reset (RESET) poate
suprascrie toate celelalte intrări și poate fi utilizată pentru inițierea unui nou ciclu de sincronizare.
Când RESET se micșorează, flip -flop-ul este resetat și ieșirea este scăzută. Când ieșirea este
scăzută, există o cale de impedanță redusă între descărcare (DISCH) și masă. Circ uitul de ieșire este
capabil să furnizeze curent până la 200 mA. Funcționarea este justificată pentru consumabile de la 5
V la 15 V. Cu o sursă de 5 V, nivelurile de ieșire sunt compatibile cu intrările TTL.
În cele ce urmează, vor fi prezentate detaliat r olurile și îndeosebi funcțiile fiecăruia dintre acești
pini. Așadar, în figura 3.4 se va prezenta o vedere „de top” a unui Timer NE555N, cel utilizat și în
proiectul de față, urmând ca, în tabelul 3.1 să fie expuse funcțiile propriu zise.

Figura 3.4 Top View specific unui Timer NE555N [9]
PIN I/O Descriere
Nume D, P, PS, PW, JG FK
Nr.
CONT 5 12 I/O Controlează pragurile
de comparator, Ieșiri
2/3 Vcc, permite
conectarea
condensatorului
bypass
DISCH 7 17 O Deschide colectorul
de ieșire pen tru
descărcarea
condesantorului de
temporizare
GND 1 2 – Ground
NC 1, 3, 4, 6, 8, 9, 11, 13,
14, 16, 18, 19 – Fără conexiune la
internet
OUT 3 7 O Timer de curent
ridicat pentru
semnalul de ieșire
RESET 4 10 I Active low reset input
forces output and
discharge low.
THRES 6 15 I Sfârșit de
cronometrare intrare.
THRES >CONT
seteză ieșirea scăzută
și descărcarea scăzută
TRIG 2 5 I Începerea intrării de
sincronizare. TRIG <½
CONT stabilește
ieșirea ridicată și
debitul deschis
Vcc 8 20 – Tensiunea de intrare,
de la 4,5 V la 16 V

Tabelul 3.1 Funcțiile pinilor Timer NE555N [9]

29

De ce este acest acest dispozitiv atât de important în realizarea generatorului ?
555 timer este una dintre cele mai importante dispozitive și utilizate pe scară largă. Design -ul a
rămas neschimbat de peste 40 de ani, ceea ce face ca acesta să fie unul dintre cele mai utilizate si
mai autentice dispozitive. A fost folosit în orice, de la jucării la nave spațiale.
Este în esență un circuit de sincronizare monolitică care produce întârzieri sau oscilații precise și
foarte stabile. Este, de asemenea, foarte fiabil și ieftin din punctul de vedere al prețului . Pe lângă
multe alte aplicații, un timer 555 poat e fi folosit și în convertoarele DC-DC, sonde logice digitale,
generatoare de forme de undă, frecvențe analogice și tahometre, măsurători de temperatură și
dispozitive de control, regulatoare de tensiune ,ș.a.m.d . Date fiind toate acestea, importanța sa în
cazul proiectului de față este justificată.

3.3.1. 1.2 Dioda Laser
În cele ce urmează, vor fi prezentate diodele laser, îndeosebi evoluția acestora. Vom începe prin a
defini, înainte de toate, acest termen sau mai bine zis proveniența sa.
Pentru început, acronimul LASER provine de la Light Amplification by Stimulated Emission of
Radiation și reprezintă un laser semiconductor pompat electric, în care mediul laser activ este
format dintr -o joncțiune p -n a unei diode semiconductoare, simi lară cu cea găsită într -o diodă
emițătoare de lumină.

La rândul său, o astfel de diodă emițătoare de lumină sau, mai corect spus, o diodă
electroluminiscentă, reprezintă o componentă ce face realizabilă transformarea electricității în
lumină, de unde îi p rovine și numele. „Construcția unei diode LED este un pseudo -sistem ( figura
3.5), ce satisface cerințele unui dispozitiv microelectronic, dar care are cerințe funcționale,
materiale și interfețe care fac ca modurile și mecanismele sal e de defectare să fie unice.”[10 ]

Figura 3.5 Secțiune printr -o diodă LED convențională [10]

„Principiul de funcționare al dispozitivelor LED se bazează pe polarizarea unui semiconductor prin
aplicarea unei tensiuni care provoacă emisiunea de fotoni. Câțiva electronii și câteva găuri se
recombină în regiunea activă (joncțiunea p -n), unde electronii se mișcă dintr -o bandă de energie în

30
alta. Procesul acesta este cunoscut sub numele de recombinare radiantă. Când are loc recombinarea
radiantă, energia este eliberată sub form ă de fotoni, cu o lungime de undă depinzând de schimbul
din banda de energie. Se produce o radiație cvasimonocromatică a cărei lungime de undă depinde
de semiconductorul folosit. Nu există semiconductor care să emită el însuși lumină albă; există,
totuși, trei metode diferite pentru a produce indirect lumină albă cu ajutorul unei LED. Ținând
seama de imperativele de randament energetic și de limitele tehnologice, cea mai răspândită metodă
de producere a luminii albe utilizează astăzi transformarea unei păr ți a luminii emise de o diodă
albastră, cu ajut orul unui luminofor galben. ”[10 ]
O diodă laser este o diodă PIN electrică. Regiunea activă a diodei laser este în regiunea intrinsecă
(i), iar purtătoarele (electroni și găuri) sunt pompate în acea regiune di n regiunile n și respectiv p,
din figura 3.6.

Figura 3.6 Schema unui semiconductor [11]

În timp ce cercetarea laserului cu diode inițiale a fost efectuată pe diode simple P -N, toate laserele
moderne utilizează implementarea dublei heterostructuri, în ca re purtătorii și fotonii sunt limitați
pentru a maximiza șansele lor de recombinare și generare de lumină.
Spre deosebire de o diodă obișnuită, obiectivul pentru o diodă laser este de a recombina toți
purtătorii din regiunea I și de a produce lumină . Astfel, diodele laser sunt fabricate folosind
semiconductori direcți de bandgap. Structura epitaxială a diodei laser este crescută utilizând una
dintre tehnicile de creștere a cristalului, de obicei pornind de la un substrat dopat cu N și crescând
stratul activ dopat I, urmat de placarea cu dop dopant și un strat de contact. Stratul activ constă cel
mai adesea din puțuri cuantice, care oferă un prag mai scăzut și o eficiență mai mare ..

Avantajele diodelor laser:
În comparație cu majoritatea tipurilor de la ser, diodele cu laser sunt mai puțin costisitoare și
compacte, făcându -le ideale pentru dispozitivele electronice mici . Diodele cu laser folose sc mult
mai puțină putere comparativ cu alte dispozitive cu același scop . În timp ce laserele de gaz și de
stare solidă necesită o sursă de alimentare în kilo -volți, diodele cu laser funcționează în mod
obișnuit pe bateriile cu voltaj mic. Unul dintre cele mai importante avantaje ale actor dispozitive
este siguranța . Multe tip uri de lasere prezintă un risc semnificativ de siguranță din cauza puterii pe
care o distribuie. Diodele cu laser sunt considerate unul dintre cele mai sigure tipuri de astfel de
echipameente . Pentru a obține o putere mai mică, diodele cu laser prezintă un minim de pericol de
șoc electric .
Dezavantajul diodelor laser :
Grinzile cu diode laser sunt extrem de divergente, adică "în formă de pană", în loc de drept și
paralel, și au distanțe coerente mai scurte, ceea ce face ca performanțele optice să fie mai scă zute.
Ele nu sunt la fel de potrivite ca laserele de heliu -neon pentru o holografie de înaltă calitate. În plus,
semiconductorii, în dispozitivele electronice, sunt predispuși la descărcări electrice statice, ceea ce
înseamnă că laserele diode din aceste d ispozitive pot fi deteriorate de o sursă de alimentare instabilă
și fluctuantă. De asemenea, predispuse la îmbătrânire treptată, diodele cu laser , cu timpul, utilizează
cantități tot mai mari de energie, cu eficiență scăzută.

31

3.3.1.2 Receptorii TSOP1738
Așa cum am descris la începutul capitolului, barierele optice prezintă emițători și receptori. Drept
urmare, în cele ce urmează vor fi prezentați receptorii TSOP1738, cei utilizați în cadrul proiectului
de față.
În figura 3.7 , este prezentat un astfel de receptor.

Figura 3.7 Receptor TSOP1738 [12]

În linii mari, TSOP 1738 este membru al seriei de receptori IR de la distanță. Una dintre
particularitățile acestei familii, este aceea că acest modul de senzor IR este alcăutuit dintr -o diodă
PIN și un preamplificator, care sunt incorporate într -un singur „pachet”. De remarcat este faptul că
exista mai multe tipuri de astfel de receptori TSOP; ceea ce face ca aceste tipuri să difere este chiar
frecvența purtătoare. Cum am ales utlizarea unui generator reglat la 38 kHz, receptorii utilizați for
fi caracterizați de frecvența purtătoare de 38 kHz. În tabelul 2.x sunt furnizate, cu scop doar
informativ, și celelalte tipuri de receprori, aparținând marii famiii TSOP17…

Tabelul 3.2 Tipuri de receptori TSOP pentru diferite frecvențe purtătoare [12]

Marele avantaj al acestei familii este că s emnalul de ieșire demodulat poate fi direct decodat de un
microprocesor. TSOP17 este seria standard de receptor IR de la distanță, ca re suportă toate codurile
majore de transmisie.
Se poate vedea încă din figura 3.7 existența a trei pini, urmând ca în figura 3.8 să fie detaliată
această diagramă a pinilor.

32

Figura 3.8 Diagrama pinilor [12]
Modul de funcționare este următorul:
Iesirea receptorului este activă scăzut și oferă + 5V în starea OFF. Atunci când undele IR,
provenite de la o sursă, cu o frecvență centrală de 38 kHz, pătrunde prin ea, ieșirea sa scade.
Luminile provenite de la lumina soarelui, lămpile fluorescente, ș.a.m.d. pot cauza o perturbare a
acestuia și pot duce la o ieșire nedorită chiar și atunci când sursa nu transmite semnale IR. În acest
scop, pentru a suprima astfel de perturbări, sunt utilizate un filtru de bandă, un stadiu de integrator
și un control automat al câștigului. Modulul TSOP are un circuit de control încorporat pentru
amplificarea impulsurilor codate de la emițătorul IR. Un semnal este generat când fotodioda PIN
primește semnalele. Acest semnal de intrare este recepționat printr -un control automat al câștigului
(AGC). Pentru o serie de intrări, ieșirea este alimentată înapoi la AGC pentru a regla câștigul la un
nivel adecvat. Semnalul de la AGC este trecut la un filtru de bandă pentru a filtra frecvențele
nedorite. După aceasta, semnalul se duce la un demodulator și această ieșire demodulată conduce un
tranzistor npn. Ieșirea colectorului a tranzistorului este obținută la pinul 3 al modulului TSOP.
Membrii seriei TSOP17xx sunt sensibili la diferite frecvențe centrale ale spectrului IR. De exemplu,
TSOP1 738 este sensibil la 38 kHz, în timp ce frecvența centrală TSOP1740 la 40 kHz.
În cele ce urmează este expusă și diagrama bloc a unui astfel de receptor, conținând blocurile
discutate în modul de funcționare, urmată de câteva caracteristici esențiale.

Figura 3.9 Diagrama bloc a receptorilor TSOP 17.. [12]
Caracteristici:
 Detector foto și preamplificator într -un singur pachet ;
 Filtru intern pentru frecvența PCM ;
 Îmbunătățirea ecranării împotriva perturbării câmpului electric ;
 Compatibilitate TTL și CMOS ;

33
 Ieșire activă scăzută ;
 Consum redus de putere ;
 Imunitate ridicată împotriva luminii ambientale .

3.3.2 Familia Arduino
Când discutăm despre marea familie Arduino, ne referim la multitudinea de plăci realizate,
fiecare caracterizată de propria capacitate. Unul dintre marile avantaje ale acestei familii, avantaj ce
o face atât de utilizată în zilele noastre, este acela că o parte a hardware -ului este „open source”,
ceea ce înseamnă că alte companii sau chiar ingineri pot modifica și produce deriv ate ale plăcilor
Arduino, care pot oferi mult mai multe funcționalități. Avem mai jos câteva dintre opțiunile marii
familii Arduino:
 Arduino Uno;
 LilyPad Arduino;
 Arduino Mega;
 Arduino Leonardo, ș.a.m.d
3.3.2 .1 ESP8266

Întrucât aveam nevoie de un „ajutor” în ceea ce privește transmiterea datelor în timp real către un
server de tip cloud, am ales să folosesc beneficiile aduse de modulul ESP8266, mai exact de
WEMOS D1.
ESP8266 oferă o soluție completă și autonomă de rețea WiFi; Acesta poate fi folosit pentru a găzdui
aplicația sau pentru a descărca funcțiile de rețea WiFi de la un alt procesor de aplicații. Când
aplicația ESP8266 „găzduiește ” aplicația, aceasta se încarcă direct de la un flash extern. Alternativ,
servind ca un adaptor WiFi, accesul la internet wireless poate fi adăugat la orice design bazat pe
microcontrolere cu conectivitate simplă (interfață SPI / SDIO sau I2C / UART). ESP8266 se
numără printre cele mai integrate cipuri WiFi din industrie; Acesta integre ază întrerupătoarele de
antenă , amplificatorul de putere, amplificatorul de zgomot redus, filtrele, modulele de gestionare a
alimentării, necesită circuite externe minime, iar întreaga soluție, inclusiv modulul frontal, este
proiectată să ocu pe zona mi nimă d e PCB. [17]
În figura 3.10 se regăsește design -ul unui astfel de modul, urmat de exemple de aplicații în care este
utilizat.

Figur a 3.10 ESP8266 [13]

34

Domeniile majore ale aplicațiilor ESP8266 la IoT includ:
 Electrocasnice;
 Automatizarea locuinței;
 Smart Plug și lumini;
 Control industrial wireless;
 Monitoare pentru copii;
 Rețele de senzori;
 Dispozitive Wi -Fi compatibile cu localizarea, ș.a.m.d .

Schema electrică a acestui modul este furnizată în figura următoare .

Figura 3.11 Schema electrică a modulului ESP8266 [13]

3.3.2 .2 WEMOS D1

În linii mari, am preferat să prezint pentru început funcționalitatea modulului ESP8266, întrucat
placa utilizată în cadrul proiectului prezentat este WeMos D1, o placă mini Wi -fi, bazată în fond pe
ESP8266.
În figura 3.12 , este prezentată placa utilizată, urmată de semnificația pinilor ș i de funcționalitățile
acestora, iar în anexa 2 este prezentată schema electrică a plăcii de dezvoltare.

35

Figura 3.12 WEMOS D1 [14]

Caracteristici:
 11 pinii de intrare / ieșire digitală, toți pinii au întrerupere / pwm / I2C / cu un singur fir (cu
excepția D0);
 O intrare analogică (intrare maximă de 3.2 V);
 O conexiune Micro USB;
 Power Jack 9 -24V power input
 Compatibil cu Arduino;
 Compatibil cu NodeMCU . [57]
Pin Funcție ESP-8266 pin
TX TXD TXD
RX RXD RXD
A0 Intrare analogica, max 3.3V A0
D0 I/O GPIO16
D1 I/O SCL GPIO5
D2 I/O SDA GPIO4
D3 I/O,10k Pull -up GPIO0
D4 I/O,10k Pull -up Bultin_LED GPIO2
D5 I/O, SCK GPIO14
D6 I/O, MISO GPIO12
D7 I/O, MOSI GPIO13
D8 I/O, Pull-down, SS GPIO15
G Ground GND
5V 5V –
3V3 3.3V 3.3V
RST Reset RST

Tabelul 3.3 Funcțiile pinilor WEMOS D1 [17]

36
3.3.3 Afișajul LCD 16×2
Termenul de cristal lichid esti folo sit pentru a descrie o substanță într -o stare între lichid și solid, dar
care prezintă proprietăți din ambele stă ri. Moleculele d e cristale lichide au tendința de a se aranja
singure până când toate se îndreaptă în aceeași direcție . Acest aranjament de molecule permite
mediului să curgă ca un lichid. In funcție de temperatură ș i natura specifică a substanț ei, cristalele
lichide pot exista î n una sau mai multe fa ze distincte. Cristalele lichide î ntr-o fază nematică, în care
nu există nicio ordonare spațială a moleculel or, de exemplu, sunt utilizate î n tehnologia LCD
(Liquid Cryst al Display ).[16]
Ecranul LCD -ului este un modul de afișare electronică și are o gamă largă de aplicaț ii. Un afisa j
LCD 16×2 este un modul de bază și este foarte frecvent utilizat în diverse dispositive ș i circuite .
Aceste module sunt preferate în defavoar ea celor cu ș apte segmente sau modulelor multi -segment,
motivele fii nd: LCD -urile sunt economice, uș or de p rogramat, nu au nicio limitare în a afișa
caractere speciale și chiar și personalizate, etc. acest LCD fiecare caracter este afișat î ntr-o matric e
de 5×7 pixeli. LCD -ul are două registre numite Comandă ș i Date.
Registrul de comandă stochează instrucț iunile comenzilor date LCD -ului. O comandă este o
instrucțiune dată LCD -ului pentru a face o sarcină predefinită cum ar fi inițializarea, ș tergerea
ecranu lui, stabilirea poziției cursorului, controlul afiș ajului etc. Registrul de date stochează datele ce
urmează să fie afiș ate pe ecranul LCD -ului. Datele sunt valorile ASCII ale ca racterelor ce urmează
să fie afiș ate pe ecran. [16]
Pentru a afișa numărul de persoane care se regăsesc la un moment dat în respectiva incintă sau pur
și simplu pentru a afișa conorizarea, am ales utilizarea unui LCD 16×2, ce se folosește de
comunicarea I2C pentru legătura cu modulul care actualizează periodic aceste informații.

În linii mari, LCD -ul permite afișarea a 16 caractere pe două rânduri, dispune așa cum am
menționat de un backpack I2C, ce va permite conectarea la plăcuța utilizată prin doar două fire și,
nu în ultimul rând, deține un backlight de culoare albastră.

Figura 3.13 Afișaj LCD 16×2 [18]
3.3.3.1 PCF8574
Dispozit ivul PCF8574 oferă extensie I/ O de la distanță pentru majoritatea familiilor de
microcontrolere prin intermed iul interfeței I2C (ceas serial -SCL, date seriale -SDA) .
Dispozitivul dispune de un port I / O cvasi -bidirecțional pe 8 biți (P0 -P7), care include ieșiri blocate
cu capacitate ridicată de acționare pentru LED -uri direcționate direct. Fiecare intrare / ieșire cvasi –
bidirecțională poate fi utilizat ca intrare sau ieșire fără utilizarea unui semnal de control al direcției
de date. La pornire, I / Os sunt ridicate. În acest mod, este activă doar o sursă de curent la VCC.
Acest extensor de intrare / ieșire pe 8 biți (I / O) pentru magistrala bidirecțională pe două linii (I2C)
este proiectat pentru fun cționarea VCC între 2,5 V și 6 V.

37
Caracteristici :
 Consum redus în așteptare -curent de 10 μ A
 I2C la Expander de port paralel
 Ieșire întreruptă de scurgere deschisă
 Compatibil cu majoritatea microcontrolerelor
 Ieșiri strânse cu unitate de curent înalt
 Capacitatea de a conduce direct LED -uri
 Performanța de blocare depășește 100 mA [19]

Figura 3.14 PCF8574 [19]
Aplicații ale PCF8574 -ului:
 Servere
 Routere (echipamente de comutare a telecomunicațiilor)
 Calculatoare personale
 Electronică personală
 Automatizare industrială

Figura 3.15 Vedere detaliată a dispozitivului [19]

38

3.4 Schema electrică a sistemului:

Figura 3 .16 Schema electrică a sistemului

39
3.5 Realizarea Hardware a proiectului
În subcapitolele anterioare, au fost descrise caracteristicile componentelor utilizate. În cele ce
urmează, vor fi expuși pașii necesari pentru realizarea proiectului:

3.5.1 Realizarea o scilatorului de 38kHz

Figura 3.17 Realizarea oscilatorului de 38 de kHz

Adăugarea diodei laser: Varianta finală a ocilatorului:

Figura 3.18 Dioda Laser utilizată Figura 3.19 Varianta finală
Potențiometru utilizat la
reglarea frecvenței de
38kHz Timer NE555N

40

Figura 3.20 Realizarea oscilatorului de 38 kHz
Rolul său:
Având în vedere că am ales utilizarea receptorilor TSOP1738, ce lucrează pe o frecvență egală cu
38 de kHz, acest oscilat, generează frecvența purtătoare necesară receptorilor TSOP, motiv pentru
care l -am reglat la această frecvență.

3.5.2 Realizarea barierelor optice

Figura 3.21 Realizarea barierelor optice (a)

41

Figura 3.22 Realizarea barierelor optice (b)
Se pot remarca în figura anterioară existența receptorilor TSOP1738. Pentru depanare rapidă, am
ales utilizarea a două led -uri ce indică starea senzorilor: în momentul în care o persoană va trece
prin fața barierei, led -ul se va aprinde.

3.5.3 WeMos D1

Figura 3.23 Placa de dezvoltare WEMOS D1
Am ales utilizarea acestei plăci în mod special pentru conectivitate: WeMos D1 reprezintă o placă
mini Wi -fi, bazată în fond pe ESP8266. Având conexiune Wi -fi, aceasta se poate conecta la rețeaua
locală de internet, trimițând datele către server. Un alt av antaj este faptul că această placă permite

42
alimentarea la 9 -24V, spre deosebire de plăcile celelalte, ceea ce înseamnă că poate fi alimentată și
de la un acumulator de UPS.
3.5.4 Afișajul LCD

Figura 3.24 Afișajul LCD utilizat
Rolul afișajului LCD este prezentat în subcapitolul 3.3.4. Pe scurt, pe LCD va fi afișată valoarea
curentă a numărului de persoane aflate în incintă.

3.5.5 Macheta finală

Figura 3.25 Macheta finală

43
Capitolul 4 – Descrierea părții software a proiectului

4.1 Mediul de dezvoltare Arduino IDE

Mediul de dezvolotare Arduino IDE este o platformă de prototipuri open -source ușor de utilizat
atât hardware cât și software. Software -ul Arduino este ușor de utilizat pentru începători, dar
suficient de flexibil pentru utilizatorii avansați, rulând pe mai multe sisteme de operare (Windows,
Linux). Limbajul poate fi extins prin intermediul bibliotecii C++, iar pentru înțelegere detaliilor
tehnice se poate face saltul de la Arduino la limbajul de programare AVR C, pe care se bazează.
Softul conține un editor de text pentru scrierea de cod, o zonă de mesaj, o consolă de text, o
bară de instrumente cu butoane pentru funcții comune și o serie de meniuri , evidențiate în figura
4.1. Acesta s e conectează la harware -ul Arduino pentru a încărca programe și pentru a comunica cu
el. [20 ]

Un program Arduino are două funcții principale ce trebuie să existe în fiecare program:

Void setup()
{
// cod inițializare – rulează o singură dată
}
Void loop()
{
// bucla pincipală – rulează cât timp plăcuța este alimentată
}

Figura 4.1 Mediul de dezvoltare Arduino IDE

Bară de meniuri
Bară de instrumente
Editor de text
pentru scrierea
de cod
Zonă de mesaj
Consolă de text

44
4.2 Programarea și comunicația cu calculatorul

4.2.1 Protocolul I2C
I2C este un protocol multipunct multimaster inventat de către Phillips.
Este un protocol care suportă viteze de transfer și distanțe de comunicație destul de mici, fiind
utilizat în special pentru comunicația între dispozitive aflate pe aceeași placă de circuite imprimate
(telefoane mobile, plăci de bază, sisteme embedded). Avantajele sale principale sunt ușurința de
implementare, și posibilitatea de a lega mai multe echip amante pe aceeași linie. Acest tip de
comunicație este cel mai des întâlnit la dispozitivele de tipul: memorii EEPROM, ceasuri de timp
real (RTC) , ș.a.m.d..
Din punct de vedere electric protocolul I2C se poate implementa pe 2 fire numite SDA (pentru
date) și SCL (pentru ceas). Ambele linii sunt conectate la sursă de alimentare prin rezistențe de pull –
up deoarece porturile dispozitivelor conectate la o linie I2C sunt de tip open -collector. Valorile
rezistențelor nu reprezintă un factor critic, ele pot avea orice valoare de la 1,8 kΩ până la 47 kΩ sau
chiar mai mult. Rezistențe mai mici sunt recomandate pentru viteze de comunicație mai mari, dar în
aplicații low-power trebuie utilizate rezistențe cât mai mari. Pentru a scrie “1” logic pe o linie un
dispo zitiv o lasă liberă și pentru a scrie “0” logic trage linia la masă. De obicei pe o linie se
regăsește un singur master, deși protocolul permite existența mai multora. Doar masterul poate să
inițieze comunicația și el este cel care controlează linia de cea s. Un exemplu de linie de comunicație
I2C este prezentat în F igura 4.2 .[15]

Figura 4.2 Exemplu de linie I2C[21]

Dacă e necesar un dispozitiv slave poate să oprească masterul din comunicație ținând linia SCL
jos (în “0” logic). Această facilitate se numește clock -stretching (“întinderea” timpului), și este
necesară atunci când un dispozitiv slave are nevoie de timp ca să poată interpreta/procesa ce i -a
trimis masterul sau pur și simplu să -i pună anumite date la dispoziție acestuia. Nu to ate
dispozitivele slave suportă această facilitate, dar orice master ar trebui să o poată utiliza.
Comunicația pe o linie I2C începe cu o secvență de start și se termină cu o secvență de stop, ambele
transmise de către master. În momentul în care masterul transmite secvența start toate circuitele
slave încep să asculte. Un octet se transmite în nouă cicli de ceas

„Caracteristicile protocolului I2C:
 Așa cum este specificat și mai sus, magistrala I2C deține numai două linii de magistrală:o
linie serială de date, respectiv o linie serială de clock;
 Fiecare dispozitiv conectat la magistralăeste adresabil software în orice moemnt printr -o
adresă unică și relații simple de tip master/slave;

45
 Oricare dintre circuitele master poate funcționa atât ca transmițător ma ster, cât și ca receptor
master;
 Reprezintă o adevărată magistrală multi -master, care include detecția ciocnirii și procedura
de arbitrare, în scopul prevenirii falsificării sau pierderii datelor în cazul în care două sau
mai multe circuite de tip master i nițiază simultan un transfer de date;
 Transferul de date serial, bidirecțional, se poate face cu mai multe viteze, alese în funcție de
modul de lucru stabilit de proiectant.”[ 21]

4.2.2 UART

UART (Universal Asynchronous Receiver / Transmitter) este microc hipul de programare care
controlează interfața unui computer cu dispozitivele sale seriale atașate. În mod specific, acesta
furnizează computerului interfața RS -232C Data Terminal Equipment (DTE), astfel încât să poată
"vorbi" și să facă schimb de date cu modemur i și alte dispozitive seriale.[21 ]

Cum funcționează?
UART -ul care va transmite date primește datele de la o magistrală de date. Bus -ul de date este
folosit pentru a trimite date către UART de către un alt dispozitiv, cum ar fi CPU, memorie sau
microcontroler. Datele sunt transferate din magistrala de date către UART -ul de transmisie în formă
paralelă. După ce UART -ul de transmisie primește datele paralele din magistrala de date, acesta
adaugă un bit de pornire, un bit de paritate și un bit stop, creând pachetul de date. Apoi, pachetul de
date se emite în serie, bit -by-bit la pinul Tx. UART -ul de recepție citește pachetul de date biți pe bit
la pinul său Rx. UART -ul de recepție convertește apoi datele în formă paralelă și elimină bitul de
pornire, bitul de paritate și biții de oprire. În cele din urmă, UART -ul de recepție transferă pachetul
de date în paralel cu magistrala de date de la capătul receptorului:

Figura 4.3 Modul de funcționare al UART -ului[21]

46
4.2.3 Utilizarea tehnolog iei Wi-fi

Wi-Fi este numele unei tehnologii populare de rețea wireless care utilizează unde radio pentru a
furniza internet wireless de mare viteză și conexiuni de rețea. Altfel spus, tehnologia wi -fi
reprezintă o tehnologie pentru rețelele locale fără fir c u dispozitive bazate pe standardele IEEE
802.11 .

Printre dispozitivele care utilizează tehnologia Wi -Fi putem include:computerele personale,
consolele pentru jocuri video, smartphone -urile, camerele digitale, tabletele, televizoarele avansate,
imprimante le moderne, ș.a.m.d.. Dispozitivele compatibile Wi -Fi se pot conecta la Internet printr -o
rețea WLAN și un punct de acces fără fir. Un astfel de punct de acces (sau hotspot) are o gamă de
aproximativ 20 de metri în interior și o gamă mai mare în aer liber. [22]

Figura 4.4 . Uttilizarea tehnologiei Wi -fi

Tehnologia Wi -Fi poate fi utilizată pentru a oferi acces la Internet pentru dispozitive care se află în
raza unei rețele fără fir conectată la Internet. Acoperirea unuia sau mai multor puncte de acces
interconectate (hotspot -uri) se poate extinde dintr -o zonă la fel de mică ca și câteva camere până la
un număr de kilometri pătrați. Acoperirea în zona mai mare poate necesita un grup de puncte de
acces cu acoperire suprapusă. De exemplu, tehnologia publică Wi -Fi în aer liber a fost utilizată cu
succes în rețe lele de rețele fără fir din Londra, Marea Britanie.

Un semnal Wi -Fi ocupă cinci canale în banda de 2,4 GHz. Orice număr de două canale care diferă
de cinci sau mai multe, cum ar fi 2 și 7, nu se suprapun.

Figura 4. 5 Funcționarea tehnologiei Wi -fi [22]

47

În cadrul proiectului de față, am utilizat tehnologia Wi -fi pentru conectarea la rețeaua locală a
dispozitivului, în vederea transmiterii datelor în timp real sau la un interval prestabilit, către un
server de tip cloud, în cazul nostru fiind ThingSpeak.

ThinkSpeak reprezintă un serviciu de platformă de analiză IoT care ne permite agregarea,
vizualizarea și analiza fluxurilor de date live în cloud. ThingSpeak oferă vizualizări instantanee ale
datelor trimise de dispozitive proprii către ThingS peak. Cu abilitatea de a executa codul sursă în
ThingSpeak, se pot efectua analize online și prelucrarea datelor în timp ce apar. Unele dintre
capabilitățile cheie ale ThingSpeak includ:
 Configurarea cu ușurință a dispozitivelor pentru a transmite date către ThingSpeak, utilizând
protocoale populare IoT;
 Vizualizarea datelor în timp real;
 Rularea propriilor analize IoT în mod automat pe baza programelor sau a evenimentelor;
ș.a.m.d.
4.3 Algoritmul de funcționare al sistemului automat de numărare

În aces t subcapitol vor fi detaliate părțile realizării software a sistemului automat de numărare. În
linii mari, așa cum am specificat în cadrul introducerii, sistemul automat va fi capabil de a afișa
datele de contorizare pe un afișaj LCD, prezentat în capitolu l anterior și, fiind bazat pe placa de
dezvoltare WEMOS D1 și conectat la rețeaua wi -fi locală, datele vor fi transmise către un server de
tip cloud gratuit, https://thingspeak.com .
Vom începe să detaliem modul în care datele de contorizare vor fi afișate pe ecranul LCD.
Fiind vorba despre caractere „personalizate”, am creat un număr maxim de opt caractere speciale în
memoria alocată microcontroler -ului LCD -ului, cu ajutorul funcției lcd.createChar , caractere care
vor f i folosite în diferite combinații pentru afișarrea cifrelor pe două rânduri și trei coloane:
 LT;
 UB;
 RT;
 LL;
 LB;
 LR;
 UMB ;
 LMB.
Vom analiza figura 4.6 :

Figura 4.6 Exemplu afișaj LCD

48
Toate caracterele sunt alcătuite din opt topologii de segmente, iar ordinea lor are ca referință
caracterul 0.
Spre exemplu, pentru caracterul 9 vom proceda în felul următor: se observă că pozițile 0, 2, 4 și 5
corespund cu cele ale caracterului 0, iar pentru cele două poziții rămase vom folosi unul dintre cele
opt caracte re personalizate, după caz:
case 9:
lcd.write(0);
lcd.write(6);
lcd.write(2);
lcd.setCursor(x, 1);
lcd.write(' ');
lcd.write(4);
lcd.write(5);
break;
unde caracterul 6 este: „ lcd.createChar(6,UMB)”, iar la rândul său UM B este:
byte UMB[8] ={
B11111,
B11111,
B11111,
B00000,
B00000,
B00000,
B11111,
B11111
};

În subcapitolele acestui capitol am adus în discuție magistrala I2C și PFC8574. Cu ajutorul
magistralei se realizează practic comunicația între placa de dezvoltare și afișajul LCD, iar PFC8574
dispune de un port I / O cvasi -bidirecțional pe 8 biți, ceea ce înseamnă că informațiile de pe fluxul
serial al magistralei vor fi transpuse pe cale paralelă.

Depășind ideea de afișare a numărului curent de pers oane din incintă, ajungem la comunicația cu
server -ul sau, mai corect spus, modul în care datele sunt transmise către server. Conectarea la
rețeaua locală are aici rolul esențial. Așadar, în structura codului am „definit” detaliile conexiunii
wi-fi:

const char* ssid = "Anap";
const char* password = "anapopescu";

Principala funcție ce reflectă transmiterea datelor către server este send_data_server(void) :
int send_data_server(void){
if (last_up > millis()) { digitalWrite(LED_busy, HIGH); Serial.println("Cloud wait"); return 0;}
digitalWrite(LED_com, LOW); // Turn the LED on (inversed logic)

49
Serial.print("Value: ");
Serial.print(contor);
ThingSpeak.writeField(myChannelNumber, 1, contor, m yWriteAPIKey);
last_up=millis() + delay_up;
upload_flag=0;

Serial.println(" send to Cloud");
digitalWrite(LED_busy, LOW);
digitalWrite(LED_com, HIGH); // Turn the LED off by making the voltage HIGH
return 1;
}
Aici intervine și constrânger ea server -ului, descoperită pe parcurs. Acesta nu va accepta date care
vin la un interval mai mic de 15 secunde. Practic, dacă două persoane vor pătrunde în clădire într -un
interval de timp egal cu 5 secunde, server -ul va primi informația că două persoane au intrat, însă nu
va primi informația după fiecare persoană în parte.
Foarte important este însă și faptul că programul este realizat în așa fel încât, la momentul
alimentării se va face un update la ultima valoare transmisă către server. Astfel că, luând ca
exemplu practic pătrunderea în incintă a 200 de persoane urmată de o pană de curent, la momentul
realimentării, valoarea afișată pe display va fi 200.
Codul sursă al programului este prezentat în anexa 1

Câțiva parametrii esențiali din structura codului:
 ApiKey: cheia de autentificare furnizată la crearea contului pe server -ul thingspeak

Figura 4.7 Captură din contul ThingSpeak

50

 MyChanellNumber: Numărul canalului alocat

Figura 4. 8 MyChanellNumber

 Upload_Flag: folosit pentru semnalizarea nec esității transmiterii datelor;
 Last_Update: timpul la care server -ul acceptă date sau timpul la care pot trimite următorul
set de date către server;
 Delay_Up: constrângerea server -ului pentru contul gratuit de transmisie a unui pachet de
date(15 secunde în cazul de față).

În figura 4.9 am atașat câteva dintre rezultatele experimentale obținute pe parcursul realizării
proiectului:

Figura 4. 9 Exemple de date ajunse la server

51
4.4 Organigrama codului

Y Y

N N

Figura 4. 10 Organigrama codului (a )

Organigrama întreruperilor pe semnal extern descrescător:

Figura 4. 11 Organigrama codului (b) START
T
Inițializare
Conectare la AP
Update la ultima valoare transmisă
la server
Up_Flag s –
a schimbat Au trecut
cele
15sec? Încarcă date
Upload=0
Afișare pe LCD
START
Read2 este
activ? Incrementează
contor
Flag_Upload=1
STOP START

STOP
Read1 este
activ?
Decrementează
contor
Flag_Upload=1

52
Explicarea funcționării organigramei întreruperilor:

Figura 4. 12 Explicarea funcționării organigramei întreruperilor
Presupunem că o persoană pătrunde în incintă, acțiune ce are ca și consecință activarea senzorului
1. Sistemul va fi capabil de a contoriza această acțiune ca o intrare numai după un anumit interval
de timp, atunci când, conform figurii de mai sus, se activează și cel de -al doilea senzor. Scopul
acestora este de a evita transmiterea datelor incorecte. În cazul în care o persoană pătrunde în
incintă până la nivelul senzorului 1, urmând ca să părăsească apoi ieșirea, sistemul nu va contoriza
acest fenomen drept o intrare în incintă. Situația este similară și în cazul acțiunii de părăsire a
incintei.

53

Concluzii
Realizarea practică a acestui proiect mi -a adus la cunoștință lucruri noi, utile, interesante.
Înainte de toate, în ceea ce privește tema propriu zisă, ceea ce trebuie menționat este faptul că ideea
derivă oarecum din aglomerația suportată zilnic în mijloacele de transport în comun și nu numai.
„Visul meu” ar fi ca implemenarea unui sistem automat care să fie capabil să contorizeze numărul
de persoane care au pătruns într -un mijloc de transport, de exemplu, și, totodată, ar fi capabil să
semnaleze ati ngerea capacității maxime a incintei, ar fi soluția unui mediu mai relaxant și mai
avantajos pentru noi.
Tema fiind stabilită, cursul procesului de realizare privea ca următoare etapă alegerea
componentelor propriu zise, printre cele de o importanță semnif icativă fiind senzorii. Alegerea
tipului de senzori a fost poate una dintre cele mai grele decizii, date fiind avantajele și dezavantajele
aduse de multitudinea de senzori existenți și utili în astfel de aplicații. Însă, concentrarea este fixată
în fond pe corectitudinea datelor, fapt ce elimină posibilitatea utilizării anumitor tipuri de senzori .
Barierele optice m -au ajutat să elimin erorile de contorizare, având o „înclinare” spre excactitate.
Practic, în cazul în care sunt activați, pe rând, ambii senzo ri (incrementare sau decrementare a
contorului), informația de intrare/ieșire din incintă este ignorată.
Pe parcurs, au intervenit, bineînțeles și contrângeri. Cu intenția de a transfera datele în timp real
către server -ul dorit, am constatat la un moment dat că, deși avusese loc o intrare în incintă, afișată
și pe LCD, la server informația nu fusese trasnmisă. La o mai bună documentare asupra platformei,
am descoperit faptul că, în cazul în care evenimentele sunt mult prea frecvente, informația va fi
transferata la un interval prestabilit, în cazul proiectului de 15ms.
Continuând cu testarea funcționalității proiectului, am aprofundat ceea ce protocolul I2C
presupune, avantajele utilizării, am aprofundat cunoștințele asupra plăcilor de dezvoltare Arduino,
tipul lor și caracteristicile proprii. În acest sens, am înțeles ce presupune sau, mai corect spus, ce
este un ESP8266, legătura dintre acest modul și placa de dezvoltare utilizată (WEMOS D1) și, nu în
ultimul rând, utilitarea lor în procesul de automatiz are. Ne dorim ca, odată cu trecerea timpului, să
ne adaptăm cât mai mult cu tehnologia avansată, să înțelegem că scopul ideii de automatizare este
strict de a ne ușura activitatea de zi cu zi.
Participând la dezvoltarea și implementarea acestui proiect, m i-am atins scopul propus inițial: acela
de a aplica cunoștințele teoretice dobândite pe parcursul studiilor.
Am învățat astfel că, întâi de toate, pentru a avea succes, un proiect trebuie să respecte cerințele
clientului, pe lângă cele tehnice și comerciale (cost). Apoi, am înțeles faptul că de cele mai multe
ori aplicațiile teoretice au nevoie de adaptări pentr u a putea fi implementate și, nu în ultimul rând,
proiectul de diplomă m -a făcut să înțeleg faptul că un inginer este acea persoană care caută și oferă
soluții implementabile pentru probleme reale, soluții conforme problemei puse și bugetului
disponibil.

54

55
Bibliografie

[1] Burileanu, C., Arhitectura microprocesoarelor, Editura Tehnică, București, 1997
[2] Paraschiv, N., Introducere în știința sistemelor și a calculatoarelor, . Editura Matrix Rom, București,
2007, capitolul ”Sisteme automate de reglare și control”
[3] http://www.siear.ro/doc/I18.pdf , accesat la data de 20.04.2017
[4] Blitz, J., Fundamental of Ultrasonic, London, 1967
[5] http://romdev ices.com/pdf/Safety/sb2arh.pdf , accesat la 27.04.2017
[6] Funcționarea barierelor optice http://www.ifm.com/ifmro/web/pmain/010_070_030.html , accesat la
27.04.2017
[7]Introducere în funcționarea barierelor optice
http://www.polytec.com/fileadmin/user_uploads/Products/Optoelektron ische_Komponenten/Sensoren/Docu
ments/PH_OEK_Espros_AN01 -7.pdf , accesat la 27.04.2017
[8] http://trainelectronics.com/artcles/PulsedIR/index.htm , accesat la data de 30.04.2017
[9] Foi de catalog NE555 http://www.ti.com/lit/ds/symlink/ne555.pdf , accesat la data de 02.05.2017
[10] Băjenescu, T -M., Component Reliability for Electronic Systems, Artech House, Boston and London,
2010
[11] Coldren LA., Diode lasers and photonic integrated circuits
[12] Foi de catalog, http://www.micropik.com/PDF/tsop17xx.pdf , accesat la data de 05.05.2017
[13] ESP8266, https://www.itead.cc/wiki/ESP8266_Serial_WIFI_Module , accesat la 05.05.2017
[14] Foi de catalog WEMOS D1 https://www.wemos.cc/ , accesat la 07.05.2017
[15]Gray, P., Analysis and design of analog integrated circuits – Fourth edition, Editura John Wiley & Sons,
New York, 2001
[16] Mohan, N., Power electronics – A first course, Editura John Wiley & Sons, New York, 2012

[17] Foi de catalog WEMOS D1 https://wiki.wemos.cc/products:d1:d1_mini , accesat 08.05.2017
[18] Dimitriu, L., Aparate electronice de măsurare și control, Editura Univeritatea Tehnică “Gh. Asachi”,
Iași, 2009, capitolul “Sisteme de afișare alfanumerică pe afișaj LCD”
[19] Foi de catalog PCF8574 http://www.ti.com/lit/ds/symlink/pcf8574.pdf , accesat la 14.05.2017
[20] David Kushner (2011 -10-26). "The Making of Arduino"
[21] Rădescu, R. , Echipamente și protocoale de comunicație Internet, Editura Matrix Rom, București, 2003

[22]http://home.ustc.edu.cn/~wfsun/lab/course/wireless/Steve%20Rackley%20 –
%20Wireless%20Networking%20Technology.pdf , accesat la 20.05.2017

56

57

Anexe
Anexa 1 : Codul sursă al programului
#include <ESP8266WiFi.h>
#include <ThingSpeak.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x20,16,2); // set the LCD address to 0x20 for a
16 chars and 2 line display

#define LED_com 2 ///ON BOARD
#define LED_busy 14

#define PIN1 12
#define PIN2 13
#define read1 digitalRead(PIN1)
#define read2 digitalRead(PIN2)

const char* ssid = "Anap";
const char* password = "anapopescu";

char x;

int contor=0;
char upload_flag=0;
long last_up=0;
const long delay_up=15000;

unsigned long myChannelNumber = 281108;
const char * myWriteAPIKey = "COBJ4TY66HD2ZRXN";
const char * myReadAPIKey = "298C2EYTDOJMUOPB";

const char* server = "api.thingspeak.com";
WiFiClient client;

// the 8 arrays that form each segment of the custom numbers
byte LT[8] ={
B00111,
B01111,
B11111,
B11111,
B11111,
B11111,
B11111,
B11111
};
byte UB[8] ={
B11111,
B11111,
B11111,
B00000,
B00000,

58
B00000,
B00000,
B00000
};
byte RT[8] ={
B11100,
B11110,
B11111,
B11111,
B11111,
B11111,
B11111,
B11111
};
byte LL[8] ={
B11111,
B11111,
B11111,
B11111,
B11111,
B11111,
B01111,
B00111
};
byte LB[8] ={
B00000,
B00000,
B00000,
B00000,
B00000,
B11111,
B11111,
B11111
};
byte LR[8] ={
B11111,
B11111,
B11111,
B11111,
B11111,
B11111,
B11110,
B11100
};
byte UMB[8] ={
B11111,
B11111,
B11111,
B00000,
B00000,
B00000,
B11111,
B11111
};
byte LMB[8] ={
B11111,
B00000,
B00000,

59
B00000,
B00000,
B11111,
B11111,
B11111
};

void numbers(int n){
lcd.setCursor(x, 0);
switch (n){
case 0:
lcd.write(0);
lcd.write(1);
lcd.write(2);
lcd.setCursor(x, 1);
lcd.write(3);
lcd.write(4);
lcd.write(5);
break;
case 1:
lcd.write(1);
lcd.write(2);
lcd.write(' ');
lcd.setCursor(x,1);
lcd.write(' ');
lcd.write(255);
lcd.write(' ');
break;
case 2:
lcd.write(6);
lcd.write(6);
lcd.write(2);
lcd.setCursor(x, 1);
lcd.write(3);
lcd.write(7);
lcd.write(7);
break;
case 3:
lcd.write(6);
lcd.write(6);
lcd.write(2);
lcd.setCursor(x, 1);
lcd.write(7);
lcd.write(7);
lcd.write(5);
break;
case 4:
lcd.write(3);
lcd.write(4);
lcd.write(2);
lcd.setCursor(x, 1);
lcd.write(' ');
lcd.write(' ');
lcd.write(255);
break;
case 5:
lcd.write(255);
lcd.write(6);

60
lcd.write(6);
lcd.setCursor(x, 1);
lcd.write(7);
lcd.write(7);
lcd.write(5);
break;
case 6:
lcd.write(8);
lcd.write(6);
lcd.write(6);
lcd.setCursor(x, 1);
lcd.write(3);
lcd.write(7);
lcd.write(5);
break;
case 7:
lcd.write(1);
lcd.write(1);
lcd.write(2);
lcd.setCursor(x, 1);
lcd.write(' ');
lcd.write(0);
lcd.write(' ');
break;
case 8:
lcd.write(0);
lcd.write(6);
lcd.write(2);
lcd.setCursor(x, 1);
lcd.write(3);
lcd.write(7);
lcd.write(5);
break;
case 9:
lcd.write(0);
lcd.write(6);
lcd.write(2);
lcd.setCursor(x, 1);
lcd.write(' ');
lcd.write(4);
lcd.write(5);
break;
default:
lcd.clear();
x=-4;
};
x+=4;
}

int send_data_s erver(void){
if (last_up > millis()) { digitalWrite(LED_busy, HIGH);
Serial.println("Cloud wait"); return 0;}
digitalWrite(LED_com, LOW); // Turn the LED on (inversed logic)
Serial.print("Value: ");
Serial.print(contor);
ThingSpeak.writeField(myChannelNumber, 1, contor, myWriteAPIKey);

last_up=millis() + delay_up;

61
upload_flag=0;

Serial.println(" send to Cloud");
digitalWrite(LED_busy, LOW);
digitalWrite(LED_com, HIGH); // Turn the LED off by making the vol tage
HIGH
return 1;
}

void get_last_data(void){ //// in caz de defectiune sau la intreruperea
curentului, va porni de la ultima valoare transmisa de la server
digitalWrite(LED_com, LOW); // Turn the LED on (inversed logic)
Serial.print("Connectin g for last data to ");
Serial.println(server);

contor = ThingSpeak.readIntField(myChannelNumber, 1, myReadAPIKey);

digitalWrite(LED_com, HIGH); // Turn the LED off by making the voltage
HIGH
}

void isr_pin1 () {
//Serial.println("^1");
if (read2) {
contor++;
upload_flag=1;
Serial.println(contor);
}
}

void isr_pin2 () {
//digitalWrite(LED_sck,digitalRead(PIN1));
//Serial.println("^2");
if (read1) {
contor–;
upload_flag=1;
Serial.println(contor);
}
}

void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println();
lcd.init();

// assignes each segment a write number
lcd.createChar(0,LT);
lcd.createChar(1,UB);
lcd.createChar(2,RT);
lcd.createChar(3,LL);
lcd.createChar(4,LB);
lcd.createChar(5,LR);
lcd.createChar(6,UMB);
lcd.createChar(7,LMB);

pinMode(LED_com, OUTPUT); // Initialize the LED_BUILTIN pin as an
output

62
digitalWrite(LED_com, HIGH); //turn off
pinMode(LED_busy, OUTPUT);
pinMode(PIN1,INPUT_PULLUP);
pinMode(PIN2,INPUT_PULLUP);
attachInterrupt(PIN1, isr_pin1, FALLING);
attachInterrupt(PIN2, isr_pin2, FALLING);
//attachInterrupt(PIN2, isr_pin2, CHANGE);

Serial.println();
Serial.print("My Channel Number: ");
Serial.println(myChannelNumber);
Serial.print("My Read API Key: ");
Serial.println(myReadAPIKey);
Serial.print("My Write API Key: ");
Serial.println(myWriteAPIKey);

Serial.print("Connecting to ");
Serial.println(ssid);

lcd.clear();
lcd.print("Wi -Fi: ");
lcd.print(ssid);

WiFi.begin(ssid, password);

lcd.setCursor(0,1);

while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
lcd.print(".");
digitalWrite(LED_com, !digitalRead(LED_com));
}
lcd.clear();
lcd.print("IP:");
lcd.setCursor(0,1);
lcd.print(WiFi.localIP());
Serial.println();
Serial.println("WiFi connected");
Serial.print("IP on local network: ");
Serial.println(WiFi.localIP());
// print the received signal strengt h:
long rssi = WiFi.RSSI();
Serial.print("signal strength (RSSI):");
Serial.print(rssi);
Serial.println(" dBm");
digitalWrite(LED_com, HIGH);

ThingSpeak.begin(client);
get_last_data();
///https://thingspeak.com/channels/281108/fields/1/last
lcd.print("Get ");
lcd.print(contor);
Serial.print("GET: ");
Serial.println(contor);
delay(1000);
lcd.clear();

63
}

void loop() {
lcd.clear();
x=0;
if (contor > 9999)
contor = 9 999;
if (contor < 0)
contor = 0;
if (contor>=1000)
numbers(contor/1000);
else x+=4;
if (contor>=100)
numbers(contor/100 %10);
else x+=4;
if (contor>=10)
numbers(contor/10 %10);
else x+=4;

numbers(contor%10);

if (upload_flag) send_data_server();
delay(1000);

}

64

65
Anexa 2: Schema electrică a plăcii de dezvoltare WEMOS D1

Similar Posts