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> | ||