This shows you the differences between two versions of the page.
pm:prj2025:avaduva:emilia_antonia.toia [2025/05/24 14:15] emilia_antonia.toia [Jurnal] |
pm:prj2025:avaduva:emilia_antonia.toia [2025/05/25 13:54] (current) emilia_antonia.toia [Software Design] |
||
---|---|---|---|
Line 152: | Line 152: | ||
| I2C | Comunicare cu LCD 16x2 prin I2C | LiquidCrystal_I2C lcd(0x27, 16, 2); | | | I2C | Comunicare cu LCD 16x2 prin I2C | LiquidCrystal_I2C lcd(0x27, 16, 2); | | ||
+ | ** 5. Scheletul proiectului & interacțiunea dintre componente: ** | ||
+ | |||
+ | 1. //**Intrare/ieșire autoturism:**// | ||
+ | |||
+ | Senzorii IR detectează prezența. | ||
+ | |||
+ | Dacă există locuri disponibile, servomotorul se deschide și availableSlots se actualizează. | ||
+ | |||
+ | 2. //** Monitorizare locuri:**// | ||
+ | |||
+ | Fiecare loc de parcare are un senzor HC-SR04 care verifică dacă este ocupat. | ||
+ | |||
+ | Afișajul LCD indică: | ||
+ | |||
+ | - Numărul total de locuri libere (availableSlots – actualizat doar de IR). | ||
+ | |||
+ | - Starea fiecărui loc: L = liber, 0 = ocupat. | ||
+ | |||
+ | 3. //**Afișaj LCD:**// | ||
+ | |||
+ | - Primul rând: numărul de locuri disponibile. | ||
+ | |||
+ | - Al doilea rând: codificare pentru starea locurilor. | ||
+ | |||
+ | ** 6. Demo video și explicații: ** | ||
+ | |||
+ | https://youtube.com/shorts/tx_SWk4TcRA?feature=share | ||
+ | |||
+ | ** 7. Calibrarea senzorilor: ** | ||
+ | |||
+ | 1. //**IR (detecție):**// | ||
+ | |||
+ | Testat cu mâna/obiect negru pentru a determina distanța la care senzorul IR detectează. | ||
+ | |||
+ | Asigurat ca starea LOW este returnată doar când e cu adevărat blocat. | ||
+ | |||
+ | 2. //**HC-SR04:**// | ||
+ | |||
+ | Testat manual la diferite distanțe. | ||
+ | |||
+ | DIST_THRESHOLD = 10 cm ales ca limită de ocupare – validat cu obiecte reprezentând mașini | ||
+ | |||
+ | ** 8. Optimizări realizate:** | ||
+ | |||
+ | //**Separare logică a sloturilor și IR:**// | ||
+ | |||
+ | - Elimină fluctuații false în numărul de locuri. | ||
+ | |||
+ | - Asigură stabilitate. | ||
+ | |||
+ | //**Flag-uri entryFlag și exitFlag:**// | ||
+ | |||
+ | - Evită modificări multiple de locuri dintr-o singură trecere. | ||
+ | |||
+ | - Elimină necesitatea unor componente debounce hardware. | ||
+ | |||
+ | - Delay redus în loop(): | ||
+ | |||
+ | - A crescut timpul de reacție și responsivitatea sistemului. | ||
+ | |||
+ | //**LCD curățat dinamic:**// | ||
+ | |||
+ | - Se evită texte fantomă sau caractere rămase de la actualizări. | ||
</note> | </note> | ||