This shows you the differences between two versions of the page.
|
pm:prj2026:tarik_ilhan.omer:stefan.zamfir2903 [2026/05/09 22:11] stefan.zamfir2903 created |
pm:prj2026:tarik_ilhan.omer:stefan.zamfir2903 [2026/05/09 22:58] (current) stefan.zamfir2903 |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Nume proiect ====== | + | ====== Sistem Inteligent de Semaforizare cu Feedback Vizual si Sonor ====== |
| ===== Introducere ===== | ===== Introducere ===== | ||
| + | Proiectul consta in implementarea unui sistem interactiv de semaforizare pentru o trecere de pietoni, controlat de un microcontroler ATmega328P. | ||
| - | <note tip> | + | * **Ce face:** Sistemul gestioneaza traficul dintr-o intersectie simpla, avand un semafor complet pentru masini (Rosu, Galben, Verde) si unul pentru pietoni (Rosu, Verde). Trecerea pietonilor este conditionata de actionarea unui buton si de respectarea unui timp de garda (cooldown) pentru a nu bloca abuziv traficul auto. In plus, sistemul ofera feedback vizual printr-un ecran LCD I2C si feedback sonor printr-un buzzer. |
| - | Prezentarea pe scurt a proiectului vostru: | + | * **Care este scopul lui:** Scopul principal este simularea unei situatii reale de trafic urban, punand accent pe siguranta pietonilor si fluidizarea circulatiei rutiere prin algoritmi de temporizare. |
| - | * ce face | + | * **Care a fost ideea de la care ati pornit:** Am dorit sa transpun o problema clasica din viata de zi cu zi (asteptarea la semafor) intr-un automat de stari (State Machine). Am vrut un proiect care sa combine mai multe tipuri de periferice (GPIO, Timere hardware, comunicare I2C). |
| - | * care este scopul lui | + | * **De ce credeti ca este util:** La nivel didactic, proiectul ajuta la consolidarea conceptelor de programare low-level (lucrul cu registri, intreruperi, debounce pentru butoane si evitarea functiilor blocante de tip delay). La nivel practic, arhitectura poate fi extinsa pentru sisteme de asistenta a persoanelor cu deficiente de vedere in spatiile publice. |
| - | * care a fost ideea de la care aţi pornit | + | |
| - | * de ce credeţi că este util pentru alţii şi pentru voi | + | |
| - | </note> | + | |
| - | ===== Descriere generală ===== | + | |
| - | <note tip> | + | ===== Descriere generala ===== |
| - | O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează. | + | Arhitectura sistemului se bazeaza pe o unitate centrala de procesare (microcontrolerul de pe placa Xplained Mini) care comunica cu mai multe module de Input/Output: |
| - | Exemplu de schemă bloc: http://www.robs-projects.com/mp3proj/newplayer.html | + | * **Modulul de Input (Cerere traversare):** Un buton tactil (momentary switch) configurat cu rezistenta de pull-up interna. Apasarea sa este preluata si procesata de microcontroler. Pentru a preveni citirile false (bouncing), se va face debounce software/hardware, iar preluarea comenzii va fi validata doar daca timpul de garda pentru masini a expirat. |
| - | </note> | + | * **Modulul Output Vizual 1 (Semafoare):** Format din 5 LED-uri controlate prin pinii GPIO. Doua stari principale sunt alternate: Trafic Auto Permis (Verde Masini, Rosu Pietoni) si Traversare Permisa (Rosu Masini, Verde Pietoni), legate printr-o stare de tranzitie (Galben Masini). |
| + | * **Modulul Output Vizual 2 (Interfata Text):** Un display LCD 1602 conectat prin interfata I2C (pinii SDA si SCL). Acesta afiseaza starea curenta a intersectiei ("Asteptati...", "Traversati", "Timp auto...") si ofera un contor invers in timpul traversarii. | ||
| + | * **Modulul Output Sonor:** Un buzzer activ care emite un semnal de avertizare atunci cand semaforul pietonal este verde, pentru a asista persoanele cu deficiente de vedere. | ||
| + | |||
| + | Functionarea de ansamblu este dirijata de un Timer Hardware pe 16 biti (ex. Timer1) configurat in modul CTC, care asigura numararea secundelor si controlul starilor fara a bloca executia programului principal, permitand actualizarea fluenta a ecranului LCD. | ||
| ===== Hardware Design ===== | ===== Hardware Design ===== | ||
| + | **Lista de piese:** | ||
| + | * 1x Placa de dezvoltare ATmega328P Xplained Mini | ||
| + | * 1x Breadboard (200 / 400 puncte) | ||
| + | * 5x LED-uri 5mm (2x Rosu, 1x Galben, 2x Verde) | ||
| + | * 5x Rezistoare 220 ohmi (pentru limitarea curentului prin LED-uri) | ||
| + | * 1x Buton tactil (Momentary Push Button) 6x6x6 mm | ||
| + | * 1x Display LCD 1602 cu modul I2C integrat | ||
| + | * 1x Buzzer Activ 5V | ||
| + | * Fire de conexiune (Jumper wires: tata-tata si mama-tata) | ||
| - | <note tip> | + | **Scheme electrice:** |
| - | Aici puneţi tot ce ţine de hardware design: | + | |
| - | * listă de piese | + | |
| - | * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri, e.g. http://www.captain.at/electronic-atmega16-mmc-schematic.png) | + | |
| - | * diagrame de semnal | + | |
| - | * rezultatele simulării | + | |
| - | </note> | + | |
| - | ===== Software Design ===== | + | {{:pm:prj2026:tarik_ilhan.omer:schema_electrica.png?800|Schema electrica a proiectului}} |
| - | <note tip> | + | ===== Rezultate Obtinute ===== |
| - | Descrierea codului aplicaţiei (firmware): | + | |
| - | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | |
| - | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | |
| - | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | |
| - | * (etapa 3) surse şi funcţii implementate | + | |
| - | </note> | + | |
| - | + | ||
| - | ===== Rezultate Obţinute ===== | + | |
| - | + | ||
| - | <note tip> | + | |
| - | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
| - | </note> | + | |
| ===== Concluzii ===== | ===== Concluzii ===== | ||
| ===== Download ===== | ===== Download ===== | ||
| - | |||
| - | <note warning> | ||
| - | O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-). | ||
| - | |||
| - | Fişierele se încarcă pe wiki folosind facilitatea **Add Images or other files**. Namespace-ul în care se încarcă fişierele este de tipul **:pm:prj20??:c?** sau **:pm:prj20??:c?:nume_student** (dacă este cazul). **Exemplu:** Dumitru Alin, 331CC -> **:pm:prj2009:cc:dumitru_alin**. | ||
| - | </note> | ||
| ===== Jurnal ===== | ===== Jurnal ===== | ||
| - | + | * **Etapa 1:** Alegerea temei, achizitionarea pieselor si redactarea documentatiei initiale. | |
| - | <note tip> | + | |
| - | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | |
| - | </note> | + | |
| ===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
| - | + | * Datasheet ATmega328P | |
| - | <note> | + | * Laboratoarele de PM (in special Lab-urile de GPIO, Timere si Intreruperi) |
| - | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | |
| - | </note> | + | |
| - | + | ||
| - | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | + | |