Modern Intersection Simulator


Popescu Ștefania 336CA
Contact: stefania.s.popescu@gmail.com

Introducere

Proiectul va reprezenta un simulator de intersecție (de tip cruce) modernă. Scopul acestuia este de a prezenta o idee de fluidizare a traficului aglomerat din marile orașe.

Consiser că ideea aceastui proiect este una care se poate aplica în viața de zi cu zi, fiind inspirată de faptul că mă confrunt zilnic cu dificultățile provocate de trafic.

Descriere generală

Vor exista 4 semafoare cu câte 3 culori (<fc #FF0000>roșu</fc>, <fc #FFFF00>galben</fc>, <fc #00FF00>verde</fc>) pentru mașini și 8 semafoare cu câte 2 culori (<fc #FF0000>roșu</fc>, <fc #00FF00>verde</fc>) pentru pietoni.

De asemenea, pentru pietoni vor exista 8 butoane pe care aștia le pot apăsa pentru a solicita schimbarea în verde a culorii semaforului, semnalizând astfel intenția lor de a traversa.

În plus, intersecția va utiliza 4 fotorezistențe care vor avea rolul de a monitoriza fluxul traficului și de a schimba culorile semafoarelor în așa fel încât dacă nu exista pietoni care vor să traverseze, nu se va mai opri circulația mașinilor inutil, iar dacă o stradă este mai intens circulată, culoarea verde asociată semaforului corespunzător va dura mai mult decât pentru celelalte semafoare din intersecție.

Nu în ultimul rând, plăcuța va comunica și cu un display LCD pe care se vor afișa duratele pentru fiecare culoare, asociate unui semafor. Selecția semaforului pentru care se dorește afișarea informațiilor se va face cu ajutorul a 2 butoane.

Schema bloc

Hardware design

Lista de piese

  • ATmega324
  • Display LCD
  • Componente de bază
  • LED-uri
  • Fotorezistențe
  • Butoane
  • Rezistențe
  • Cabluri
  • Placă de test
  • Modul LED-uri semafor
  • Shift registers SN74HC595N
  • Piese lego

Schema electrica

Software design

Mediul de dezvoltare:

  • Sublime Text
  • Eagle
  • HIDBootFlash

Tipuri de functii:

  • Functii pentru afisare pe LCD - laboratorul 5
  • Functii pentru colectarea datelor de la fotorezistente - laboratorul 5
  • Functii pentru intreruperi provenite de la butoane - laboratorul 2
  • Functii pentru timer - laboratorul 2

Intersectia are de fapt 2 stari complementare, fiecare formata din cate doua semafoare si 4 butoane pentru pietoni. M-am bazat pe acest lucru in momentul in care trebuia sa setez starea LED-urilor folosind cei 4 shift registers.

Masuratorile facute de fotorezistente sunt preluate si afisate ca in laboratorul 5, iar daca o fotorezistenta este acoperita de o masina un anumit timp, inseamna ca este coada mare de masini pe acel sens, iar timpul alocat pentru verde pe acel sens se va mari, automat si cel pentru verdele de pe sensul in oglinda. Dupa o perioada de 4 ciclii de rosu-verde, semaforul revine la temporizarea initiala.

Daca un buton este apasat, se declanseaza o intrerupere. In ISR-ul corespunzator se ia decizia daca mai este timp suficient ca pietonii sa traverseze, se face verde instant pentru acestia. Altfel, cand se revine in starea favorabila traversarii, verdele pentru pietoni va fi aprins de la inceput

Jurnal

Am terminat de lipit placuta.

Am taiat bucati de placa de test potrivite pentru butoane si LED-uri.

Am lipit rezistentele, soclurile pentru shift registers si am tras doua linii de GND pe marginea placii de test.

Am format conexiunile pentru cei 4 shift-registers.

A fost interesant cand am incercat sa pun shift registers in socluri, am realizat ca am cumparat bistabile 8-O (aveau 7 pini in loc de 8, iar soclurile la fel) in loc de hc595. Din pacate nu facusem verificarile necesare la timpul potrivit, asa ca a trebuit sa impovizez. :-D

Am conectat toate butoanele si toate LED-urile la placa de test.


La final m-am ocupat de partea de design.

Rezultate obtinute

Demo: view

Download

Arhiva contine fisierele sursa si un Makefile.
stefania_popescu_336ca.zip

Concluzii

Am reusit sa implementez toate functionalitatile pe care mi le-am propus.
Din pacate, pe masura ce lucram la proiect, mutand placutele dintr-un loc in altul, ceva s-a intamplat, iar unele LED-uri nu se mai aprind, iar un buton nu raspunde comenzilor, chiar daca am refacut lipiturile si am inlocuit cabluri.
Trebuie sa recunosc ca la inceput nu ma asteptam sa reusesc sa duc pana la final acest proiect, insa deveneam tot mai incantata si mai motivata de progres pe masura ce lucrurile incepeau sa prinda contur.
Sunt multumita de rezultat si s-a dovedit ca aceasta materie este mai putin complicata decat credeam pana acum. ^_^

Bibliografie/Resurse

pm/prj2019/abirlica/modern-intersection-simulator.txt · Last modified: 2021/04/14 17:07 (external edit)
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