This shows you the differences between two versions of the page.
pm:prj2023:avaduva:parkingsensors [2023/05/29 21:37] corina.balanescu [Introducere] |
pm:prj2023:avaduva:parkingsensors [2023/05/29 22:20] (current) corina.balanescu [Concluzii] |
||
---|---|---|---|
Line 35: | Line 35: | ||
- | <note tip> | + | - Mediu de dezvoltare: Arduino IDE |
- | Descrierea codului aplicaţiei (firmware): | + | - Biblioteci și surse 3rd-party: |
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | * "usart.h": Gestionează comunicarea serială. |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | * "Ultrasonic.h": Oferă funcționalitatea pentru măsurarea distanței utilizând senzorii ultrasonici. |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | * "LiquidCrystal_I2C.h": Permite controlul unui afișaj LCD utilizând protocolul I2C. |
- | * (etapa 3) surse şi funcţii implementate | + | - Algoritmi, structuri și funcții implementate: |
- | </note> | + | * standBy(): Afișează un mesaj de stare pe ecranul LCD în modul de așteptare. |
+ | * showDistances(): Afișează distanțele măsurate pe afișajul LCD utilizând caractere personalizate. | ||
+ | * usartHandler(): Gestionează primirea comenzilor prin comunicarea serială și interpretează comenzile primite. Funcția primește caractere de la comunicarea serială până la primirea caracterului newline (\n). | ||
+ | * setup(): Inițializează și configurează componentele sistemului. | ||
+ | * loop(): Este responsabilă pentru efectuarea măsurătorilor și actualizarea afișajului LCD în mod repetitiv. Funcția citește distanțele de la senzorii ultrasonici și aplică algoritmi de control pentru a determina frecvența și durata sunetului buzzerului în funcție de distanțele măsurate. | ||
+ | * Funcția de întrerupere (ISR) pentru INT0: Gestionează întreruperea generată de apăsarea butonului. Atunci când butonul este apăsat, se determină pornirea sau oprirea măsurătorilor. | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
Line 55: | Line 59: | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | Proiectul a fost relativ ușor din punct de vedere hardware, deoarece a implicat utilizarea unor componente comune. Configurarea și conectarea acestora nu a fost dificilă, iar schema hardware a proiectului nu a necesitat componente complexe sau personalizate. | ||
+ | |||
+ | Pe de altă parte, proiectul a fost considerabil mai dificil din punct de vedere software. Aceasta se datorează restricției impuse de utilizarea registrelor și de necesitatea de a implementa algoritmi de control manual. De exemplu, gestionarea comunicării seriale prin intermediul registrelor și interpretarea comenzilor primite au necesitat o abordare detaliată și atentă. | ||
+ | |||
+ | Totuși, dacă afișarea distanței este o sarcină aparent simplă și facilă, de ce mașina mea nu o face? m( | ||
===== Download ===== | ===== Download ===== | ||
Line 72: | Line 81: | ||
<note> | <note> | ||
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | **Resurse Hardware:** |
+ | * https://www.robofun.ro/ | ||
+ | * https://www.optimusdigital.ro/en/ | ||
+ | |||
+ | **Resurse Software:** | ||
+ | * https://www.arduino.cc/reference/en/ | ||
</note> | </note> | ||
<html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||