SPECIALIZAREA ELECTRONICĂ APLICATĂ CURSURI DE ZI Vizat Facultatea IME (semnătur a și ștampila) Aprobat, Director de departament, PROIECT DE DIPLOMĂ… [606331]

1
MINISTERUL EDUCAȚIEI NAȚIONALE
UNIVERSITATEA PETROL – GAZE DIN PLOIEȘTI
FACULTATEA : INGINERIE MECANICĂ ȘI ELECTRICĂ
DEPARTAMENTUL AUTOMATICĂ, CALCULATOARE ȘI
ELECTRONICĂ
SPECIALIZAREA ELECTRONICĂ APLICATĂ
CURSURI DE ZI

Vizat
Facultatea IME
(semnătur a și ștampila) Aprobat,
Director de departament,

PROIECT DE DIPLOMĂ

TEMA: PROIECTAREA ȘI ASISTAREA UNUI SISTEM
ADAPTIV DE SEMAFORIZARE A UNEI INTERSECȚII

Conducător științific:
Prof. Dr. Ing CRISTIAN BUCUR

Absolvent: [anonimizat]
2014

2
UNIVERSITATEA PETROL – GAZE DIN PLOIEȘTI
FACULTATEA INGINERIE MECANICĂ ȘI ELECTRICĂ
DEPARTAMENTUL AUTOMATICĂ, CALCULATOARE ȘI
ELECTRONICĂ
SPECIALIZAREA ELECTRONICĂ APLICATĂ
CURSURI DE ZI
Aprobat,
Director de departament,
Declar pe propria răspundere că voi elabora
personal proiectul de diplomă și nu voi folosi
alte materiale documentare în afara celor
prezentate la capitolul „Bibliografie”.
Semnătur ă studentă :
DATELE INIȚ IALE PENTRU PROIECTUL DE DIPLOMĂ
Proiectul a fost dat st udentei:

1) Tema proiectului

2) Data eliberării temei:
3) Tema a fost primită pentru îndeplinire la data:
4) Termenul pentru predarea proiectului:
5) Elementele inițiale pentru proiect:

6) Enumerarea problemelor care vor fi dezvoltate:

7) Enumerarea materialului grafic (acolo unde este cazul):

8) Consultații pentru proiect, cu indicarea părților din proiect care necesită
consultarea:

Conducător științific: Student(ă)

Semnătura: Semnătura:

3
UNIVERSITATEA PETROL – GAZE DIN PLOIEȘTI
FACULTATEA INGINERIE MECANICĂ ȘI ELECTRICĂ
DOMENIUL: INGINERIE ELECTRONICĂ ȘI TELECOMUNICAȚII
SPECIALIZAREA ELECTRONICĂ APLICATĂ
CURSURI DE ZI

APRECIERE
privind activitatea absolvent: [anonimizat]:
în elaborarea proiectului de diplomă cu t ema:

Nr.
crt. CRITERIUL DE APRECIERE CALIFICATIV
1. Documentare, prelucrarea informațiilor din bibliografie
2. Colaborarea ritmică și eficientă cu conducătorul temei
proiectului de diploma
3. Corectitudinea calculelor, programelor, schemelor,
desenelor, diagramelor și graficelor
4. Cercetare teoretică, experimentală și realizare practică
5. Elemente de originalitate (dezvoltări teoretice sau
aplicații noi ale unor teorii existente, produse informatice
noi sau adaptate, utile în aplicații le inginerești)
6. Capacitate de sinteză și abilități de studiu individual
CALIFICATIV FINAL
Calificativele pot fi: nesatisfăcător / satisfăcător / bine / foarte bine / excelent .

Comentarii privind calitatea proiectului:
___________________________ _____________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
___________________________ _____________________________________
________________________________________________________________
________________________
Data:
Conducător științific
(gradul didactic, nume, prenume și
semnătura)

4
CUPRINS

Introducere ……………………………………………………………………………………..pag. 5
Cap1. Semaforizarea ………………………………… …………………………………… ..pag.6
1.1 Descriere ……………………………………………………………………………. ….pag.6
1.2 Scurt istoric …………………………………………………………………………. …pag.8
1.3 Semnal izarea Rutieră …………………………………………………………… .pag.12
1.4 Semaforizarea eficientă ………………………………………………………… ..pag.16
1.5 Semaforizarea inteligentă…………………………………… ………………… ..pag.20
Cap2.Avantajele si dez avantajele unei semaforizări inteligente …………pag.24
2.1 Viitorul semafoarelor …………………………………………………………. …pag.25
2.2 Implementarea unui semafor utilizand VHDL ………………………. …pag.28
Capitolul 3. Automatul local de semaforizare ……………………………….. ..pag.32
3.1 Cerințe funcționale impuse automatului de semaforizare ………… ..pag.32
3.2 Prezentarea compontelor automatului de semaforizare …………….. .pag.34
Capitolul 4. Elementele software ale aplicație ………………………………. …pag.4 7
Capitolul 5. Concluzii …………………………………………………….pag. 57

Abstract……………………………………………………………………… …….. ….pag. 58
Anexa 1………………………………………………………………………………. …pag. 59
Anexa 2………………………………………………………………………………. …pag. 64

Bibliografie……. ………………………………………………………………………………. pag.69

5

INTRODUCERE

În ziua de azi, mijloacele de transport devin tot mai rapide și într -o lume a vitezei și pe
o infrastructură(autostrăzi,străzi) care nu s -a dezvoltat în același ritm, având pe fond și eroarea
umană,iminent apar accidentele și ambuteiaje în trafic.
Traficul auto din orașe este afectat de sistemele de semaforizare curente. În momentul
așteptării la semafor, șoferul pierde timp iar mașina consumă combustibil. . Așadar, reducerea
intervalului de timp de așteptare la semafor ar reduce cantitatea inutilă de diox id de carbon
emisă în atmosferă și ar ajuta societatea să economisească milioane de Euro anual.
Acest proiect conține, pe lângă introducere si concluzii, 4 capitole, fiecare din acestea
abordând anumite aspecte.
În primul capitol este prezentată o descrier e a semafoarelor, o scurtă isorie a acestora
precum și o parte din legislația rutieră privind semnalizarea rutieră.
În cel de al doilea capitol se prezintă o trecere de la sistemele clasice de semaforizare la
semaforizarea inteligenta, avantajele si dezav antajele unei semaforizării inteligente, precum si
implementarea unui semafor utilizând VHDL.
Ultimele doua capitole sunt pentru partea de hardware(capitolul 3) și pentru partea de
software (capitolul 4) ale proiectului. Partea de hardware prezintă conecta rea elementelor
componente ale machetei, precum și interconectarea acestora, iar în partea de software se
descriu programele folosite pentru simularea intersecției.
Ideea de “ Semaforizare inteligentă ” nu este una nouă. Încă de când a fost conceput
semafor ul, se dorea ca acesta sa poată rezolva problematica traficului într -un mod cât mai
eficient, însă, din motive tehnologice, până nu demult timp, acest lucru nu a fost în totalitate
posibil. Acestea sunt răspândite în toate colțurile lumii ( se presupune că în Statele Unite toate
semafoarele sunt coordonate de un sistem inteligent ).

6

Capitolul 1.
Semaforizarea

1.1 Descriere

Conceptul de semafor este adesea asociat cu un dispozitiv de semnalizare pentru
reglementarea circulației cu rolul de a de cide prioritățile unui sistem.
Semafoarele sunt folosite in mai multe domenii, cum ar fi:
 Domeniul nautic
 Domeniul feroviar
 Domeniul rutier
Indiferent de domeniul in care sunt folosite, acestea au același scop: sincronizarea
accesului unei resurse de către mai multe entități.
În ziua de azi, a devenit necerasă semaforizarea intersecțiilor, sau modernizarea celor
existente cu echipamente de ultimă generație, atât în vederea fluidizării circulației cât și
pentru siguranța pietonilor. În acest fel se poate re duce considerabil costul întreținerii
echipamentelor ce se folosesc la sistemele de semaforizare din oraș. Într -o intersecție un
semafor are un important rol în dirijarea traficului în condiții optime și de maximă siguranță.
Dacă o intersecție nu ar fi sem aforizată, un anumit participant la trafic ar trebui sa
acorde prioritate participanților după alte direcții ale intersecției, existând astfel premizele
creării unor blocaje. Însă dacă intersecția este semaforizată, fiecare direcție de mers are un
anumit i nterval de timp în care participanții la trafic poate să o parcurgă.
Aceste intervale de timp pot fi modificate in funcție de traficul după fiecare direcție în
parte prin intermediul unor senzori.
Luminile de la semafor sunt roșu, galben și verde din cauz a că oficialii de la trafic, la
început au copiat sistemul de coduri de la calea ferata pe care inginerii l -au proiectat pentru

7
sistemul de cale ferata de control al
trenurilor.

Scopul inginerilor de cale ferata in
implementarea acestui cod a fost sa
previna coleziunile trenurilor care erau
destul de dese, prin transmiterea
semnalelor de avertizare catre acestea.
Prin urmare ei s -au preocupat destul de
serios de problema alegerii culorilor
reprezentative pentru semnale.

Rosu, culoarea sangelui, s -a dov edit o alegere logica pentru semnalul de stop, precum timp de
sute de ani, aceasta culoare previzualiza pericolul. Inginerii s -au gandit ca, culoarea in sine, va
transmite oamenilor un motiv de a face o pauza, de a se supune semnalului, si de a opri altfel
vor suporta consecintele mortii si distrugerii.

Alegerea celorlalte doua culori a fost mai problematica. Inginerii au facut mai multe incercari
pana au ajuns cum sunt in zilele noastre. Prima incercare care a fost in anii 1830 si a constat
in alegerea c ulorii verde pentru semnalul de atentie si lumina alba pentru semanalul de
plecare, a esuat. Lumina alba corespunzatoare semanalului de plecare, era foarte
asemanatoare cu lumina care provenea de la lampile tipice de la iluminatul stradal, sau de la
reflec tiile soarelui si putea fi confundata foarte usor. Si asa a fost…

Aceste esecuri au obligat inginerii sa modifice selectia culorilor la rosu pentru stop, verde
pentru plecare si galben pentru atentie. Inginerii de trafic, din lipsa de ingeniozitate, au copiat

8
acest sistem de codare a culorilor si au realizat primul semafor in Cleveland, Ohio in anul
1914. Primul semafor nu a inclus si culoarea galben pentru atentie, dar a fost adaugata cativa
ani mai tarziu.

1.2 Scurt istoric

Încă din secolul XVIII s -a simțit nevoia unui sistem de prioretizare a circulației, pentru
a reduce atât numărul coliziunilor autovehiculelor, cât și a blocărilor de tr afic.
Primul semafor a fost instalat pe 10 decembrie 1868 în fața clădirii Parlamentului din
Londra și a fost opera inginerului feroviar J. P. Knight. Echipa condusă de el s -a inspirat din
sistemul de semnale feroviare folosite la acea vreme și de sistemul de semnalizare cu steaguri
(sistem convențional de semnalizare la distanta care se realiza prin ridicarea sau coborarea
unor steaguri de diverse culori), la care au adăugat lămpi cu gaz, roșii și verzi , pentru
vizibilitatea pe timp de noapte. Inițial, fla căra felinarului era aprinsă cu ajutorul unei parghii,
dar pe 2 ianuarie 1868, a explodat , răni nd persoana care o aprindea ( polițistul ).

9

Turn de control al traficului

Primul semafor pentru 4 direcții

10

Primul semnal electric

Semaf orul modern este o invenție americană . În anul 1912, Lester Wire, un polițist din
Salt Lake City, Utah, a inventat primul semafor electric ce funcționa pe principiul rosu –
verde, “stai – mergi” .
Doi ani mai târziu, Compania Americană de Indicatoare Auto a instalat un sistem electric de
semnalizare la intersecția străzii East 105 cu bulevardul Euclid, in Cleveland, Ohio . Acest nou
sistem se folosea de două culori, roșu și verde, și de un semnal acustic pentru a avertiza
schimbarea culorilor. Invenția le per mitea polițiștilor si pompierilor sa aibă control asupra
traficului în caz de urgență.
Primul semafor car e se folosea de trei culori, roșu, verde ș i galben, a fost in ventat de
polițistul Willi am Potts din Detroit, Michigan î n anul 1920 . Doi ani mai t ârziu, ș oferul Garrett
Morgan a omologat primul semafor.
Cel mai vechi semafor în perfectă stare de funcționare din Statele Unite a stat într -o intersecț ie
din Ashville , Ohio până în anul 1982, câ nd a devenit piesă de muzeu .
Primul sistem corela t de semaf oare a fost instalat în Salt Lake City, în 1917 și cuprindea 6
intersecț ii semaforizate simultan. Sis temul era activat manual de un î ntrerupator. Primul
sistem electric, corelat a fost instalat in martie 1922 î n Houston, Texas, iar primul sistem de
semafo rizare automat a fost instalat î n Anglia, 1927 .
Pe data de 5 februarie 1952 au fost instalate in New York celebrele semafoare “Don’t Walk” .

11

Culorile semaforului au fost inspirate din regulile de naviga ție marin ă, unde roș ul
reprezenta bordul si verdele tribordul. Astfel vasele care navigheaza pe partea st ângă sunt
obligate s ă oprească pentru a “ce da trecerea” celor care vin pe p artea dreapt ă.
Un lucr u este clar: indiferent de formă , origine sau culoare, semnele au fost inventate pentru a
face puț ina ordine in harababura si agitaț ia lumii.
Semafoarele cronometrate au apărut în 1999, în Taiwan și au fost aduse în America
după ce un inginer le -a înteles scopul. Aceste semafoare încă se mai folosesc, fiind utile
pietonilor pentru a -și cronometra timpul pe care îl au pentru a traversa.
Sistemele clasice de semaforizare se bazează doar pe microcontrolere și
microprocesoare, ceea ce implica anumite limitări. Datorită intervalelor fixe de timp în care
semafoarel e își schimba stările( roșu/galben/verde) semaforizarea devine ineficientă datorită
lipsei flexibilității(semafoarele vor acționa întotdeauna la fel, indiferent de condiții) . Pentru a
eficientiza controlul traficului prin semafoare trebuie să se pună acc entul pe dinamism și pe
algoritmi de analiză a traficului. O astfel de semaforizare ar putea analiza în timp real numărul
de mașini care așteaptă la semafor si astfel s -ar ajunge la o fluidizare a traficului.În țările
civilizate există comisii specializate pentru aceste sincronizări, in funcție de ore, zile, de
fiecare stradă în parte. De exemplu, daca pe o stradă este aglomerație dimineața pe un sens,
dar la pranz nu este nimeni, semaforul va semnala diferit. Mai nou, și în țara noastră s -a arătat
un inter es față de acest nou tip de dirijare al traficului, dar din păcate însă, în România
semaforul are doar rolul pe care îl avea acum mai bine de 140 de ani. (De exemplu la Ploiești
sistemele de dirijare a traficului sunt implementate cu module electronice de la inceputul
anilor 80).

12

1.3 Semnalizarea rutieră

Art. 75 – semnalizarea rutieră se realizează prin semnale luminoase, indicatoare și marcaje,
precum și prin alte mijloace prevăzute în prezentul regulament.
Art. 76 – Persoanele care folosesc drumurile pu blice trebuie să se conformeze semnificației
semnalelor luminoase, indicatoarelor, marcajelor, precum și semnalelor agenților care
dirijează circulația și ale conducătorilor de vehicule.
Art. 77 -(1) Mijloacele de semnalizare rutieră și echipamentele destin ate siguranței circulației
se instalează și/sau se aplică de administratorul drumului public, cu acceptul poliției.
(2) Semnificația, precum și dimensiunile mijloacelor de semnalizare rutieră,
forma,simbolul,culoarea și condițiile de execuție, amplasarea, instalarea și aplicarea acestora
sunt stabilite prin standarde de stat.

Secțiunea 1. Semnale luminoase
1. Semnale luminoase pentru dirijarea circulației vehiculelor
Art. 78 – (1) Semnalele luminoase sau lumini albe sau colorate diferit, emise succesiv,
contin uu sau intermitent, de unul sau mai multe corpuri de iluminat care compun un semafor.
(2)- După numarul corpurilor de iluminat semafoarele sunt:
a) Cu un corp de iluminat, cu lumina intermitentă de avertizare;
b) Două corpuri de iluminat, pentru pietoni si bicic liști;
c) Trei corpuri de iluminat, pentru vehicule;
d) Cu patru sau mai multe corpuri de iluminat, pentru tramvaie.
(3)- Semafoarele care se montează pe axul vertical al stâlpului sau pe consolă, pe portal ori
suspendate pe cabluri, succesiunea culorilor lentil elor, de sus in jos, este urmatoarea:
a) La semaforul cu trei culori ordinea semnalelor este: roșu,galbel, verde
b) La semaforul cu doua culori ordinea semnalelor este:rosu, verde;
c) La semnalul pentru tramvaie sunt dispuse pe trei la orizontală la partea superioa ră și
unul la partea inferioară, toate cu lumina a lbă.
Art. 79 -(1) Semafoarele care emit semnale luminoase pentru dirijarea circulației în
intersecții se instalează obligatoriu înainte de intersecție, astfel încât să fie vizibile de la o
distanta de cel pu tin 50m.
Acestea pot fi reperate în mijlocul, deasupra ori de cealaltă parte a intersecției.

13
(2)- semnificația semnalelor luminoase pentru dirijarea circulației vehiculelor este valabilă
pe întreaga lățime a parții carosabile deschise circulației vehiculel or cărora li se adresează.
Pe drumurile publice cu două sau mai multe benzi pe sens, pentru direcții
diferite,delimitate prin marcaje longitudinale,semafoarele se pot instala deasupra uneia sau
unora dintre benzi, caz în care semnificația semnalelor lumino ase se limitează la banda
sau benzile astfel semnalizate.
Art. 80. – Semnalele rosu, galben si verde pot fi în forma de sageti de aceeasi culoare, pe
fond negru. În acest caz interdictia sau permisiunea de trecere impusa de semnalul luminos
este limitata l a directia sau directiile indicate prin aceste sageti. Aceeasi semnificatie o au si
sagetile aplicate pe panourile aditionale ce însotesc, la partea inferioara, semafoarele. Sageata
pentru mersul înainte are vârful în sus.
Art. 81. – (1) Semafoarele pentru tramvaie au forma de caseta cu patru corpuri de iluminat de
culoare alba si trebuie însotite de panouri cu semne aditionale.
(2) Semnalul de libera trecere pentru tramvaie este dat de combinatia luminoasa a lampii
inferioare cu una dintre cele trei lampi situate la partea superioara pentru indicarea directiei.
(3) Semnalul de interzicere a trecerii tramvaiului este dat de iluminarea concomitenta a celor
trei lumini din partea superioara a casetei.
Art. 82. – (1) Semnalul verde permite trecerea.
(2) Se inte rzice intrarea într -o intersectie chiar daca semnalul luminos ori un indicator de
prioritate permite, daca din cauza aglomerarii circulatiei conducatorul de vehicul risca sa
ramâna imobilizat, stânjenind sau împiedicând desfasurarea traficului.
(3) Când se maforul este însotit de una sau mai multe lampi care emit lumina intermitenta de
culoare verde sub forma uneia sau unor sageti pe fond negru catre dreapta, acestea permit
trecerea numai în directia indicata, oricare ar fi în acel moment semnalul în functiu ne al
semaforului.
(4) În cazurile prevazute la alin. (3), conducatorii vehiculelor sunt obligati sa acorde prioritate
de trecere participantilor la trafic cu care se intersecteaza si circula conform semnificatiei
culorii semaforului care li se adreseaza.
Art. 83. – (1) Semnalul rosu interzice trecerea.
(2) La semnalul rosu vehiculul trebuie oprit înaintea marcajului pentru oprire sau, dupa caz,
pentru trecerea pietonilor, iar în lipsa acestuia, în dreptul semaforului. Daca semaforul este
instalat deasupra ori de cealalta parte a intersectiei, în lipsa marcajului pentru oprire sau
pentru trecerea pietonilor, vehiculul trebuie oprit înainte de marginea partii carosabile a
drumului ce urmeaza a fi intersectat.

14
(3) Atunci când semnalul rosu functioneaza concomi tent cu cel galben, acesta anunta aparitia
semnalului verde.
Art. 84. – (1) Când semnalul galben apare dupa semnalul verde, conducatorul vehiculului care
se apropie de intersectie nu trebuie sa treaca de locurile prevazute la art. 83 alin. (2), cu
exceptia situatiei în care, la aparitia semnalului, se afla atât de aproape de acele locuri, încât
nu ar mai putea opri vehiculul în conditii de siguranta.
(2) Semnalul galben intermitent permite trecerea, cu respectarea semnalizarii rutiere si a
regulilor de circ ulatie aplicabile în acel loc.
(3) Aceeasi semnificatie o are si semnalul galben intermitent al unei lampi instalate într -un loc
periculos.
Art. 85. – În intersectii dirijarea circulatiei tramvaielor se poate realiza si prin semafoare
având semnale luminoa se de culoare alba, corelate cu semnalele luminoase pentru dirijarea
circulatiei celorlalte vehicule.
Art. 86. – Semnalul luminos destinat numai dirijarii circulatiei bicicletelor are în câmpul sau
imaginea unei biciclete de culoare rosie, respectiv verde pe fond negru.
Aceeasi destinatie o are si semnalul luminos al unui semafor însotit de un panou aditional pe
care figureaza o bicicleta.
Art. 87. – (1) Când deasupra benzilor, delimitate prin marcaje longitudinale, sunt instalate
dispozitive care emit semn ale rosii si verzi, acestea sunt destinate semnalizarii benzilor cu
circulatie reversibila. Semnalul rosu, având forma a doua bare înclinate si încrucisate,
interzice accesul vehiculelor pe banda deasupra careia se gaseste, iar semnalul verde, de
forma une i sageti cu vârful în jos, permite intrarea vehiculelor si circulatia pe acea banda.
(2) Semnalul luminos intermediar care anunta schimbarea semnalului verde în cazul benzilor
cu circulatie reversibila are forma unei sau unor sageti de culoare galbena ori alba cu vârful
orientat în diagonala catre în jos, spre dreapta. Acest semnal anunta ca banda deasupra careia
se afla este pe punctul de a fi închisa circulatiei conducatorilor carora li se adreseaza si ca
acestia sunt obligati sa se deplaseze pe banda sau benzile indicate de sageti.

2. Semnale luminoase pentru pietoni
Art. 90. – (1) Semnalele luminoase pentru pietoni sunt de culoare verde si rosie.
Acestea functioneaza corelat cu semnalele pentru dirijarea circulatiei vehiculelor.
(2) Semnalul verde poate av ea în câmpul sau imaginea unui pieton în mers, iar cel rosu,
imaginea unui pieton oprit.

15
(3) Semnalele luminoase pentru pietoni pot fi însotite de semnale acustice pentru a asigura
traversarea drumului de catre nevazatori.
(4) Pe sectoarele de drum unde va lorile de trafic permit, administratorul drumului public, cu
avizul politiei, poate amplasa în zona marcajului trecerii pentru pietoni semafoare sau panouri
speciale cu comanda manuala a cererii de verde, care se poate face direct de catre pietoni.
Art. 91 . – (1) Semnalul verde permite trecerea.
(2) Când semnalul verde începe sa functioneze intermitent înseama ca timpul afectat
traversarii drumului este în curs de epuizare si urmeaza semnalul rosu.
Art. 92. – (1) Semnalul rosu interzice pietonilor sa se ang ajeze pe partea carosabila.
(2) Pietonul surprins în timpul traversarii de semnalul rosu trebuie sa grabeasca trecerea, iar
daca drumul este prevazut cu un refugiu sau spatiu interzis circulatiei vehiculelor, sa astepte
pe acesta aparitia semnalului verde.

3. Alte semnale luminoase
Art. 93. – În cazul semaforizarii corelate, în lungul unui traseu pot fi instalate dispozitive de
cronometrare a timpului aferent culorii, precum si dispozitive luminoase care sa arate
participantilor la trafic timpii stabiliti pri n programul de semaforizare, iar pentru conducatorii
de autovehicule si viteza de deplasare.
Art. 94. – Semaforul de avertizare se instaleaza la iesirea din intersectie si este constituit dintr –
un corp de iluminat cu lumina galbena intermitenta. Acesta poa te avea în câmpul sau
imaginea unui pieton în miscare, de culoare galbena pe fond negru.
Art. 95. – Pentru semnalizarea si dirijarea circulatiei pe sectoarele de drumuri, cu exceptia
autostrazilor, unde se executa lucrari pe partea carosabila, se pot insta la temporar semafoare
mobile, cu obligatia presemnalizarii vizibile a acestora de la o distanta de cel putin 150 m.

Semnalele luminoase și marcajele trebuie corelate, astfel încât să nu apară situații în care la o
anumită intersecție semnalele luminoase s ă nu intre în contradicție cu marcajele. La o
intersecție semaforizată pe lângă regulile prezentate în Regulamentul de aplicare al
Ordonanței nr 195/2002, automatele de semaforizare trebuie să îndeplinească și alte criterii de
siguranță cum ar fi:
a) Protecți a la verde antagonist;
b) Trecerea în galben intermitent a intersecției semaforizate atunci când apar defecte de
funcționare provocate din exterior sau nu;
c) Siguranța în exploatare;

16
d) Fiabilitate ridicată;
În cadrul unei intersecții semaforizate se definesc mai mulți termeni specifici și anume:
a) Direcție semaforizată -traseu stabilit de la intrarea în intersecție până la ieșirea din
intersecție. o intersecție are mai multe direcții;
b) Linie independenta de semaforizare -este alcătuită din direcțiile semaforizate care
funcționează cu același program de semaforizare;
c) Verde antagonist – aparția simultană a culorii verde pe linii independente (situație
foarte periculoasă putând cauza accidente foarte grave).

1.4 Semaforizarea eficientă

În general sunt folosite b ecurile incandescente si cele cu halogen. Din cauza eficienței
scăzute a producție de becuri si a punct ului de esec (arderea filamentului) municipalitățile au
hotarât să se folosească de LED -uri deoarece sunt mai ieftine, au capacitate de iluminat mai
mare , si în cazul în care un LE D se arde mai ramân celelalte să lumineze.
Semnale luminoase customizabile – 3M High Visibility Signal – folosesc optica difuză
a luminii ș i lentile pentru a crea semnalul luminos. Lumina trece prin doua lentile de sticla din
spatele se mnalului luminos. Prima lentilă transformă lumina într -o minge uniformă de
lumină ,cu diametrul de 125 mm , trecând apoi prin a doua lentila. Folosind o folie specială de
aluminiu, acest e semnale erau mascate astfel să fie vă zute doar de pe anumite be nzi. Lentilele
fresn el concentreaza lumina si crează o uniformizare a luminii pentru banda respectivă .

În Statele Unite, semafoarele au becuri cu diametru de 300 mm. Înainte becurile trebuiau
să aibă diametru de 200 mm, dar au fost scoase în favoarea becurilor cu dimensiuni mai mari.
În Marea Britanie au fost introduse becurile de 300 mm, dar după folosirea acestora s -au
gândit că nu este necesară folosirea lor și au revenit la becurile de 200 mm.

Principalele motive pentru care a fost si mțită nevoia introducerii sistemelor de semaforizare
pe străzi sunt numărul mare de accidente rutiere în jurul intersectiilor și de blocajele de trafic.

17
Dacă scopul semaforului este acela de diminua numarul accidentelor și de a fluidiza
traficul, atunci s e pune în discuție problema eficientei semaforizării. Chiar dacă în mod
teoretic semaforizarea ar trebui sa fie benefică, în practică, nu orice intersecție trebuie
semaforizată.
Semafoarele pot avea deopotrivă atât efecte pozitive cât și efecte negative. Este
adevărat că în timp pot diminua numarul accidentelor “ din lateral ”, dar excesul de semafoare
și semaforizările ineficiente cresc frecvența accidentelor “ din spate ” și defavorizează pietonii
și cicliștii. Semafoarele pot creste capacitatea traficului la intersecții, însă, de asemenea, pot fi
cauza întârzierilor excesive în trafic.
În acest sens, Hans Monderman – inginer de trafic danez, un adevărat pionier in
domeniul resurselor partajate – declara : “ Ne dorim semafoare doar acolo unde sunt utile și e u
nu am gasit înca un astfel de loc .”
Pentru a înlatura efectele negative ale semafoarelor, de -a lungul anilor au fost propuse
numeroase metode de eficientizare a semaforizărilor, însă puține și-au atins scopul.
O prima îmbunătățire a fost introducerea s emafo arelor pietonale, care ușurează
trecerea în siguranța a pietonilor de pe o parte pe alta a străzii . În cazul unei intersectii a două
străzi, semafoarele pietonale nu îngreunează traficul, deoarece acestea se pot sincroniza cu
cele auto .Astfel semafo arele pietonale sunt verzi doar când semafoarele auto de pe aceeași
stradă sunt roșii, fapt care fluidizează traficul ( mașinile nu trebuie să oprească special pentru
trecerea pietonilor ).
În unele locuri, semafoarelor pietonale le sunt atașate dispoziti ve sonore ce au ca rol
ghidarea pietonilor orbi sau cu probleme de vedere. În Iași, aceste dispozitive sunt declanșate
doar în momentul în care semaforul pietonal indică verde, pe când în Australia, dispozitivul
emite efecte sonore slabe cât timp semaforul este roșu și efecte sonore mai puternice cât timp
este verde.

În unele locuri, semafoarele pietonale au atașat un
dispozitiv cu buton și sunt tot timpul roșii. Acestea se fac verzi

18
doar “ la cerere ” : în momentul în care pietonul apasă pe acel buton , semaforul pietonal se
schimbă din roșu în verde și cele auto corespunzătoare se schimbă din verde în roșu. În acest
fel, nu se întrerupe fluxul de mașini la un interval regulat de timp, ca la semafoarele normale,
ci doar în momentul în care există o cere re pietonala de traversare, fapt care marește
capacitatea traficului în acea intersectie.
În aceiași ordine de idei, o îmbunătățire a constituit -o introducerea semafoarelor
pentru cicliști, care ușurează traficul acolo unde sunt piste de cicliști.
Încă d e la cel de -al treilea sistem de semaforizare oficial ( 1914 ), s -a pus problema
controlării semaforizării în cazuri de urgență. Acest lucru se referă la modificarea fazelor
semafoarelor unei intersecții astfel încât să faciliteze trecerea mai rapidă a veh iculelor de
urgența ( mașini de poliție, ambulanțe, mașini de pompieri etc. ). În majoritatea cazurilor,
acest lucru nu se mai realizează ca în 1914, unde centralista care primea apelul de urgența
“construia ” ruta mașinii și modifica manual starea semafoar elor de pe acea rută, ci se folosesc
transmițătoare instalate pe aceste mașini care emit unde radio sau unde infraroșii ce pot fi
captate de semafoare. În momentul în care un semafor primeste semnalul transmis de mașina,
acesta își schimbă culoarea în roșu , indiferent de starea anterioara. Astfel, în momentul
producerii unei urgențe( accident, incendiu etc. )se blochează toata intersecția, facilitând
circulația mașinilor de urgență fără perturbații. Dupa trecerea mașinii ce a declanșat ciclul de
urgență, se mafoarele își reiau activitatea în regim normal.
Mai nou, acest tip de control al semaforizării în caz de urgență se realizează automat
prin intermediul semnalului gps: mașinile cu prioritate sunt monitorizate constant, iar cand se
apropie de o intersecț ie, aceasta intră în ciclul de urgență, și revine la normal după ce mașina a
depașit intersecția.
Odată implementat un astfel de sistem, “ mașinile de urgență ” se pot extinde, în sensul
în care și alte mașini pot beneficia de o prioritizare în trafic. Acest lucru s -a încercat și la Iași
prin proiectul “ Civitas ” din cadrul proiectului “ Archimedes ”, prin intermediul căruia toate
vehiculele de transport în comun ar fi trebuit să beneficieze de această prioritizare în trafic.
O altă inovație este constituita din cronometrarea fazelor semafoarelor.

Astfel, semafoare arată nu numai starea ( verde/galben/roșu ) ci și
durata de timp a acestora. Adevărata utilitate a acestora este pusă la îndoială, deoarece, chiar

19
dacă ofera atât pietonilor cât și șoferilor un p lus de informație care poate fi utilă pentru
planificarea traversării intersecției, limitează modul de schimbare al fazelor semafoarelor care
implementează o soluție “ dinamică ”( ex: semaforizarea în caz de urgență ).
Pentru anumite tipuri speciale de vehi cule s -au creat semafoare speciale. Un exemplu
în acest sens este semaforul pentru tramvai. Acesta are patru becuri de aceeași culoare( în
general albă ) care sunt poziționate sub forma unui “ T”. Modul in care sunt aprinse indică
grafic direcția de mers:

Altă îmbunătățire o constituie instalarea unor senzori în intersectii, senzori care detectează
prezența mașinilor. Cu ajutorul senzorului folosit ca un declanșator, se aplică cazul
semaforizării “ la cerere ” de la semafoarele pietonale cu buton: în momen tul în care se apropie
o mașină de intersecție, senzorul o detectează și semaforul încearcă să își schimbe starea( din
roșu în verde ). Dacă nu este declanșat senzorul, semaforul ramane roșu. În realitate, în multe
cazuri, senzorul nu putea detecta bicicle te sau mașini mici, acest sistem dovedindu -se
ineficient.
O soluție a fost renunțarea la senzori și dotarea semafoarelor cu camere infraroșii.
Acestea și -au gasit o nouă utilitate: monitorizarea traficului și raportarea oricarei încălcări a
legislației tr aficului. În acest sens, în momentul în care semaforul intră în faza roșie, camera
este programată să fotografieze orice vehicul care nu respectă culoarea semaforului și trece pe
roșu.
Cu tot cu aceste inovații care tind să crească eficiența semmaforizări lor, în viața reală
nu are loc întotdeauna fluidizarea traficului. Acest rezultat parțial nesatisfăcător a condus la
crearea unui nou concept, acel de “ Semaforizare inteligentă ”.

20

1.5 Semaforizarea – Semaforizarea inteligentă

Sistemele de semaforiza re au evoluat în timp de la o simpla automatizare la un
management al traficului din ce în ce mai inteligent. Cele mai simple semafoare se bazează pe
un ceas intern, pe baza căruia alocă fiecarei stare( roșu/galben/verde ) o anumita perioadă de
timp predef inită. Acest model de semaforizare este des întâlnit în orașe, unde fluxul de mașini
este previzibil, dacă nu chiar constant. În acest sens, semaforizarea “ simplă ” poate face față
unor scenarii predefinite( ore de vârf, zile de sărbătoare, etc. ), dar poat e fi depășită într -o
situație “ ieșită din comun ”( ex: trafic atipic într -o duminică dupa -amiază ). Pentru a putea face
față oricarui scenariu de trafic, trebuie să existe o legătură, un mod de comunicare între
mașină și semafoare. S -au mai încercat “ comuni cări” prin intermediul senzorilor de
proximitate sau de presiune, însă, pentru ca semaforul să poată lua decizia cea mai bună,
trebuie să existe o legatură mult mai strânsă între acesta și mașini.
Una din cele mai realiste și des întâlnite soluții pentru o semaforizare inteligentă este
aceea ca fiecare vehicul să raporteze semaforului poziția sa și destinația. Pe baza acestor date,
semaforul ar trebui să fie capabil să ia cea mai bună decizie( ex: care bandă să fie verde )care
să minimizeze durata de aștept are medie a mașinilor până ajung la destinație. Semaforul
inteligent rezolvă această problemă calculând un “ scor” pentru fiecare mașină. Acest scor
reprezintă

diferența dintre durata estimată de timp în care fiecare vehicul ar ajunge la destinație dacă
semaforul ar fi verde și durata estimată de timp în care fiecare vehicul ar ajunge la destinație
dacă semaforul ar fi roșu. Următorul pas este ca semaforul să determine care acțiune
maximizează scorul mediu al fiecarui vehicul.
Datorită faptului că semafoar ele sunt interconectate, există posibilitatea ca acestea să
dirijeze traficul pe alte rute în cazul în care o rută este prea aglomerată sau în cazul producerii
unui accident sau blocaj.
Există și alte abordări ale unei semaforizări inteligente, însă princi piul de bază nu
diferă: folosirea de sisteme multi -agent în care comunicarea și coordonarea joacă un rol foarte
important.
Cu toate că există multe implementări ale acestui tip de sistem( conform Primariei
există și în Iași încă din 2010 ), nu s -a gasit o soluție optima generală.

21
În unele țări ca Australia sau Irlanda, semafoarele pietonale sunt asociate cu un
dispozitiv de sunet, pentru ajutorul pietonilor nevazători sau cu deficiențe de vedere. Acestea
fac un bip scurt cât timp semaforul este roșu, și u n sunet continuu când semforul s -a făcut
verde. Acest sistem de asistență este utilizat, de asemenea, pe scară largă la intersecțiile
aglomerate din orașele canadiene.
În Marea Britanie, semafoarele pietonale vor bipui scurt în momentul în care
semaforul s-a făcut verde. Acestea pe timpul nopții sunt oprite, pentru ca locuitorii din
apropierea lor să nu fie deranjați de sunet.
În Australia, secvența luminilor semaforului este:
 Omul VERDE – permite traversarea intesecției.
 Omul ROȘU Intermitent – permite cont inuarea traversării intersecției dacă ai
fost prins în intersecție.
 Omul ROȘU – nu permite traversarea intersecției.

Unele semafoare pietonale din Melbourne au un numarator, care de obicei numără
descrescător de la 30 când lumina roșie intermitentă apare . Unele semafoare au o lumină care
oprește traficul autovehiculelor din intersecție în același timp, pentru a lăsa pietonii să
traverseze intersecția in orice direcție -inclusiv pe diagonală. Acest lucru este cunoscut in
unele zone ca ” încăierare pietona lă”.

22

„Incaierare pietonala”

Standardele Europene

Semafor pentru bicicliști -Viena

Majoritatea țărilor Europene folosesc portocaliu în loc de galben, pentru culoarea din
centru semaforului.
Secvența luminilor semaforului este:
 VERDE -permite trecerea
 GALBEN sau PORTOCALIU – continuă trecerea dacă nu se poate opri mașina în
condiții de siguranță
 GALBEN/PORTOCALIU Intermitent – trecere cu atenție
 ROȘU – Stop
În Germania, Cehia și alte câteva țări Central Europene , o combinație de roșu si portocaliu
este folo sită chiar înainte de a se trece înapoi la verde. Secvența luminilor este următoarea:
 Verde – permite trecerea

23
 Portocaliu – continuă trecerea dacă nu se poate opri mașina în condiții de siguranță
 Portocaliu intermitent – trecere cu atenție
 Roșu – stop.
 Roșu ș i Portocaliu – nu permite trecerea -urmează verde.

În China, culorile semaforului sunt Roșu/Portocaliu(NU permit traversarea intersecției),
galben și galben intermitent(NU permit traversarea intersecției), Albastru/Alb (permit
trecerea)

24
Capitolul 2
Avantajele ș i dezavantajele unei semaforizări inteligente

Avantajele acestui sistem:

1. Îmbunătațirea condițiilor de trafic, care duc la fluidizarea acestuia.
2. Semnalizarea echipamentelor defecte din intersecții și posibilitatea intervenției pentru
remedierea acestora.
3. Imbunătățirea serviciilor vehiculelor de intervenție – Poliție, Ambulanță, Pompieri
prin crearea unei faze de blocare a intersectiei
4. Imbunatatirea gradului de confort atat pentru conducatorii auto, cat si pentru pietonii
5. Eliminarea blocajelor la orele de varf
6. Overificarea traficului/ a conditiilor de trafic prin intermediul unui centru de control
7. O analiză statistică riguroasă a condițiilor de trafic în funcție de intervale orare, sezon,
condiții meteorologice, diverse evenimente s au manifestații
8. Limitarea numarului de accidente rutiere si victime
9. O infrastructură modernă de dirijare a circulației auto/pietonale la standarde
occidentale

Principalele dezavantaje ale folosirii unui sistem inteligent de semaforizare:

1. Cel mai mare d ezavantaj al unui astfel de proiect, îl reprezintă costul .Pornind de la
echipamentele necesare (camere de supraveghere, servere,terminale), achiziționarea
software -ului necesar , totalul de plată poate fi descurajant .
2. Necesitatea unei verificării periodic e si a unei securizări ridicate a unui astfel de
sistem complex
3. Nu exista garanția unei colaboră ri cu firmele de transport in comun
4. Complicarea situatiei pentru un oras/municipiu cu tramvaie care nu introduce decat un
alt factor in analiza acestei probleme complexe

25
2.1 Viitorul semafoarelor

Deja nu mai putem numi folosirea de led -uri (Light -Emitting Diode) ca fiind o
inovație, deja peste 50% din fostele elemente de semaforizare au fost înlocuite cu versiuni
ecologice, ce consumă mai puțin și au o durat ă de viață mai mare.
Partea de inovație are în vedere îmbunătățirea elementelor acti ve ce participă la acest
proces; și anume îmbunătațirea design -ului semafoarelor și concentrarea atenției asupra
acestora.
Semafoarele au fost inventate în anii 20, iar p ână acum acestea nu și -au schimbat
deloc design -ul. Acest fapt este un clar indicator al reușitei conceptului de semafor, însă,
datorită numărului tot mai mare de autoturisme care apar pe zi, circa 150.000 , nevoia de
îmbunătățiri devine evidentă .

Un pas spre viitor este făcut ce compania americană Ford, care după ce deja a uimit
publicul cu sistemele integrate în ultimele modele de mașini lansate pe piață, de exemplu
”Frânarea activă inteligentă ” (un sistem ce utilizează un radar care detectează și frâne ză în
funcție de distanță față de autovehicolul din față), ” Asistență pentru pastrarea benzii ” și chiar
”Recunoaștere Automată a semnelor de circulație ”.
Compania a lansat în martie 2011 un comunicat de presă, în era descris următorul
proiect la care lucr ează. Este vorba de un sistem bazat pe poziționarea GPS. Dotarea fiecarui
autoturism cu un astfel de dispozitiv va permite semafoarelor ( în ideea creării de sisteme
independente ) să ia decizii în funcție de trafic. Dacă de exemplu un autoturism se apropi e cu
viteză prea mare de o intersecție (date primite prin GPS), iar culoarea semaforului este roșie,

26

sistemul va sesiza ca respectivul autovehicul este un pericol pentru ceilalți participanți la
trafic , atenționându -i pe aceștia .
Aici intervine sistemul pr opriu al autotorismelor ce primesc semnalul, care
reacționează și atenționează conducătorii auto de necesitatea de a frâna. Dacă acesta nu
decelerează destul de rapid, se vor amplifica avertismentele sonore din interiorul mașinii și
într-un caz final, chia r va frâna pentru acesta.

Compania Siemens a început să lucreze la un proiect legat de sistemul de semaforizare.
Aceștia au creat un sistem de microsimulare 3D. Beneficiile acestui sistem: simulări ieftine și
rapide pentru diverse scenarii de test, o înțe legere mai bună a conceptelor aplicate în traficul
de zi cu zi, etc.

27
Astfel de aplicații sunt absolut vitale pentru dezvoltarea și progresul mijloacelor de
semaforizare, în special în zilele noastre, deoarece fluidizarea a devenit o necesitate, nu doar
ceva util. O altă direcție în acest sens a fost propusă de designerul Hanyoung Lee. Acesta a
creat așa numitul ”Perete Virtual”, care este în principiu o barieră laser, care afișează persoae
ce trec strada. Laserele sunt perfect sigure, puterea lor nefiind una prea mare, dar cel mai
probabil sunt destul de puternice pentru a opri o mașină. Imaginile vorbesc de la sine:

28
2.2 Implementarea unui semafor utilizand VHDL

Așa cum s -a observat și în cadrul cursului „Proiectarea Asistată a Circuitelor
Electronice”, un semafor simplu de trafic, poate fi implementat cu ajutorul unei mașinii de
stare, avand urmatoarea diagrama:

Diagrama logică pentru un semafor de trafic este urmatoarea:

29

Circuitul deține control asupra drumului Nord -Sud și al cel ui Est -Vest. Luminile de la
Nord-Sud sunt controlate cu ajutorul ieșirilor NSr, NSy si NSg(NS rosu, NS galben, NS
verde). Drumul EV este con trolat cu ajutorul ieșirilor EV r, EVy și E Vg.
Ciclul este controlat cu ajutorul unei intrari denumite TIMER(crono metru). Cand
cronometrul TIMER=1, o translatie de la s0 la s1 sau de la s2 la s3 este posibilă. Această
translație este acompaniată de o schimare a culorii semaforului de la verde la galben, pe
drumul activ. Semaforul de pe celalat drum ramane rosu.
O translatie neconditionată urmează, schimbâ nd lumina semaforului din galben în roșu
pe un drum iar pe celă lalt lumina roș ie devine verde.

Dupa crearea fisierului VHDL ( alegerea produsului tinta: Spartan 3; a simulatorului:
Modelsim -XE VHDL; a limbajului de programare: VHDL, definirea porturilor de intrare –
iesire), vom prelucra codul sursa al numaratorului si al masinii de stare, unde avem declarate
intrarile -iesirile(in partea de entitate) si este descrisa functuonarea programului (partea de
arhitectura).
Programarea semaforului folosind VHDL – Anexa 1

După introducerea codului și verificarea acestuia, pentru a nu exista greșeli de sintaxă,
setăm apoi valorile pentru ceas, respectiv lungimea initiala a testului astfel:

30

În continuare, definim parametrii pentru test, și anume:
-parametrul clock este d efinit in mod implicit ca semnal de ceas și nu ne rămane decât să
inițializăm reset la primul semnal de ceas.

Rezultatul simulării este:

31

32

Capitolul 3
Automatul local de semaforizare

Pentru a prezenta structura propu să pentru automatul local de semaforizare este mai
întai necesară definirea funcțiilor ce se doresc a fi realizate precum și a elementelor
component e.Prin program de semaforizare se înțelege o succesiune de stări ale indicatorilor
de dirijare a traficului a cărei evoluție este dată de semnalele de la ieșirea detectorilor la
momente date de timp.
Detectorii sunt traductori bazați principal pe fenomene fizice diferite cum ar fi
traductorii inductivi, radar, optici sau relee, contacte, care furnizează un semnal logic ce
indică prezența sau nu într -o anumită locație fizică a unui participant la trafic.

3.1 Cerințe funcționale impuse automatului de semaf orizare

Semafoarele convenționale nu funcționează eficient în cele mai multe situații, apărând
astfel aglomerările.
Sistemele de semaforizare clasice folosesc PLC -uri. Problema PLC -urilor o reprezintă costul
controlerelor destul de ridicat,astfel încât pentru o singură intersecție semafoarele au un preț
foarte mare.
Obiectivele acestui proiect sunt:
 Studierea problemelor sistemului de trafic;
 Dezvoltarea programului microcontrolerului folosit pentru semafor, folosind
MicroBasic Pro;
 Implementarea progra mului in PIC;
 Aplicarea modelului circuitului pe placa de circuit;
 Rezolvarea problemelor de trafic (aglomerărilor);
 Reducerea costurilor controlerelor folosite pentru semafoare;
Scopul acestui proiect il reprezintă:

33
 proiectarea circuitului de semaforizare si programarea acestuia cu ajutorul PIC -ului.
 Rezolvarea aglomerarilor din trafic. Senzorii sunt așezași în partea laterală a
drumului. Senzorii pentru acest proiect au fost înlocuiți cu un senzor de tip
radar.(SFR04)

Schema de ansamblu a automatului de semaforizare este urmatoarea:

Acest automat are ca parti principale:
 8 semafoare pentru cele 4 direcții de mers(N,S,E,V -inainte și N,S,E,V -stânga)
 Microcontrolerul sistemului de trafic – PIC16F887
 Un counter
 Un senzor de tip radar – SFR04

34
3.2 Prezentarea compontelor automatului de semaforizare

Senzorul de tip radar – SFR04

Senzor de tip radar

Acest dispozitiv,SFR04, este folosit pentru a măsura distanța dintre punctul în care
este așezat și obiect utilizând unde ultrasonice. Acest sensor este folosit pentru a detecta
obstacole.
Specificații:
Tensiunea de alimentare: 5V;
Curentul: 15mA;
Frecvența: 40 k HZ
Distanța maximă: 400 cm;
Distanța minimă: 3 cm;
Rezoluția: 1 cm;
Dimensiunile dispozitivului: 43x20x15 mm
Mod de folosire:

35
Acest dispo zitiv folosește biblioteca sa specific și în plus biblioteca de bază Grove care sunt
incorporate in modelul Grove, disponibil de la IDE 2.3.
Comenzile software
Pașii pentru a folosi dispozitivul sunt:
 Inițializarea : dispozitivul este inițializat ca fiind de tipul ranger. Functia utilizată este
void*device_name=new(Ranger);
 definirea porturilor: senzorul trebuie conectat la un port digital(DIG1 -4);
 Configurarea
 Citirea datelor: datele pot fi citite direct, folosind funcția get(device_name ).
Exemplu de coma nda software a dispozitivului Grove:

Senzorii ultrasonici fără contact, măsoară distanțe intre 3cm si 3 m. Aceștia generează un
sunet ultrasonic(sau un bâzâit) și măsoară timpul până când ecoul se intoarce la receptor(fig
1).

36

 Ultrasunetele sunt vibraț ii elastice care au frecvența mai mare decât frecvența maximă
a oscilațiilor care produc senzația auditivă. Cea mai mare frecvență percepută de auz,
este de aproximativ 20 kHz.
 Pulsul ultrasonic se deplasează cu viteza sunetului. Viteza sunetului variază î n funcție
de presiune, umiditate și altitudine.
 Ieșirea din SFR04 depinde de distanța până la obiectul țintă.
 În timp ce unii senzori au un singur traductor, SFR04 are un receptor și un emițător
separat.
În utilizările robotice, SFR04 se folosește pentru evitarea unor obstacole sau pentru a
măsura distanțele.
Acționare:
 Utilizatorul trimite un impuls de declanșare către modulul SFR04.
 Pulsul de declanșare dat de utilizator determină o gamă ultrasonică care trimite la
iesire 8 pulsuri sonice la frecventa de 40 kHz.
 Pulsul de declanșare activează de asemenea și ecoul receptorului care așteaptă un ecou
de la impuls.
 Dacă este primit un ecou, SFR04 trimite la ieșire un puls proporțional cu distanța până
la obiectul detectat.

37
Conexiunile SFR04:

Raza de acope rire:

38

PIC16F887

Ideea proiectării unui semafor utilizând PIC este o adaptare a sistemelor clasice de
semaforizare. Semaforul este un important sistem pentra a controla fluxul traficului, în special
în intersecții. Sistemele clasice de semafori zare nu pot opera eficient, cum am menționat mai
sus. Din cauza acestor probleme, ideea dezvoltării unui sistem inteligent de semaforizare, la
un preț mai redus, a fost luată in considerare.
În acest proiect, microcontrolerul sistemului de trafic este proi ectat cu ajutorul PIC16F877 .

PIC16F887 este unul dintre cele mai noi produse ale Microchip. Conține toate
componentele ca re au actualizat în mod normal, microcontrolere. Are un pret scazut, o gamă
largă de aplicare,este de înaltă calitate, aceasta fiind o soluție ideală în aplicațiile de control a
diferitelor procese în industrie, de măsurare a difer itelor valori etc. Unele dintre principalele
sale caracteristici sunt enumerate mai jos.
– arhitectură RISC performantă cu doar 35 de instrucțiuni; instrucțiunile au un format fix
de 14 biti; adresare directă, indirectă și relativă;
– frecvența de lucru 20MHz;
– memorie de program de tip Flash cu capacitate maximă de 8K*14 biți;
– memoria de date de tip RAM de maxim 368*8 biți;
– memorie de date nevolatilă (EEPROM) de maxim 256*8 biti;

39
– memorie stivă de 8 poziții;
– 14 surse de întrerupere;
– programabil pe o linie serial ă (pe 2 pini);
– contoare: Timer0 (8 biți), Timer1 (16 biți), Timer2 (8 biți);
– PWM cu rezoluție pe 10 biți;
– convertor analog -numeric multicanal pe 10 biți;
– interfețe seriale:
 interfață sincronă –
și I2C(Ma ster/Slave);
 interfață asincronă – Universal Synchronous Asynchronous Receiver
Transmitter (USART/SCI) cu detecție de adresă pe 9 -biți;
– interfețe paralele – Parallel Slave Port (PSP) pe 8 -biți.

40

Setul de instrucțiuni
Microcontroloarele din familia PIC16 folosesc un format de instrucțiune de 14 biți.
Instrucțiunile sunt de 3 tipuri:
o instructiuni pe octet
o instrucțiuni pe bit
o operații cu literal si de control
Pentru instrucțiunile pe octet parametrul “f” reprezintă indicatorul de registrul (file
regis ter) care se folosește în instrucțiune, iar parametrul “d” indicatorul de destinație. Dacă

41
d=0 rezultatul se pune în registrul “W”, iar dacă d=1 rezultatul se pune în registrul indicat
de “f”.
Pentru instrucțiuni pe bit “b” reprezintă un indicator al bitu lui care va fi afectat de
instrucțiune, iar “f” este adresa registrului unde se află bitul. La instrucțiunile cu literal
sau de control “k” reprezintă o constantă sau un literal reprezentat pe 8 sau 11 biți.
O instrucțiune se execută în unu sau cel mult 2 cicluri; un ciclu de instrucțiune durează
4 cicluri de ceas, ceea ce înseamnă că la o frecvență a ceasului de 4MHz o instrucțiune
uzuală se execută în 1μs. Orice instrucțiune care operează cu un registru efectuează o
operație de tip “citește -modifică -scrie”. Astfel se efectuează o citire chiar și în cazul în care
instrucțiunea precizează o operație de scriere. Tabelul de mai jos prezintă succint setul de
instrucțiuni pentru familia PIC16.
Porturile paralele PORTA, PORTB, PORTC, PORTD și PORTE pot fi confi gurate la
nivel de bit ca și intrări sau ieșiri. Fiecărui port îi este atasat un registru de configurare
(TRISA pentru PORTA, TRISB pentru PORTB și așa mai departe) care determină direcția
de intrare sau de ieșire a fiecarui bit al portului. Dacă în regist rul TRISA un anumit bit este
0 atunci bitul corespunzător din PORTA este ieșire, iar dacă este setat pe 1 atunci bitul
corespunzator din PORTA este intrare. Anumiți pini ai circuitului corespunzători porturilor
paralele au funcții multiple (ex: intrare/ies ire, intrerupere, intrare analogică, etc.). Prin
configurare se alege funcția dorită a pinului. Din această cauză unele funcții/interfete sunt
reciproc exclusive.

Schema internă a circuitului PIC16F877

42

Comunicarea dintre placa cu microcontroler și cal culator s -a realizat prin comunicația
serială.
Comunicațiile seriale nu sunt nici mai rapide, nici mai ieftine decât cele paralele, dar
permit transferul de informație între echipamentele aflate la distanțe foarte mari.
Comunicația serială utilizează un nu mar redus de fire. În comunicația serială, la transmisie
se utilizează un registru paralel -serie iar la recepție un registru serie -paralel. Pentru a
permite compatibilitatea echipamentelor realizate de diferiți producători, s -a adoptat
standardul numit RS2 32 realizat de EIA(electronics industries Association) în 1960,
modificat apoi în mai multe rânduri.

Comunicație serială

USB sau Magistrala Serială Universală este un nou standard de comunicație serială de
viteză mică, care are ca scop interfațarea mai usoara intre echipamente periferice si calculator,
fara sa fie nevoie sa se instaleze cate o placa PCI pentru fiecare periferic nou, fara configurare
manuala sau necesitatea restartarii sistemului. Latimea de banda a portului USB este de 1.5

43
Mo/s, împarți tă între maxim 127 de dispozitive atașate. Cablul de comunicaț ie are 4 f ire din
care doua sunt de date ș i doua pentru alimentare (5V s i 0V). Pentru a face mai usoară
interconectarea î ntre echipamate, se folosesc conectori standard Master si Slave. Lungimea
cablului este de maxim 5m. Acesta are la un capat conectori de tip A, pentru conectarea la
calculator (master) si la celalalt conectori de tip B, petru conectare la periferic (slave).

Acest proiect conține și un numărător , care este atașat PIC -ului.

Acest numarator este cu afișaj numeric cu două cifre, o singură culoare(roșu), pe șapte
segmente.
Numărătoarele sunt circuite secvențiale utilizate pentru contorizarea impulsurilor
aplicate la intrarea acestora. Nu au intrări de date, deci tranzițiile s e efectuează
după o anumită regulă, numai pe baza stării prezente. Pentru fiecare număr din gama de

44
numărare, există câte o stare distinctă a numărătorului. Capacitatea de numărare este
dată de numărul stărilor distincte pe care le are numărătorul.
Numărăt oarele se pot realiza cu ajutorul bistabilelor și a porților logice, cele
din urmă având rolul de a stabili modul corect în care numărătorul își schimbă stările în
procesul de numărare. Numărul stărilor distincte ale unui numărător format din n bistabile
este 2n, deci numărătorul este modulo 2 n. Fiecărei stări i se poate asocia câte un
cuvânt de cod binar de lungime n, reprezentând ieșirile celor n bistabile pentru starea
dată a numărătorului.
Codul de numărare este dat de succesiunea cuvintelor de cod asoc iate stărilor
numărătorului.
Clasificarea numărătoarelor se poate face după mai multe criterii.
1) După codul de numărare există numărătoare binare și numărătoare binarzecimale,
de exemplu în cod BCD, în cod Gray etc.
2) După modul de comutare a bistabilel or există numărătoare asincrone și sincrone.
3) După sensul de numărare există numărătoare directe, inverse și reversibile.
Există numărătoare care dispun de anumite facilități suplimentare, ca de exemplu
posibilitatea încărcării cu o anumită valoare, prog ramarea sensului de numărare,
inițializarea sincronă sau asincronă.
Caracteristici:
 dimensiuni 22x16x8.0mm;

 înalțimea 10.0mm;
 culoare: roșu, verde și portocaliu;
 dispozitivul are suprafața vopsită cu negru -segmentele fiind colorate, cifrele(segmetele
care formează cifra) devenind invizibile când este stins;
 unghiul vizual -larg;
 anodul și catodul – sunt comune pentru fiecare culoare. -fig 1.

45

Fig 1.Digit comun

Conectarea pinilor:

Nr. pinului Funcționarea (segmentul
funcțional) Nr.pinului Funcționarea (segmentul
funcțional)
1. Segmentul 1c 9. Segmentul 2g
2. Segmentul 1e 10. Segmentul 2a
3. Segmentul 1d 11. Segmentul 2f
4. Cifra 1 comună* 12. Segmentul 2b
5. Cifra 2 comună * 13. Segmentul 1b
6. Segmentul 2d 14. Segmentul 1f
7. Segmentul 2e 15. Segmentul 1a
8. Segmentul 2c 16. Segmentul 1g

* Cifra comună 1 și cifra 2 comună reprezintă punctul dintre cele două cifre.
Ex:

46

De asemenea, această placă conține și un oscilator de cuarț de 12 MHz. În ceea c e
privește ledurile semafoarelor acestea sunt utilizate pentru simularea și testarea programului,
putând fi înlocuite cu arii de leduri(ariile de leduri include un număr mai mare de leduri cu un
driver de led -sursă de alimentare) pentru intersecțiile mai m ari.

47

Capitolul 4
Elementele software ale aplicatiei

MikroBasic este un puternic instrument de dezvoltare pentru microcontrolere PIC, ce
are un ansamblu vast de caracteristici. A fost creat pentru a oferi clientului cea mai ușo ară
soluție în dezvoltarea aplicațiilor fixe, fără a compromite performanța sau comanda acestora.
Extrem de avansat, cu o gamă largă de hardware -uri, o documentație cuprinzătoare și o
mulțime de alte exemple ar trebui să fie mai mult decât suficient pentru a te introduce în
programarea de microcontrolere.

MikroBasic îți permite să dezvolți și să desfășori diferite aplicații:

48
-Scrie codul sursei de bază folosind Code Editor;
-Folosește bibliotecile incluse in mikroBasic pentru a accelera viteza progresul ui, informații
achiziționate, memorie, afișări, transformări, comunicații etc.
-Monitorizează structura, variabilele și funcțiile programului tău în Code Explorer;
-Verifică și înlătură erorile cu Debugger;
-La sfârșit, verifică statisticile demersului tău ;
-Iată diverse exemple pentru a putea extinde și dezvolta viitoarele proiecte:

Code Editor

Code Editor este un editor de text foarte util când vine vorba de acțiunile Copy, Paste,
Undo sau auto -corectări, bookmark -uri, șabloane, highlight -uri etc.
Pentru a personaliza opțiunile se accesează Editor Settings, apoi click pe Tools.
Code Editor include:
-Code Assistant [CTRL+SPACE] –dacă scrieți primele litere dintr -un cuvânt și apoi
apăsați CTRL+SPACE, toate cuvintele care se potrivesc vă vor apărea într -un panou
separat (vezi imaginea).

49

-Parameter Assistant [CTRL+SHIFT+SPACE ] – această opțiune este invocată imediat
ce deschideți o paranteză „(”sau apăsați CTRL+SHIFT+SPACE. Dacă numele funcției
sau procedurii precede paranteza, atunci parametrii doriți v or apărea într -un panou.

-Code Template [CTRL+J] – se poate insera prin scrierea numelui șablonului (de
exemplu whileb), apoi tastarea simultană a CTRL+J, iar codul va fi generat automat. De
asemenea, șablonul mai poate fi selectat și din lista de pe ba ra de instrumente Code.
-Auto Correct – corectează anumite greșeli de scriere. Se poate accesa din meniul din
Editor >Settings Editor > Auto Correct.
-Comment -Uncomment – se poate accesa din Code Toolbar și permite utilizatorului să
adauge/șteargă coment arii la codul selectat.

-Bookmarks și Goto Line – permit navigarea mai ușoară.
Pentru bookmark -uri:
CTRL+ <număr> :Goto bookmark
CTRL+SHIFT+<număr> : Set bookmark
Pentru Goto line:

50
CTRL+G
CODE EXPLORER
Este plasat in stânga ferestrei principale, oferin d o vizualizare clară a fiecărui item
declarat în sursă. Se poate declara orice item printr -un simplu click dreapta sau de la icon -ul
Find Declaration.
De asemenea, mai pot fi folosite încă două tab -uri în Code Explorer. QHelp listează
toate funcțiile bibl iotecii pentru o referință rapidă. Keyboard listează toate shortcut -urile
posibile în mikroBasic.

DEBUGGER
Este o componentă integrală a mikroBasic -ului. A fost creat să ajute utilizatorul in
eliminarea erorilor din software.
ERROW WINDOW
În cazul în c are erorile apar în timpul alcătuirii, ele for fi raportate pentru a nu genera
neplăceri. Error Window va apărea în josul ferestrei principale. Această fereastră de erori
arată unde sunt localizate erorile și d ece tip sunt acestea.

51

CREAREA UNEI APLICAȚI I
Crearea de aplicații în MikroBasic este ușoară și intuitivă. Un proiect se compune din
doar câteva click -uri: numește aplicația, selectează chip -ul, setează variabila și începe lucrul.
MikroBasic îți permite să -ți distribui proiectele în cât mai multe mo dule pe care le
consideri potrivite. Poți distribui biblioteca ta MikroCompiled (fișier cu extensia .mcl) cu alți
dezvoltatori fără a dezvălui sursa codului. Cea mai interesantă parte este aceea că poți folosi
legăturile de tip .mcl create în mikroPascal s au mikroC!
PROIECTE
MikroBasic organizează aplicațiile în proiecte, constând într -un singur proiect
(extensia .pbp) sau mai multe proiecte (extensia .pbas).
Proiect nou

Cea mai ușăară cale de a crea un nou proiect este din menu -ul Project > New Project.
Doar completează câmpurile libere și mikroBasic va crea fișierul proiectului.
Editarea proiectului

Poți modifica setările proiectului inițial accesând menu -ul Project > Edit.
Compilarea

52

După ce vei fi creat proiectul, vei dori să îl compilezi. Select ează Project > Build sau,
mai simplu, apasă pe Build Icon CTRL+F9. Va apărea o bară ce indică progresul compilării.
În cazul în care există erori, Error Window va trimite notificări.
Codul sursă al acestui program a fost realizat in MikroBasic.(vezi anexa 2).
Acest program va rula în următoarea ordine:
-scanarea obiectelor utilizând modulele Ultrasonic GROVE și memorarea celui mai
mare număr de obiecte detectate, iar daca nu au fost detectate obiecte programul va
funcționa dupa counter in ordinea urmatoare :
 30 de secunde pentru virajul la stânga pe direcția SUD -NORD;
 +3 secunde pentru trecerea de la verde la roșu prin galben;
 60 de secunde pentru direcția înainte SUD -NORD;
 +3 secunde pentru trecerea de la verde la roșu prin galben;

 30 de secunde pentru vir ajul la stânga pe direcția EST -VEST;
 +3 secunde pentru trecerea de la verde la roșu prin galben;
 60 secunde pentru direcția înainte EST -VEST;
 +3 secunde pentru trecerea de la verde la roșu prin galben;
Întregul program va dura 192 de secunde fără incremen tarea dată de scanarea obiectelor
realizată de modulul Grove ultrasonic.
Pentru mersul înainte S -N și E -V sunt alocate 60 de secunde deoarece nu există bandă separat
pentru direcția dreapta , folosindu -se banda de înainte și pentru dreapta.

În codul sur să al acestui proiect(anexa 2), se găsesc atât programarea PIC -ului și a
counter -ului cât și programarea senzorului de tip radar (Grove).
Pentru counter :
 se declara variabilele de intrare, ieșire;
 se realizează conversia binară pentru afișor;
 Se realizeaz ă rutina de întrerupere -de obținere a counter -ului:
o Se opresc toate cele 7 segmente ale display -ului(se sting)

53
o Se selectează bitul care trebuie să lucreze
o Se aprinde segmentul/segmentele corespunzătoare pentru obținerea cifrei.
o Se incrementează cifra.
 Se realizează conversia din binar în digital, prin extragerea cifrei miilor, a sutelor, a
zecilor, respectiv a unitaților și incrementarea acestora, pentru afișajul ulterior.

Pentru PIC:
 Sunt configurați pinii ca intrări sau ca ieșiri, iar variabilele se i nițializează.

54
Configurare parametri lor- STÂ NGA :
o Porturile RA6 si RA7 sunt folosite de oscilator (quarz) ;
o orientare EW |SN |EW |SN |EW |SN |
o PORTA RA0|RA1|RA2|RA3|RA4|RA5|
o BYTE 0 1 2 3 4 5
o valoare 0 0 0 0 1 1 ledurile verzi = ON
o valoare 0 0 1 1 0 0 ledurile galbene = ON
o valoare 1 1 0 0 0 0 ledurile rosii = ON
o Prin combinarea valorilor Byte se stabilește modul de funcționare al semaforului.

Configurarea parametrilor – INAINTE și PIETONI:
o PORTB RB0|RB1|RB2|RB3|RB4|RB5|RB6|RB7|
o BYTE 0 1 2 3 4 5 6 7
o valoare 0 0 0 0 1 1 0 0 ledurile verzi = ON
o valoare 0 0 1 1 0 0 0 0 ledurile galbene = ON
o valoare 1 1 0 0 0 0 0 0 ledurile rosii = ON
o valoare 0 0 0 0 0 0 1 0 led pieton rosu = ON
o valoare 0 0 0 0 0 0 0 1 led pieton verde = ON
o Prin combinarea valorilor Byte se stabileste modul de functionare semafor
o În program, valorile binare se vor pun e de la dreapta la stânga(RA0 este poziționat in
dreapta iar RA5 în stânga)

În ultima parte a programului, din anexa 2, se stabilește funcționarea semaforului în
funcție de counter si de sonar , dar și funcționarea sonarului . Programul începe de la
secund a 0 (0000), și după va rula în ordinea amintită mai sus.

55

Porturile RC0,RC1,RC2,RC3 sunt utilizate de catre module grove ultrasonic .(în cadrul
simulării sonarului -din Anexa 2).
Programul de scanare obiecte și de incrementarea timpului suplimentar in func ție de
obiectele detectate, de distanța până la acestea, se regasește în programul pentru simularea
sonarului(Anexa 2). S canarea obiectelor se face o singură dată pe ciclu de lucru , pe toate
benzile și se va lua în considerare valoarea cea mai mare de la cele 4 porturi.
Programul pentru sonar, functioneaza dupa cum urmeaza:
 Se gener ează pulsul ping ;
 Se citește numărul ecourilor și distanța dintre ecou si ping;
 Se așteaptă receptarea ecoului;
 Se citește numărul de ecouri folosin funcția TMR 1;
 Când ecoul este recepționat, funcția TMR innumără;
 Se convertește distanța dintre ping și ecouri.
 Se memorea ză numarul de obiecte scanate pentru incrementare.

56

57

Capitolul 5
Concluzii

Realizarea practică a acestui automat local permite semaforizarea intersecțiilor de
orice natură, de orice mărime și oricât de complexe ar fi.
Pentru fluidizarea traficului, automatele l ocale ce deservesc intersecțiile dintr -un oraș, pot fi
sincronizate între ele, astfel încat un participant la trafic, odată ce a pornit pe culoarea verde
dintr -o intersecție, să poată merge fără oprire până la destinație, ne fiind nevoit să oprească la
culoarea roșie a unui semafor întâlnit pe traseu.
Semafoarele convenționale, care numără mereu mașinile fără a ține cont de
schimbările de densitate ale traficului, vor fi înlocuite de o nouă generație de semafoare cu
sisteme mai inteligente care determină timpul în funcție de densitatea tra ficului. Acest concept
ajută la evitarea unor posibile blocaje sau aglomerări. În simularea sistemului, sunt examinate
diferite condiții și situații cu diverși parametri. Asemenea densității reale a mașinilor în trafic,
parametrii densității în cadrul simulării se schimbă, în scopul evaluării performanței
sistemului în diferite condiții ale tarficului . În concluzie, acest sistem indică cea mai bună
performanță prin minimalizarea duratei de așteptare , determinând mai puțină poluare din
punct de vedere a mediului, dar și a zgomotului, pace și o șansă mai bună la viață.

58

Abstract

The smart traffic light controller system provides a better and more logical
performance than conventional static traffic light (fixed -time), through utilizing the concept of
embedded systems. This monitoring performance is equal to traffic controlling by a traffic
policeman hence making the system dynamic and intelligent enough to control the lanes
according to their density and priorit y.
Conventional traffic lights, which continually only count the number of cars without
attention to the change in traffic densities, are replaced with a new generation of this smart
traffic lights systems which determines time according to traffic densit y. This concept also
helps in avoiding any kind of potential deadlock and congestions. In the simulation of this
controller system, different conditions and situatons are examined with various parametres.
Like the real density of cars in streets, the param etres of density in simulation are changeable
in order to evaluate the performance of the system in different traffic conditions. Finally, this
system indicated the better performance though minimizing the waiting time and will cause
less environment and n oise pollution, peace and a better living chance.

59

Anexa 1

Programarea unui semafor cu ajutorul VHDL (codul sursă în VHDL)
entity semafor_vhdl is
port(
clk: in std_logic;
reset: in std_logic;
count: out std_logic_vector(3 downto 0));
end semafor_vhdl;
architecture Behavioral of semafor_vhdl is
signal pre_count: std_logic_vector(3 downto 0);
begin
process (clk,reset)
begin
if reset= '1' then
pre_count <= "1111";
elsif (clk='1' and clk' event) then
pre_count <= pre_count -1;
elsif (pre_count="0000") then
pre_count<= "0011";
end if;

60
end process;
count<= pre_count;

end Behavioral;

Pentru mașina de stare , codul sursă este următorul:
entity state_machine is
PORT (
clock: in std_logic;
reset: in st d_logic;

–magistrala Nord -Sud
Nr: OUT std_logic;
Ng: OUT std_logic;
Ny: OUT std_logic;

–magistrala Est -Vest
Er: OUT std_logic;
Eg: OUT std_logic;
Ey: OUT std_logic);
end state_machine;

architecture Behavioral of state_machin e is

61
TYPE t_state is (red, green, yellow);
SIGNAL present_state, next_state : t_state := green;
SIGNAL sensor_count : std_logic_vector(3 downto 0);

COMPONENT proiect_counter_down
PORT(
clk : IN std_logic;
reset : IN std_logic;
count : OUT std_logic_vector (3 downto 0)
);
END COMPONENT;
begin

Inst_proiect_counter_down: proiect_counter_down PORT MAP (
clk => clock,
reset => reset,
count => sensor_count
);
PROCESS (present_state, sensor_count)
BEGIN
CASE present_state IS
WHEN green =>
next_state <= yellow;

62
Nr <= '0';
Ng <= '1';
Ny <= '0';
Er <= '1';
Eg <= '0';
Ey <= '0';
WHEN red =>
Nr <= '1';
Ng <= '0';
Ny <= '0';
Er <= '0';
Eg <= '1';
Ey <= '0';
WHEN yellow =>
next_state <= red;
Nr <= '0';
Ng <= '0';
Ny <= '1';
Er <= '0';
Eg <= '0';
Ey <= '1';
IF (sensor_count = "0000") THEN
next_state <= green;

63
elsif (sensor_count = "0101") then
next_state <= red;
elsif (sensor_count = "1011") then
next_state <= yellow;
END IF;
END CASE;
END PROCESS;
PROCESS (clock,next_state)
BEGIN
IF (clock'EVENT and clock = '1' ) then
present_state <= next_state;
end if;
END PROCESS;
end Behavioral;

64

Anexa 2

'* Configurare parametri PIC16F887 *
'***************************************************************************
****
program counter ' Program counter
dim i, n, shifter, portd_index as byte ' Variables shifter and portd_index are of byte type
digit, number as word ' Variables digit and number are of word type
portd_array as word[4] ' Array portd_array has 4 members of word type
'***************************************************************************
****
sub function mas k (dim num as Word) as Word ' Subrutina pentru mascare afisor

select case num ' conversie binara pentru afisor
case 0 result = $3F ' numbers into appropriate
case 1 result = $06 ' combination of bits to be
case 2 result = $5B ' afisare pe display
case 3 result = $4F
case 4 result = $66
case 5 result = $6D
case 6 result = $7D
case 7 result = $07
case 8 result = $7F
case 9 result = $6F
end select ' sfarsit conversie masca afisor
end sub ' Sfarsit subrutina
'***************************************************************************
***
sub procedure interrupt ' Start rutina de intrerupere(obt inerea counterului)
PORTE = 0 ' Se opresc cele 7 segmente ale display -ului

65
PORTD = portd_array [portd_index] ' Selecteaza bitul care trebuie sa lucreze
PORTE = shifter ' Se aprinde segmentul corespunzator din cele 7 posibile
shifter = shifter << 1 ' Move shifter to the next digit
if (shifter > 8) then
shifter = 1
end if
Inc(portd_index) ' Increment portd_index

if (portd_index > 3) then
portd_index = 0 ' Turn on 1st, turn off 4th 7segment display
end if

TMR0 = 0 ' Reset TIMER0
T0IF_bit = 0 ' Clear Timer0 interrupt flag
end sub ' End of interrupt routine
'*********** ****************************************************************
***
main: ' Start of program
ANSEL = 0 ' Configurarea pinilor de I/O
ANSELH = 0
OPTION_REG = $80 ' Timer0 settings ( Timer0 lucreaza ca prescaler=divizor
pentru semnalul de intrare)
digit = 0 ' Initial value of variable digit
i = 0 ' variabile ultrasonic i
n = 0 ' variabile ultrasonic n
portd_index = 0 ' Turn on 1st LED display
shifter = 1 ' Initial value of variable shifter
TMR0 = 0 ' Clear Timer0
INTCON = $A0 ' Enable interrupt with GIE and T0IE bits
PORTA = 0 ' Clear PORTA
TRISA = 0 ' Set PORTA as output
PORTB = 0 ' Clear PORTB
TRISB = 0 ' Set PORTB as output
PORTC = 0 ' Clear PORTC

66
TRISC = 0 ' Set PORTC as output
PORTE = 0 ' Clear PORTE
TRISE = 0 ' Set PORTE as output
PORTD = 0 ' Clear PORTD
TRISD = 0 ' Set PORTD as output
number = 0000 ' Some initial value on LED display
'porta=%000000 ' Start port A semafoare inainte
'portb=%000000 ' Start port B semafoare stanga
'***************************************************************************
****
' Conversie din binar in digital pentru afisor si incrementare numar 4 digiti
'***************************************************************************
****
while TRUE ' Endless loop
digit = number / 1000 ' Extrage miile
portd_array[3] = mask(digit) ' and store it to PORTD array
digit = (number / 100) mod 10 ' Extrage sute
portd_array[2] = mask(digit) ' and store it to PORTD array
digit = (number / 10) mod 10 ' Extrage zeci
portd_array[1] = mask(digit) ' and store it to PORTD array
digit = number mod 10 ' Extrage unitati
portd_array[0] = mask(digit) ' and store it to PORTD array

Dela y_ms(1000) ' 1 secunda intarziere
Inc(number) ' Incrementeaza numarul
'***************************************************************************
****
' Stabilire functionare semafor in funtie de counter si sona r *
' Start program semafor 0000 *
'***************************************************************************
****
if (number = 0001) then '1) Start tranzit inainte est -vest verde -galben
porta=%000011 'st > sud -nord=rosu ; st > est -vest=rosu
portb=%10101001 'in > sud -nord=rosu ;in > est -vest=vede galben ;pieton=rosu

67
end if
'***************************************************************************
****
if (numbe r = 0003) then '2)Start semafor stanga sud -nord verde
porta=%100001 'st > sud -nord=verde ; st > est -vest=rosu
portb=%01000011 'in > sud -nord=rosu ;in > est -vest=rosu ;pieton=rosu
end if
'****************************************** *********************************
****
if (number = 0033) then '3)Start semafor tranzit st > verde -galben
porta=%101001 'st > sud -nord=verde -Galben ; st > est -vest=rosu
portb=%01000011 'in > sud -nord=rosu ;in > est -vest=rosu ;pieto n=rosu
end if
'***************************************************************************
****
if (number = 0036) then '4)Start semafor sud -nord inainte verde
porta=%000011 'st > sud -nord=rosu ; st > est -vest=rosu
portb=%10010010 'in > sud -nord=verde ;in > est -vest=rosu ;pieton=rosu
end if
'***************************************************************************
****
if (number = 0096) then '5)Start semafor tranzit inainte sud -nord verde -galben
porta=%000011 'st > sud -nord=rosu ; st > est -vest=rosu
portb=%10010110 'in > sud -nord=verde -galben ;in > est -vest=rosu ;pieton=rosu
end if
'***************************************************************************
****
if (number = 0099) then '6)Start s emafor stanga est -vest verde
porta=%010010 'st > sud -nord=rosu ; st > est -vest=rosu
portb=%01000011 'in > sud -nord=rosu ;in > est -vest=rosu ;pieton=rosu
end if
'*********************************************************************** ****
****
if (number = 0129) then '7)Start semafor tranzit stanga est -vest verde -galben

68
porta=%010110 'st > sud -nord=rosu ; st > est -vest=verde galben
portb=%10100011 'in > sud -nord=verde ;in > est -vest=rosu ;pieton=rosu
end if
'***************************************************************************
****
if (number = 0132) then '8)Start semafor inainte est -vest verde
porta=%000011 'st > sud -nord=rosu ; st > est -vest=rosu
portb=%01010010 'in > sud -nord=rosu ;in > est -vest=verde ;pieton=rosu
end if
'***************************************************************************
****
if (number = 0192) then '9)Start semafor tranzit est -vest verde -galben
porta=%000011 'st > sud -nord=rosu ; st > est -vest=rosu
portb=%10101001 'in > sud -nord=rosu ;in > est -vest=vede galben ;pieton=rosu
end if
'***************************************************************************
****

if (number > 0192) then '
number = 0 'resete aza counterul la 0
end if

end
end. ' End of program
sonar:
' genereaza pulsul ping
PORTC.7 = 1
delay_us(150)
PORTC.7 = 0
' citire nr ecouuri si distanta dintre ecou si ping in functie de viteza sunetului
while PORTC.3 = 1 ' Waiting for the echo
nop
wend
' citere nr ecouri in functie de timp folosind functia TMR1

69
TMR1L = 0 ' Clear the TMR1L value
TMR1H = 0 ' Clear the TMR1H value
T1CON = 0x01 ' Enable TMR1

while PORTC.3 = 1 ' While echo received, let the TMR1 count
nop
wend
' converteste distanta dintre ping si ecouri
duration_us = TMR1H<<8 + TMR1L ' Retine TMR1 valoare = ON puls
obiect1 = duration_us * 1.70147
obiect2 = obiect1 ' – 10
WordToStr(obiect2, length_cm) ' memoreaza nr obiecte pentru incrementare
delay_ms(340)
return
'***************************************************************************
****
end. ' sfirsit de program

70

Bibliografie

1. Bucur Cristian, Dispozitive electronice, Ed. Universității „Petrol -Gaze”, Ploiești 2005
2. Moise Adrian, Automate programabile .Proiectare. Aplicat ii, Ed. Matrix Rom,
Bucuresti, 2004
3. Marinescu Cornel, Bazele sistemelor de achiziție a datelor -Note de curs
4. Mange, D., Microprogrammed Systems. An Introduction to Firmware Theory,
Chapman & Hall, London, 1992.
5. “Automatic Traffic Control System”. SMEU Astan a Solutions Automatic Traffic
Control System.htm
6. http://www.senso -trafic.ro/
7. www.parallax.com
8. www.slideshare .net/RAshokNaidu/final -pptx
9. www.protonbasic.co.uk/
10. www.mikroe.com/
11. www.microchip.com
12. http://www.politiaromana.ro/dpr/legislatie_rutiera.htm
13. http://www.robot -electronics.co.uk
14. http://electronicaaplicata.word press.com/
15. http://www.electrokoles.home.ro/

Similar Posts