This shows you the differences between two versions of the page.
pm:prj2022:imacovei:privibot [2022/05/08 18:18] laurentiu.mihalcea [Bibliografie/Resurse] |
pm:prj2022:imacovei:privibot [2022/05/08 22:58] (current) laurentiu.mihalcea [Download] |
||
---|---|---|---|
Line 19: | Line 19: | ||
* 2 x matrice LED-uri | * 2 x matrice LED-uri | ||
* 1 x Senzor ultrasonic (HC-SR04) | * 1 x Senzor ultrasonic (HC-SR04) | ||
- | * Butoane | + | * 5 x Butoane |
* 1 x camera web | * 1 x camera web | ||
Line 248: | Line 248: | ||
</code> | </code> | ||
**4. Întreruperi **\\ | **4. Întreruperi **\\ | ||
- | Pentru a adăuga diverse feature-uri la funcționalitatea de bază a proiectului (mai exact, aceea de a urmări cu privirea individul) m-am folosit de întreruperi. Am folosit atât întreruperi interne, cât și de întreruperi externe. Cele interne sunt declanșate de către TIMER1 și sunt folosite pentru a face robotul să clipească la fiecare n secunde. Cele externe sunt declanșate de apăsarea unor butoane și sunt folosite pentru a face robotul să facă cu ochiul sau pentru a crește/scădea valoarea intensității cu care luminează LED-urile. În continuare voi atașa secțiunile de cod pentru ISR-ul și setup-ul întreruperilor.\\ | + | Pentru a adăuga diverse feature-uri la funcționalitatea de bază a proiectului (mai exact, aceea de a urmări cu privirea individul) m-am folosit de întreruperi. Am folosit atât întreruperi interne, cât și întreruperi externe. Cele interne sunt declanșate de către TIMER1 și sunt folosite pentru a face robotul să clipească la fiecare n secunde. Cele externe sunt declanșate de apăsarea unor butoane și sunt folosite pentru a face robotul să facă cu ochiul sau pentru a crește/scădea valoarea intensității cu care luminează LED-urile. În continuare voi atașa secțiunile de cod pentru ISR-ul și setup-ul întreruperilor.\\ |
// a) Timer //\\ | // a) Timer //\\ | ||
Cum spuneam și mai sus, acesta este folosit pentru a face ca robotul să clipească la intervale regulate de timp (aici, 4 secunde). | Cum spuneam și mai sus, acesta este folosit pentru a face ca robotul să clipească la intervale regulate de timp (aici, 4 secunde). | ||
Line 476: | Line 476: | ||
{{:pm:prj2022:imacovei:pm_mihalcea_capota.jpeg?500|}} | {{:pm:prj2022:imacovei:pm_mihalcea_capota.jpeg?500|}} | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
- | TBA | + | În principiu proiectul și-a atins scopul. Am înțeles mai bine cum se utilizează întreruperile, timer-ele și m-am obișnuit cu mediul de dezvoltare embedded. Pe lângă asta, am explorat și o modalitate prin care se poate îmbina partea de ML cu partea de hardware. Totu-i bine când se termină cu bine...Acum la o bere...;-) |
===== Download ===== | ===== Download ===== | ||
PDF File: <html><a class="media mediafile mf_pdf" href="?do=export_pdf">PriviBot</a></html>\\ | PDF File: <html><a class="media mediafile mf_pdf" href="?do=export_pdf">PriviBot</a></html>\\ | ||
Cod Arduino:{{:pm:prj2022:imacovei:pm_mihalcea_cod_arduino.zip|privibot_arduino.zip}}\\ | Cod Arduino:{{:pm:prj2022:imacovei:pm_mihalcea_cod_arduino.zip|privibot_arduino.zip}}\\ | ||
- | Cod Python: {{:pm:prj2022:imacovei:pm_mihalcea_cod_python.zip|privitob_python.zip}} | + | Cod Python: {{:pm:prj2022:imacovei:pm_mihalcea_cod_python.zip|privibot_python.zip}} |
Line 487: | Line 487: | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
* Ideea de matrice de LED-uri pe post de ochi + utilizare MD_MAX72xx + utilizare NewPing: https://create.arduino.cc/projecthub/unexpectedmaker/ultrasoniceyes-b9fd38?ref=platform&ref_id=424_trending___&offset=157 | * Ideea de matrice de LED-uri pe post de ochi + utilizare MD_MAX72xx + utilizare NewPing: https://create.arduino.cc/projecthub/unexpectedmaker/ultrasoniceyes-b9fd38?ref=platform&ref_id=424_trending___&offset=157 | ||
- | * | + | * Prelucrarea imaginilor + ideea de a folosi OpenCV pentru face tracking: https://create.arduino.cc/projecthub/shubhamsantosh99/face-tracker-using-opencv-and-arduino-55412e |
+ | * Utilizare întreruperi: https://ocw.cs.pub.ro/courses/pm/lab/lab2-2022 | ||
+ | * Idee tratare debouncing: https://forum.arduino.cc/t/debouncing-an-interrupt-trigger/45110/2 | ||