This shows you the differences between two versions of the page.
pm:prj2023:iotelea:bionic_hand [2023/05/28 22:51] constantin.cinjau [Software Design] |
pm:prj2023:iotelea:bionic_hand [2023/05/29 19:09] (current) constantin.cinjau [Rezultate obtinute] |
||
---|---|---|---|
Line 44: | Line 44: | ||
* Un buton prin intermediul caruia poate face transmisia manual(in mod normal aceasta ar trebui sa se declanseze de fiecare data cand unul dintre slidere este actionat, dar m-am gandit ca ar fi util ca utilizatorul sa poata trimita si el manual in cazul in care i se pare ca nu s-a transmis ce a vrut). | * Un buton prin intermediul caruia poate face transmisia manual(in mod normal aceasta ar trebui sa se declanseze de fiecare data cand unul dintre slidere este actionat, dar m-am gandit ca ar fi util ca utilizatorul sa poata trimita si el manual in cazul in care i se pare ca nu s-a transmis ce a vrut). | ||
- | {{https://ocw.cs.pub.ro/courses/_media/pm/prj2023/iotelea/bionic_hand_app.jpg?500x800}} | + | {{https://ocw.cs.pub.ro/courses/_media/pm/prj2023/iotelea/bionic_hand_app.jpg?300x500}} |
Pentru comunicarea realizata prin Bluetooth, a trebuit sa folosesc un fel de "protocol" de comunicatie, in sensul ca aplicatia de pe telefon am definit-o astfel incat atunci cand doreste sa trimita un mesaj(cand se schimba pozitia unui slider sau se apasa butonul), marcheaza acest lucru prin trimiterea caracterului '?', pentru a delimita 2 valori diferite, se foloseste caracterul '&', iar pentru a marca finalul unui mesaj se foloseste caracterul ';', deci mesajul pe care il primim pe placuta va fi in formatul: ?fingers=value1&wrist=value2;. | Pentru comunicarea realizata prin Bluetooth, a trebuit sa folosesc un fel de "protocol" de comunicatie, in sensul ca aplicatia de pe telefon am definit-o astfel incat atunci cand doreste sa trimita un mesaj(cand se schimba pozitia unui slider sau se apasa butonul), marcheaza acest lucru prin trimiterea caracterului '?', pentru a delimita 2 valori diferite, se foloseste caracterul '&', iar pentru a marca finalul unui mesaj se foloseste caracterul ';', deci mesajul pe care il primim pe placuta va fi in formatul: ?fingers=value1&wrist=value2;. | ||
Line 61: | Line 61: | ||
In functia de **loop**, apelam functia de verificare a serialei cu modulul(verify_bt_serial), care la randul ei le apela pe celelalte cand era nevoie, adica cand s-a primit vreo comanda, respectiv, verifica flag-ul pentru a vedea daca trebuie actualizat LCD-ul sau trimis semnal catre telefon. | In functia de **loop**, apelam functia de verificare a serialei cu modulul(verify_bt_serial), care la randul ei le apela pe celelalte cand era nevoie, adica cand s-a primit vreo comanda, respectiv, verifica flag-ul pentru a vedea daca trebuie actualizat LCD-ul sau trimis semnal catre telefon. | ||
+ | |||
+ | ===== Rezultate obtinute ===== | ||
+ | Rezulatul este o mana controlabila din telefon. Pentru cei care se uita va rog sa nu radeti, numai eu stiu cate straturi de superglue am pe degete :(. Multumesc. | ||
+ | |||
+ | Scurt demo cu proiectul: | ||
+ | [[https://youtube.com/shorts/-CtTY38AmgQ?feature=share|Demo Bionic Hand]] | ||
+ | |||
+ | Ca si observatie, motorasele se invart corect, dar scheletul mainii esti putin fragil si de aceea nu se observa chiar cum as fi vrut. | ||
+ | |||
+ | {{https://ocw.cs.pub.ro/courses/_media/pm/prj2023/iotelea/bionic_hand_1.jpeg?450x500}} | ||
+ | {{https://ocw.cs.pub.ro/courses/_media/pm/prj2023/iotelea/bionic_hand_2.jpeg?450x500}} | ||
+ | |||
+ | ===== Concluzii ===== | ||
+ | Realizarea proiectului a constat intr-o munca constanta pe parcursul mai multor zile, ca si probleme am avut in special la parsarea mesajelor primite prin Bluetooth, pentru ca uneori primeam mesaje incorecte datorita conexiunii si a durat ceva pana cand mi-am dat seama ca trebuie sa verific corectitudinea acestora. O alta problema intalnita a fost legata de timere, pentru ca incercam sa folosesc Timer1 pentru implementarea mea fara sa-mi dau seama ca acesta este folosit in spate de biblioteca Servo.h. Partea de design al proiectului, a fost destul de grea, dar in acelasi timp interesanta, sa iti imaginezi cum poti face un lucru din diferite materiale sa arate a ceva ce ti-ai propus si sa functioneze cum iti imaginai. | ||
+ | |||
+ | ===== Download ===== | ||
+ | Codul sursa pentru placuta si pentru aplicatia de telefon se regasesc in urmatoarea arhiva: | ||
+ | |||
+ | {{https://ocw.cs.pub.ro/courses/_media/pm/prj2023/iotelea/Bionic_Hand_Project.zip}} | ||
===== Jurnal ===== | ===== Jurnal ===== | ||
*3.05.2023: Crearea paginii proiectului si descrierea sumara a functionalitatilor acestuia, motivatai din spate si scopul pe care il are. | *3.05.2023: Crearea paginii proiectului si descrierea sumara a functionalitatilor acestuia, motivatai din spate si scopul pe care il are. | ||
*18.05.2023: Completarea paginii cu partea de Hardware Design si conectarea fizica a componentelor. Testarea componentelor pe rand pentru a verifica daca functioneaza corect, actualizarea schemei de hardware design cu mici diferente in ceea ce priveste piesele folosite si actualizarea si listei in care le-am specificat. | *18.05.2023: Completarea paginii cu partea de Hardware Design si conectarea fizica a componentelor. Testarea componentelor pe rand pentru a verifica daca functioneaza corect, actualizarea schemei de hardware design cu mici diferente in ceea ce priveste piesele folosite si actualizarea si listei in care le-am specificat. | ||
+ | *25.05.2023: Adaugarea de surse de alimentare suplimentare pentru fiecare servomotor. | ||
+ | *27.05.2023: Modificari finale asupra circuitului si a codului. | ||
+ | *28.05.2023: Crearea de elemente pentru design-ul mainii si actualizarea paginii proiectului. | ||
+ | |||
+ | ===== Bibliografie/Resurse ===== | ||
+ | |||
+ | * [[https://ocw.cs.pub.ro/courses/pm/lab/lab3-2023|Lab PM 3]] | ||
+ | * [[https://ocw.cs.pub.ro/courses/pm/lab/lab5-2023|Lab PM 5]] | ||
+ | * [[https://ocw.cs.pub.ro/courses/pm/lab/lab6-2022|Lab PM 6]] | ||
+ | * [[https://www.youtube.com/watch?v=jGoKdF8r7as|Creare aplicatie Android]] | ||
+ | * [[https://www.youtube.com/watch?v=8GI17HWXdRI&list=LL&index=27&t=94s|Reglare contrast LCD]] | ||
<html><a class="media mediafile mf_pdf" href="https://ocw.cs.pub.ro/courses/pm/prj2023/iotelea/bionic_hand?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="https://ocw.cs.pub.ro/courses/pm/prj2023/iotelea/bionic_hand?do=export_pdf">Export to PDF</a></html> | ||