This shows you the differences between two versions of the page.
|
pm:prj2026:tarik_ilhan.omer:stefan.zamfir2903 [2026/05/09 22:39] stefan.zamfir2903 [Descriere generală] |
pm:prj2026:tarik_ilhan.omer:stefan.zamfir2903 [2026/05/09 22:58] (current) stefan.zamfir2903 |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Sistem Inteligent de Semaforizare cu Feedback Vizual și Sonor ====== | + | ====== Sistem Inteligent de Semaforizare cu Feedback Vizual si Sonor ====== |
| ===== Introducere ===== | ===== Introducere ===== | ||
| - | Proiectul constă în implementarea unui sistem interactiv de semaforizare pentru o trecere de pietoni, controlat de un microcontroler ATmega328P. | + | Proiectul consta in implementarea unui sistem interactiv de semaforizare pentru o trecere de pietoni, controlat de un microcontroler ATmega328P. |
| - | * **Ce face:** Sistemul gestionează traficul dintr-o intersecție simplă, având un semafor complet pentru mașini (Roșu, Galben, Verde) și unul pentru pietoni (Roșu, Verde). Trecerea pietonilor este condiționată de acționarea unui buton și de respectarea unui timp de gardă (cooldown) pentru a nu bloca abuziv traficul auto. În plus, sistemul oferă feedback vizual printr-un ecran LCD I2C și feedback sonor printr-un buzzer. | + | * **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. |
| - | * **Care este scopul lui:** Scopul principal este simularea unei situații reale de trafic urban, punând accent pe siguranța pietonilor și fluidizarea circulației rutiere prin algoritmi de temporizare. | + | * **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. |
| - | * **Care a fost ideea de la care ați pornit:** Am dorit să transpun o problemă clasică din viața de zi cu zi (așteptarea la semafor) într-un automat de stări (State Machine). Am vrut un proiect care să combine mai multe tipuri de periferice (GPIO, Timere hardware, comunicare I2C). | + | * **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). |
| - | * **De ce credeți că este util:** La nivel didactic, proiectul ajută la consolidarea conceptelor de programare low-level (lucrul cu regiștri, întreruperi, debounce pentru butoane și evitarea funcțiilor blocante de tip delay). La nivel practic, arhitectura poate fi extinsă pentru sisteme de asistență a persoanelor cu deficiențe de vedere în spațiile publice. | + | * **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. |
| - | ===== Descriere generală ===== | + | ===== Descriere generala ===== |
| - | Arhitectura sistemului se bazează pe o unitate centrală de procesare (microcontrolerul de pe placa Xplained Mini) care comunică cu mai multe module de Input/Output: | + | 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: |
| - | * **Modulul de Input (Cerere traversare):** Un buton tactil (momentary switch) configurat cu rezistență de pull-up internă. Apăsarea sa este preluată și procesată de microcontroler. Pentru a preveni citirile false (bouncing), se va face debounce software/hardware, iar preluarea comenzii va fi validată doar dacă timpul de gardă pentru mașini a expirat. | + | * **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. |
| - | * **Modulul Output Vizual 1 (Semafoare):** Format din 5 LED-uri controlate prin pinii GPIO. Două stări principale sunt alternate: Trafic Auto Permis (Verde Mașini, Roșu Pietoni) și Traversare Permisă (Roșu Mașini, Verde Pietoni), legate printr-o stare de tranziție (Galben Mașini). | + | * **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 (Interfața Text):** Un display LCD 1602 conectat prin interfața I2C (pinii SDA și SCL). Acesta afișează starea curentă a intersecției ("Asteptati...", "Traversati", "Timp auto...") și oferă un contor invers în timpul traversării. | + | * **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 când semaforul pietonal este verde, pentru a asista persoanele cu deficiențe de vedere. | + | * **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. |
| - | Funcționarea de ansamblu este dirijată de un Timer Hardware pe 16 biți (ex. Timer1) configurat în modul CTC, care asigură numărarea secundelor și controlul stărilor fără a bloca execuția programului principal, permițând actualizarea fluentă a ecranului LCD. | + | 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:** | **Lista de piese:** | ||
| - | * 1x Placă de dezvoltare ATmega328P Xplained Mini | + | * 1x Placa de dezvoltare ATmega328P Xplained Mini |
| * 1x Breadboard (200 / 400 puncte) | * 1x Breadboard (200 / 400 puncte) | ||
| - | * 5x LED-uri 5mm (2x Roșu, 1x Galben, 2x Verde) | + | * 5x LED-uri 5mm (2x Rosu, 1x Galben, 2x Verde) |
| - | * 5x Rezistoare 220Ω (pentru limitarea curentului prin LED-uri) | + | * 5x Rezistoare 220 ohmi (pentru limitarea curentului prin LED-uri) |
| * 1x Buton tactil (Momentary Push Button) 6x6x6 mm | * 1x Buton tactil (Momentary Push Button) 6x6x6 mm | ||
| * 1x Display LCD 1602 cu modul I2C integrat | * 1x Display LCD 1602 cu modul I2C integrat | ||
| * 1x Buzzer Activ 5V | * 1x Buzzer Activ 5V | ||
| - | * Fire de conexiune (Jumper wires: tată-tată și mamă-tată) | + | * Fire de conexiune (Jumper wires: tata-tata si mama-tata) |
| **Scheme electrice:** | **Scheme electrice:** | ||
| - | // (Va fi completat în etapa următoare, după realizarea schemei în Eagle / Fritzing) //{{:pm:prj2026:tarik_ilhan.omer:screenshot_2026-05-09_at_10.27.38_pm.png?200|}} | ||
| - | ===== Software Design ===== | + | {{:pm:prj2026:tarik_ilhan.omer:schema_electrica.png?800|Schema electrica a proiectului}} |
| - | **Mediu de dezvoltare:** Microchip Studio (fostul Atmel Studio) / C pur. | + | |
| - | **Librării și surse 3rd-party:** | + | |
| - | * Librărie pentru comunicarea I2C/TWI (pentru interfațarea cu LCD-ul). | + | |
| - | * (Eventual) O librărie minimală pentru LCD 1602 I2C adaptată pentru AVR. | + | |
| - | **Algoritmi și structuri:** | ||
| - | * Implementarea unui Finite State Machine (FSM) pentru logica semaforului. | ||
| - | * Utilizarea Timer1 pentru generarea de întreruperi la intervale de 1 secundă (sau diviziuni), asigurând funcționarea asincronă. | ||
| - | * Rutină de Debounce software pentru buton. | ||
| - | // (Restul secțiunii va fi detaliat în Etapa 3) // | + | ===== Rezultate Obtinute ===== |
| - | + | ||
| - | ===== Rezultate Obținute ===== | + | |
| - | // (Se va completa la finalul proiectului) // | + | |
| ===== Concluzii ===== | ===== Concluzii ===== | ||
| - | // (Se va completa la finalul proiectului) // | ||
| ===== Download ===== | ===== Download ===== | ||
| - | // (Se vor adăuga arhivele cu codul sursă și schemele la final) // | ||
| ===== Jurnal ===== | ===== Jurnal ===== | ||
| - | * **Etapa 1:** Alegerea temei, achiziționarea pieselor și redactarea documentației inițiale. | + | * **Etapa 1:** Alegerea temei, achizitionarea pieselor si redactarea documentatiei initiale. |
| - | * **Săptămâna următoare:** (Urmează asamblarea hardware și testarea perifericelor). | + | |
| ===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
| * Datasheet ATmega328P | * Datasheet ATmega328P | ||
| - | * Laboratoarele de PM (în special Lab-urile de GPIO, Timere și Întreruperi) | + | * Laboratoarele de PM (in special Lab-urile de GPIO, Timere si Intreruperi) |