Traffic Controller

Introducere

Proiectul consta intr-o intersectie semaforizata inteligenta realizata cu ajutorul LED-urilor pentru simularea semafoarelor si cu ajutorul senzorilor IR pentru a detecta daca un drum este liber sau nu astfel incat daca drumul A este liber, iar pe drumul B a sosit o masina la semafor care are culoarea rosie, semaforul corespunzator drumului B va trece pe culoarea verde.

Ideea proiectului a plecat de la pasiunea mea pentru masini. M-am gandit sa fac ceva legat de acest subiect, iar o intersectie semaforizata pe care sa o gandesc dupa o logica proprie mi s-a parut o idee buna.

Descriere generala

Intersectia va functiona normal, avand doua drumuri care se intalnesc, cu mentiunea ca atunci cand un drum este liber si are culoarea verde a semaforului, aceasta va trece pe rosu daca pe drumul perpendicular vin masini.

Schema bloc

Schema electrica

Schema Tinkercad

Legenda:

- negru = GROUND

- rosu, verde, galben = Conexiunea de la pini la LED-urile fiecarui semafor

- maro = VCC = 5V

- bleo = V_OUT SENZORI IR

Hardware Design

Componente

Arduino UNO R3

Folosesc urmatoarele componente ale placii Arduino:

- Alimentarea (Vcc) de 5V, GND

- pinii 2 - 4 pentru comandarea ledurilor de pe semafoarele drumului A

- pinii 5 - 7 pentru comandarea ledurilor de pe semafoarele drumului B

- pinii 8 - 11 pentru obtinerea tensiunii de output a senzorilor

LED-uri

- led-uri simple de 5mm, de culoare rosie, galbena si verde

- sunt comandati de pinii placii Arduino

Rezistori

- rezistori de 460Ω

- limiteaza curentul prin led-uri

Fire

- fire mama-tata (realizeaza legaturile dintre senzor si placa electronica)

- fire tata-tata (realizeaza legaturile dintre pinii placii Arduino si placa electronica)

- fire pentru cablaj (sunt folosite pentru legarea dintre firele mentionate anterior pe spatele placii)

Senzori IR

- module de senzori infrarosu cu 3 pini: alimentare (Vcc=5V), ground (GND) si tensiune de iesire (V_out). Cand senzorul detecteaza un obiect, ambele leduri de pe acesta se aprind si tensiunea de iesire este zero

- pot detecta obiecte aflate la 2cm - 30cm in fata lor, prin folosirea unui transmitator si a unui receptor

- pentru acest proiect, sunt calibrati la distanta minima de detectare (aprox 2cm)

Placa electronica

Software Design

Pentru software am folosit urmatoarele unelte:

- define-uri pentru a retine rolul diverselor entitati (de exemplu pinul ce comanda culoarea rosu a unui drum, durata in milisecunde a culorii galben sau numarul total de iteratii pentru o bucla)

- functia digitalWrite pentru a aprinde anumite led-uri in functie de logica programului si functia digitalRead pentru a citi rezultatele senzorilor IR

- functii definite pentru setarea anumitor stari (de exemplu, set_red_a seteaza pe HIGH pinul corespunzator ledurilor rosii de pe drumul A)

Codul este disponibil la link-ul: https://github.com/adrianRoman24/Traffic-Controller-Arduino si este descris prin diagrama de mai jos la care sunt de adaugat urmatoarele observatii:

- o bucla (de exemplu ROAD_A_LOOP) are un numar stabilit de iteratii, iar la fiecare iteratie se verifica senzorii si in caz ca drumul curent este liber si drumul perpendicular pe acesta este ocupat se incrementeaza contorul, altfel contorul se reseteaza. Cand contorul ajunge la un prag stabilit se iese din bucla, astfel permitandu-i semaforului de pe drumul perpendicular sa treaca pe verde, iar altfel se asteapta un timp pana la urmatoarea iteratie.

- notatia SENSOR ON se refera la faptul ca valoarea contorului a ajuns la pragul stabilit in urma analizei senzorilor

Rezultate Obtinute

Demo

Modul semafor

Constructia acestor semafoare micute a fost realizata prin decuparea unei bucati de placa pe care am lipit cele trei led-uri si cele trei rezistente. Pinii acestui modul de la stanga la dreapta sunt: GND, pin Arduino rosu, pin Arduino galben si pin Arduino verde.

Cablaj

In principiu, culorile folosite sunt: negru pentru GND, rosu pentru pinii ce comanda un led rosu, verde pentru pinii ce comanda un led verde si albastru pentru pinii ce comanda un led galben.

Rezultat final

Intersectia asamblata cu cele patru semafoare, cu cei patru senzori IR si cu placa Arduino.

Concluzie

Ce am realizat?

Proiectul a fost realizat asa cum mi-am propus initial: o intersectie semaforizata inteligenta in miniatura realizata pe o placa electronica cu ajutorul LED-urilor si senzorilor IR.

Ce dificultati am intampinat?

Partea de cod nu a fost greu de implementat intrucat este o logica destul de simpla, insa partea hardware a necesitat mai mult timp si precizie din cauza cablajului realizat cu ajutorul pistolului de lipit pe spatele placii si pe spatele semafoarelor.

Ce am invatat?

- sa folosesc placa Arduino pentru a realiza un proiect practic

- sa folosesc pistolul de lipit pentru realizarea cablajelor

- sa organizez componentele unui proiect si sa gandesc legaturile dintre ele

Download

Bibliografie/Resurse

pm/prj2021/abirlica/traffic-controller.txt · Last modified: 2021/05/31 10:40 by adrian.roman2406
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0