This shows you the differences between two versions of the page.
pm:prj2021:amocanu:parkingsensor [2021/04/27 14:51] raul.moldovan [Autor] |
pm:prj2021:amocanu:parkingsensor [2021/06/02 23:15] (current) raul.moldovan [Bibliografie/Resurse] |
||
---|---|---|---|
Line 23: | Line 23: | ||
* Modul Buzzer | * Modul Buzzer | ||
* Modul LCD | * Modul LCD | ||
+ | |||
+ | === Schema electrica === | ||
+ | {{:pm:prj2021:amocanu:schema_electrica_parking.png?700|}} | ||
===== Software Design ===== | ===== Software Design ===== | ||
+ | Implementarea proiectului se bazeaza pe obtinerea inputului de la senzorul | ||
+ | ultrasonic, obtinand distanta, impreuna cu retinerea unghiului la care se afla | ||
+ | servo-motorul. Aceste date sunt folosite in functionarea celor doua dispozitive | ||
+ | de output: buzzer si ecranul LCD. | ||
- | ===== Rezultate Obţinute ===== | + | Bibliotecile folosite pentru usurarea implementarii sunt: |
+ | TFT.h - folosita pentru dsplay | ||
+ | SPI.h - tot pentru display | ||
+ | Servo.h - pentru servo-motor | ||
+ | QueueArray.h - functia de buffering de imagine | ||
- | ===== Concluzii ===== | + | Functia de setup initializeaza imaginea de fond a display-ului in care |
+ | initial este vizibila doar o reprezentare a spatelui masinii. Totodata, sunt | ||
+ | setati pinii pentru fiecare dispozitiv. | ||
+ | |||
+ | Functia loop trece prin urmatorii pasi la fiecare iteratie: | ||
+ | Servo-motor: pozitionarea lui si verificarea nevoii de a | ||
+ | inversa sensul de rotatie | ||
+ | Senzor ultrasonic: obtinerea distantei in centimetrii cu | ||
+ | ajutorul dunctiei 'pulseIn' | ||
+ | Buzzer: in functie de 3 intervale de distanta, se foloseste | ||
+ | un counter de 'polling' pentru a determina cat de | ||
+ | des sa se auda beep-ul. Tot aici se seteaza si | ||
+ | culoarea obstacolului care urmeaza sa fie afisat | ||
+ | LCD: randarea obstacolului se face cu ajutorul a doua informatii: | ||
+ | distanta si unghi. Acesta e plasat prin calcularea coordonatelor | ||
+ | polare relativ la spatele masinii. Cele doua functii folosite | ||
+ | sunt 'loadObstacle' care deseneaza un cerc la coordonatele | ||
+ | dorite si 'deleteObstacle' care il acopera cu culoarea | ||
+ | fundalului. | ||
+ | Functia de buffering a imaginii mentionata mai sus am ales sa o dezactivez | ||
+ | din cauza modului lent in care se sterg imaginile, dar aceasta permite cu ajutorul | ||
+ | unei cozi randarea mai multor obstacole deodata si sa le stearga dupa expirarea | ||
+ | unui timp. | ||
- | ===== Bibliografie/Resurse ===== | + | ===== Rezultate Obţinute ===== |
+ | {{:pm:prj2021:amocanu:baiatu1.jpeg?500|}} | ||
+ | {{:pm:prj2021:amocanu:baiatu2.jpg?500|}} | ||
+ | [[https://github.com/raul044/ParkingSensor-Arduino|Code]] | ||
+ | [[https://www.youtube.com/watch?v=I59qSSV4alk|Demo Video]] | ||
+ | |||
+ | ===== Concluzii ===== | ||
+ | In concluzie, senzorul de parcare poate fi o imbunatatiere adusa abordarii cu o bara de senzori. | ||
+ | Prin folosirea motorului se foloseste doar un senzor, reducand nevoia de resurse. Forma lui poate | ||
+ | fi imbunatatita pentru a-l face mai compact, totusi nu pare usor de instalat pe o masina fara o | ||
+ | redimensionare a motorului si a senzorului. O protectie pentru umiditate ar trebui adaugata | ||
+ | ca acesta sa poata fi folosit. Proiectul a fost stimulant, simt ca m-a ajutat sa inteleg modul | ||
+ | de functionare a componentelor si a placii Arduino UNO si m-am simtit bine lucrand la el. | ||
+ | ===== Bibliografie/Resurse ===== | ||
+ | * https://randomnerdtutorials.com/complete-guide-for-ultrasonic-sensor-hc-sr04/ | ||
+ | * https://www.youtube.com/watch?v=72SrQuVU3Ww&t=2s | ||
+ | * https://www.arduino.cc/en/Reference/TFTLibrary | ||
+ | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||