Valentin-Gabriel MITREA - Intersection Simulator

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Proiectul consta in simularea unei intersectii semaforizate in cruce ce are rolul de a dirija traficul masinilor. Vor fi desenate drumuri si plasate LED-uri pe un panou pentru a reprezenta structura intersectiei. Semafoarele de masini vor fi reprezentate prin trei LED-uri (rosu, galben si verde), iar cele de pietoni prin doua LED-uri (rosu si verde). De asemenea, va exista pe panou si un afisor LCD ce va arata cate secunde mai sunt pana cand se schimba culoarea unui semafor, asa cum exista la unele intersectii in realitate.

Utilizatorul va putea urmari functionarea intersectiei per ansamblu dupa programul introdus in microcontroller pentru a isi da seama daca timpii atributi fiecarei culori a semafoarelor sunt eficienti pentru dirijarea cat mai corecta a traficului din zona unde este plasata intersectia. El va putea interactiona cu proiectul printr-un buton ce are rolul de a face intersectia sa intre in modul de functionare galben intermitent sau sa se intoarca la modul normal de functionare.

Descriere generală

Utilizatorul interactioneaza cu butonul ce face ca intersectia sa isi schimbe modul de functionare intre cel normal si cel de galben intermitent, iar microcontroller-ul ATMEGA324PA comanda LED-urile si LCD-ul de pe cutia cu structura intersectiei pentru a simula ciclul intersectiei asa cum a fost programat.

Hardware Design

Listă de piese:

  1) placa de bază de la care am pornit proiectul
  2) 8 LED-uri roșii, 4 LED-uri galbene și 8 LED-uri verzi pentru cele 4 semafoare de mașini și 4 semafoare de pietoni
  3) comutator
  4) 14 rezistente pentru LED-uri
  5) 1 rezistență pentru comutator
  6) afișor LCD
  7) alimentator 12V
  8) limitator la 5V
  9) fire de legătură pentru componente
  10) cutie de suport pentru întreaga structură

Schema electrică:

Software Design

Pentru partea de implementare software am lucrat în Programmer's Notepad, unde am scris și compilat codul C. Fișierul hex generat l-am transferat la microcontroller cu ajutorul programului de Bootloader oferit ca suport.

Intersecția simulată în cadrul apliației are două moduri majore de rulare: modul normal și modul de galben intermitent. Voi schimba între cele două în funcție de starea switch-ului de pe cutie. Dacă switch-ul este în sus intersecția va rula în modul normal, iar dacă este in jos in modul de galben intermitent. La fiecare 0.001 secunde din cadrul ciclului de intersecție verific starea curentă a switch-ului și, dacă s-a modificat față de starea anterioară, voi schimba modul de rulare.

Ca suport pentru comunicația cu LCD-ul am folosit fișierele lcd.h și lcd.c oferite în scheletul de cod de la laborator.

Am atașat o poză cu timpii din cadrul unui ciclu de semafor (cât stă fiecare semafor pe fiecare culoare).

Rezultate Obţinute

Am reușit să realizez un proiect aproape complet funcțional, excepție făcând afișorul LCD cu care nu am reușit să comunic oricât de mult m-am străduit. Se poate observa în poze intersecția în modul de rulare normal și în modul de rulare galben intermitent.

imag2094.jpg

imag2095.jpg

imag2096.jpg

Concluzii

A fost un proiect destul de interesant la care am lucrat cu plăcere. Nu mai lucrasem până acum la o aplicație hardware atât de complexă și, astfel, am învățat o mulțime de lucruri noi.

Proiectul acesta mi-a consumat destul de mult timp și a necesitat implicare din partea mea. Dacă mă apucam mai din timp probabil făceam să meargă și afișorul LCD.

Download

Jurnal

Bibliografie/Resurse

- datasheet al microprocesorului ATMEGA324PA

- secvente de cod de la laboratoare

pm/prj2015/fpapa/valentinmitrea.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