This shows you the differences between two versions of the page.
|
pm:prj2021:apredescu:gesture_controlled_music [2021/05/25 21:38] alexandra.imbrisca [Descriere generală] |
pm:prj2021:apredescu:gesture_controlled_music [2021/05/26 13:34] (current) alexandra.imbrisca [Concluzii] |
||
|---|---|---|---|
| Line 11: | Line 11: | ||
| - Se inițiază comunicarea cu Python prin intermediul portului ales. | - Se inițiază comunicarea cu Python prin intermediul portului ales. | ||
| - | - 2 notificări de tip toast vor apărea pe ecranul calculatorului odată ce aceasta s-a realizat. | + | - 2 **notificări** de tip toast vor apărea pe ecranul calculatorului odată ce aceasta s-a realizat. |
| - Pentru a porni sistemul de recepționare a gesturilor, utilizatorul trebuie să țină ambele mâini în fața celor doi senzori. | - Pentru a porni sistemul de recepționare a gesturilor, utilizatorul trebuie să țină ambele mâini în fața celor doi senzori. | ||
| - Odată pornit, unul dintre următoarele gesturi poate fi ales: | - Odată pornit, unul dintre următoarele gesturi poate fi ales: | ||
| Line 22: | Line 22: | ||
| - pentru mai mult de 0,5 secunde => **volume up** | - pentru mai mult de 0,5 secunde => **volume up** | ||
| - Gesturile vor fi recepționate numai după apariția imaginii de clepsidră pe matricea de LED-uri. | - Gesturile vor fi recepționate numai după apariția imaginii de clepsidră pe matricea de LED-uri. | ||
| - | - Pentru fiecare **gest** se va afișa un **icon** sugestiv **pe matricea de LED-uri**. | + | - Pentru fiecare gest se va afișa un **icon sugestiv pe matricea de LED-uri**. |
| - Fiecare gest va fi transmis mai departe programului Python care va realiza acțiunea prin intermediul bibliotecii PyAutoGUI. | - Fiecare gest va fi transmis mai departe programului Python care va realiza acțiunea prin intermediul bibliotecii PyAutoGUI. | ||
| ==== Hardware Design ==== | ==== Hardware Design ==== | ||
| - | === Listă de piese === | + | === Listă de componente === |
| - Arduino UNO | - Arduino UNO | ||
| - Mini breadbord | - Mini breadbord | ||
| Line 32: | Line 32: | ||
| - Modul cu matrice de LED-uri MAX7219 | - Modul cu matrice de LED-uri MAX7219 | ||
| - Multe fire | - Multe fire | ||
| + | - Suport | ||
| === Schemă electrică === | === Schemă electrică === | ||
| {{:pm:prj2021:apredescu:gesture_controlled_music_player_schema.png?700|}} | {{:pm:prj2021:apredescu:gesture_controlled_music_player_schema.png?700|}} | ||
| ==== Software Design ==== | ==== Software Design ==== | ||
| - | - Mediu de dezvoltare: | + | - Mediu de dezvoltare: |
| - | - PyCharm | + | - PyCharm |
| - | - Arduino IDE | + | - Arduino IDE |
| - | - Librării și surse 3rd-party: | + | - Librării și surse 3rd-party: |
| - | - Python: | + | - Python: |
| - | - time pentru funcția sleep | + | * **time** pentru funcția sleep |
| - | - serial pentru comunicația serială | + | * **serial** pentru comunicația serială |
| - | - pyautogui pentru realizarea acțiunilor menționate prin automatizare GUI | + | * **pyautogui** pentru realizarea acțiunilor menționate prin automatizare GUI |
| - | - win10toast pentru notificările de tip toast | + | * **win10toast** pentru notificările de tip toast |
| - | - Arduino: | + | - Arduino: |
| - | - LedControl.h pentru lucrul cu matricea de LED-uri | + | * **LedControl.h** pentru lucrul cu matricea de LED-uri |
| - | - LibPrintf.h pentru funcția printf | + | * **LibPrintf.h** pentru funcția printf |
| - | - Fișiere sursă și funcții implementate: | + | - Fișiere sursă: |
| - | - Python: main.py | + | - Python: main.py |
| - | - Arduino: main.ino | + | - Arduino: main.ino |
| ==== Rezultate obținute ==== | ==== Rezultate obținute ==== | ||
| - | * acuratețe destul de crescută a recunoașterii gesturilor | + | * S-a obținut o **acuratețe destul de crescută** a recunoașterii gesturilor. |
| - | * senzorii de distanță funcționează foarte bine în majoritatea cazurilor, cu excepția unor cazuri când la distanță foarte mică produc o valoare foarte mare eronată | + | * Senzorii de distanță funcționează foarte bine în majoritatea cazurilor, cu excepția unor cazuri când la distanță foarte mică genrează valori foarte mari eronate. |
| - | * pentru a include mai multe acțiuni/gesturi, ar trebui mărit numărul de senzori folosiți | + | * Pentru a include mai multe acțiuni/gesturi, ar trebui mărit numărul de senzori folosiți. |
| + | |||
| + | === Poze proiect === | ||
| + | {{:pm:prj2021:apredescu:gesture_controlled_music_player_poza1.jpg?500|}} | ||
| + | {{:pm:prj2021:apredescu:gesture_controlled_music_player_poza2.jpg?500|}} | ||
| === Demo === | === Demo === | ||
| Line 60: | Line 65: | ||
| ==== Concluzii ==== | ==== Concluzii ==== | ||
| + | * A fost foarte interesant să văd cum Arduino poate fi conectat cu Python. | ||
| + | * Prin Python putem folosi algoritmi, structuri de date și librării mai complexe cu care putem prelucra datele capturate de senzori. | ||
| + | * Per total, un proiect foarte util prin care am putut să facem ceva și fizic. | ||
| ==== Download ==== | ==== Download ==== | ||
| - | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">PDF proiect</a></html> | + | {{:pm:prj2021:apredescu:gesture_controlled_music_player.zip|Arhivă cod sursă}} |
| + | |||
| + | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||
| - | ==== Jurnal ==== | ||
| ==== Bibliografie/Resurse ==== | ==== Bibliografie/Resurse ==== | ||
| - | [[https://ocw.cs.pub.ro/courses/pm/prj2021/apredescu/gesture_controlled_music|https://ocw.cs.pub.ro/courses/pm/prj2021/apredescu/gesture_controlled_music]] | + | * [[https://ocw.cs.pub.ro/courses/pm/prj2021/apredescu/gesture_controlled_music|Link proiect]] |
| + | * [[https://www.electronicshub.org/arduino-based-hand-gesture-control-computer/#:~:text=The%20principle%20behind%20the%20Arduino,the%20hand%20and%20the%20sensor.|Arduino based gesture control of your computer]] | ||
| + | * [[https://www.instructables.com/Controlling-An-LED-Matrix/|Controlling an LED matrix]] | ||
| + | * [[https://github.com/jithurjacob/Windows-10-Toast-Notifications| Windows 10 toast notifications]] | ||
| + | * [[https://pyautogui.readthedocs.io/en/latest/| Documentation for PyAutoGUI]] | ||
| + | * **Google** | ||