This is an old revision of the document!
Sistem Inteligent de Semaforizare cu Feedback Vizual și Sonor
Introducere
Proiectul constă în 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.
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 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).
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.
Descriere generală
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:
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 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 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 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.
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.
}
Hardware Design
Lista de piese:
1x Placă de dezvoltare ATmega328P Xplained Mini
1x Breadboard (200 / 400 puncte)
5x LED-uri 5mm (2x Roșu, 1x Galben, 2x Verde)
5x Rezistoare 220Ω (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: tată-tată și mamă-tată)
Scheme electrice:
(Va fi completat în etapa următoare, după realizarea schemei în Eagle / Fritzing)
Software Design
Mediu de dezvoltare: Microchip Studio (fostul Atmel Studio) / C pur.
Librării și surse 3rd-party:
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 Obținute
(Se va completa la finalul proiectului)
Concluzii
(Se va completa la finalul proiectului)
Download
(Se vor adăuga arhivele cu codul sursă și schemele la final)
Jurnal
Etapa 1: Alegerea temei, achiziționarea pieselor și redactarea documentației inițiale.
Săptămâna următoare: (Urmează asamblarea hardware și testarea perifericelor).
Bibliografie/Resurse