This shows you the differences between two versions of the page.
pm:prj2022:rstanescu:blind_hand_assist_👨_🦯 [2022/06/02 01:51] florian_luis.micu [Software Design] |
pm:prj2022:rstanescu:blind_hand_assist_👨_🦯 [2022/06/02 16:38] (current) florian_luis.micu [Introducere] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Blind Hand Assist 👨🦯 ====== | ====== Blind Hand Assist 👨🦯 ====== | ||
+ | <note tip> | ||
+ | **Autor:** Micu Florian-Luis | ||
+ | </note> | ||
+ | |||
===== Introducere ===== | ===== Introducere ===== | ||
Line 120: | Line 124: | ||
- Daca temperatura este activata, se apeleaza functiile standard ale librariei MLX90614 pentru masurarea temperaturii obiectului, iar daca aceasta este mai mare sau egala cu o valoarea de threshold se va trimite un semnal PWM apeland functia **send_output_signal(int high, int low)**. | - Daca temperatura este activata, se apeleaza functiile standard ale librariei MLX90614 pentru masurarea temperaturii obiectului, iar daca aceasta este mai mare sau egala cu o valoarea de threshold se va trimite un semnal PWM apeland functia **send_output_signal(int high, int low)**. | ||
- Se asteapta 100ms inainte de urmatorul poll de date pentru a pastra acuratetea | - Se asteapta 100ms inainte de urmatorul poll de date pentru a pastra acuratetea | ||
- | |||
- | <html> | ||
- | <br> | ||
- | </html> | ||
<spoiler Click aici pentru a vizualiza codul> | <spoiler Click aici pentru a vizualiza codul> | ||
Line 316: | Line 316: | ||
{{:pm:prj2022:rstanescu:blind_mana.jpeg?200 }} | {{:pm:prj2022:rstanescu:blind_mana.jpeg?200 }} | ||
- | {{:pm:prj2022:rstanescu:device_blind.jpeg?315x304 }} | + | {{:pm:prj2022:rstanescu:device_blind.jpeg?320x315 }} |
- | {{:pm:prj2022:rstanescu:blind_palma.jpeg?190x304}} | + | {{:pm:prj2022:rstanescu:blind_palma.jpeg?200x315}} |
Device-ul sta bine pe mana, nu se incalzeste, feedback-ul motorului de vibratii/buzzer este usor de simtit/auzit, LED-urile se vad clar, iar intrerupatoarele verticale sunt usor de comutat. Butonul de RESET extern e mult mai usor de apasat decat cel standard de pe Arduino NANO, iar bateria externa face device-ul portabil fara sa fie prea greu. Circuitul functioneaza asa cum ar trebui, cand se depasesc valorile de threshold device-ul porneste feedback-ul si toate componentele reactioneaza la schimbarile facute din intrerupatoarele verticale in timp real datorita delay-ului mic. | Device-ul sta bine pe mana, nu se incalzeste, feedback-ul motorului de vibratii/buzzer este usor de simtit/auzit, LED-urile se vad clar, iar intrerupatoarele verticale sunt usor de comutat. Butonul de RESET extern e mult mai usor de apasat decat cel standard de pe Arduino NANO, iar bateria externa face device-ul portabil fara sa fie prea greu. Circuitul functioneaza asa cum ar trebui, cand se depasesc valorile de threshold device-ul porneste feedback-ul si toate componentele reactioneaza la schimbarile facute din intrerupatoarele verticale in timp real datorita delay-ului mic. | ||
Line 332: | Line 332: | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
- | Acest proiect m-a ajutat foarte mult sa imi dezvolt cunostintele de electronica. Am inteles mai bine cum functioneaza un microcontroller, cum se leaga anumite piese la el si in final am reusit sa imi construiesc propriul device functional, fiind chiar o experienta interesanta. Legarea pieselor pe perfboard nu a fost deloc usoara, a fost nevoie de multe iteratii pana sa inteleg cum ar trebui sa creez legaturi mai optime si care sa fie si rezistente, dar la final am evoluat si sunt satisfacut cu sudurile mele. | + | Pe partea de **hardware**, legarea pieselor pe perfboard nu a fost deloc usoara, a fost nevoie de multe iteratii pana sa inteleg cum ar trebui sa creez legaturi mai optime si care sa fie si rezistente, dar la final am evoluat si sunt satisfacut cu sudurile mele. Totodata, am invatat sa citesc mai bine datasheet-urile pieselor ceea ce m-a ajutat enorm la schema electrica cat si la configurarea circuitului. Pentru debug, am folosit un multimetru ca sa masor continuitatea, amperajul si voltajul pe circuit, inainte si dupa fiecare sudura. |
+ | |||
+ | Pe partea de **software**, nu am avut deloc probleme deoarece exista tutoriale vaste pentru fiecare piesa din circuitul meu, iar biblioteciile care le acompaniaza fac toata munca grea (ma refer la senzorul IR care comunica prin protocolul I2C, ceea ce ar fi fost destul de complicat de facut de la zero). Pentru debug, am folosit interfata seriala USART in care mi-am printat anumite valori din program si am incercat si varianta brute-force in care inserez valori si vad fizic cum se comporta device-ul. | ||
+ | |||
+ | Drept urmare, **experienta** de a lucra la acest proiect m-a ajutat foarte mult sa imi dezvolt cunostintele de electronica. Am inteles mai bine cum functioneaza un microcontroller, cum se leaga anumite piese la el si in final am reusit sa imi construiesc propriul device functional, fiind chiar o experienta interesanta. | ||
===== Download ===== | ===== Download ===== | ||
[[https://ocw.cs.pub.ro/courses/_media/pm/prj2022/rstanescu/schema_bloc_blind.png|Schema Bloc]] | [[https://ocw.cs.pub.ro/courses/_media/pm/prj2022/rstanescu/schema_bloc_blind.png|Schema Bloc]] | ||
Line 346: | Line 350: | ||
* 08.05.2022 → Alegere tema proiect | * 08.05.2022 → Alegere tema proiect | ||
- | * 15.05.2022 → Completare milestone: Introducere, Descriere, Schema Bloc si Componente | + | * 15.05.2022 → Completare Milestone 1: Introducere, Descriere, Schema Bloc si Componente |
- | * 28.05.2022 → Completare pagina Wiki: Schema Electrica, Software Design, Rezultate, Bibliografie | + | * 28.05.2022 → Completare Milestone 2: Schema Electrica, Software Design, Rezultate, Concluzii, Bibliografie |
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||