This shows you the differences between two versions of the page.
pm:prj2024:alucaci:iulia.sandulescu [2024/05/05 17:43] iulia.sandulescu |
pm:prj2024:alucaci:iulia.sandulescu [2024/05/27 12:21] (current) iulia.sandulescu |
||
---|---|---|---|
Line 2: | Line 2: | ||
===== Introducere ===== | ===== Introducere ===== | ||
- | <note tip> | + | |
* Proiectul constă intr-o mănușă cu senzori capabilă să transforme gesturile mâinii în text și în vorbire. | * Proiectul constă intr-o mănușă cu senzori capabilă să transforme gesturile mâinii în text și în vorbire. | ||
- | * Scopul acestui proiect este sa faciliteze legatura dintre **comunicarea verbala** si **non-verbala.** | + | * Scopul acestui proiect este sa faciliteze legatura dintre **comunicarea verbală** si **non-verbală.** |
* Mulți oameni nu pot vorbi și folosesc adesea limbajul semnelor pentru a comunica cu ceilalți, însă nu toată lumea cunoaște limbajul semnelor. | * Mulți oameni nu pot vorbi și folosesc adesea limbajul semnelor pentru a comunica cu ceilalți, însă nu toată lumea cunoaște limbajul semnelor. | ||
* Această mănușă poate fi purtată de persoanele care nu pot vorbi și le permită sa comunice cu restul lumii, doborând această barieră invizibilă. | * Această mănușă poate fi purtată de persoanele care nu pot vorbi și le permită sa comunice cu restul lumii, doborând această barieră invizibilă. | ||
- | </note> | + | |
===== Descriere generală ===== | ===== Descriere generală ===== | ||
- | <note tip> | + | |
- | Funcționează prin recunoașterea gesturilor făcute manual cu ajutorul senzorilor flexi plasați pe degete: senzorul flex își variază rezistența în funcție de cât de mult este îndoit un deget. Rezistența este detectată de Arduino și pe baza valorii a fiecărui senzor, se recunoaște litera indicată. Atât senzorii, cât și microcontrollerul vor fi montați peste o mănușă normală pentru o a fi cât mai ușor de folosit. | + | Funcționează prin recunoașterea gesturilor făcute manual cu ajutorul senzorilor flexi plasați pe degete: senzorul flex își variază rezistența în funcție de cât de mult este îndoit un deget. Rezistența este detectată de Arduino și pe baza valorii a fiecărui senzor, se recunoaște litera indicată. Atât senzorii, cât și microcontrollerul vor fi montați peste o mănușă normală pentru a fi cât mai ușor de folosit. |
- | Pentru început, proiectul își propune înțelegerea alfabetului limbajului semnelor american( ASL:https://en.wikipedia.org/wiki/American_Sign_Language) | + | Pentru început, proiectul își propune înțelegerea alfabetului limbajului semnelor american( ASL:https://en.wikipedia.org/wiki/American_Sign_Language). Pentru unele litere, vom avea nevoie si de un accelerometru pentru a determina miscarea mainii. |
{{:pm:prj2024:alucaci:capture.png?200|}} | {{:pm:prj2024:alucaci:capture.png?200|}} | ||
- | </note> | + | |
===== Hardware Design ===== | ===== Hardware Design ===== | ||
- | <note tip> | ||
Lista piese: | Lista piese: | ||
*Arduino Uno, bazat pe ATmega328P | *Arduino Uno, bazat pe ATmega328P | ||
*Senzori flex de 5.5 cm | *Senzori flex de 5.5 cm | ||
+ | *Accelerometru ADXL335 | ||
*Breadbord | *Breadbord | ||
*Fire | *Fire | ||
- | </note> | + | |
+ | {{:pm:prj2024:alucaci:whatsapp.jpeg?200|}} | ||
+ | {{:pm:prj2024:alucaci:whatsapp_image_2024-05-16_at_23.43.26.jpeg?200|}}{{:pm:prj2024:alucaci:whatsapp_image_2024-05-16_at_23.43.25.jpeg?200|}} | ||
{{:pm:prj2024:alucaci:63613b20-cea6-43c2-958f-5f31ed29ad60_1_.png?200|}} | {{:pm:prj2024:alucaci:63613b20-cea6-43c2-958f-5f31ed29ad60_1_.png?200|}} | ||
+ | {{:pm:prj2024:alucaci:diagram.png?200|}} | ||
===== Software Design ===== | ===== Software Design ===== | ||
+ | *Codul începe prin includerea bibliotecii SoftwareSerial. | ||
+ | *Definește pini analogici pentru cei cinci senzori de flexiune (câte unul pentru fiecare deget) și pentru accelerometru. | ||
+ | *În funcția setup(), fiecare senzor de flexiune citește valorile inițiale pentru a stabili intervalele minime și maxime ale senzorului în scop de calibrare. | ||
+ | *Valorile restricționate sunt apoi mapate la un unghi corespunzător (0 până la 90 de grade), reprezentând îndoirea fiecărui deget. | ||
+ | *Sunt obținute citirile accelerometrului pentru axele x și y pentru a determina orientarea mâinii (orizontală, verticală sau în echilibru). | ||
+ | *Pe baza unghiurilor degetelor și a orientării mâinii, sunt verificate condiții specifice pentru a identifica caracterele ASL. | ||
+ | *Fiecare condiție corespunde unui gest unic ASL. Când un gest este recunoscut, litera corespunzătoare este afișată pe monitorul serial. | ||
- | <note tip> | + | Implementarea poate fi gasita aici: https://drive.google.com/file/d/1kj2yCCvkKIrVX1yWUBFASoIVH_99-tg0/view?usp=drive_link |
- | Descrierea codului aplicaţiei (firmware): | + | |
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | |
- | * (etapa 3) surse şi funcţii implementate | + | |
- | </note> | + | |
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
- | <note tip> | + | Mănușa dezvoltată în acest proiect a demonstrat capacitatea de a cuantifica îndoirea fiecărui deget și de a detecta orientarea și mișcarea rotațională a mâinii. Aceste funcționalități sunt esențiale pentru recunoașterea semnelor limbajului american al semnelor (ASL), permițând o reprezentare precisă a pozițiilor și mișcărilor degetelor și mâinii. |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
- | </note> | + | |
- | ===== Concluzii ===== | + | Fiecare dintre cei cinci senzori flexi (Flex-Sensors) a fost calibrat pentru a măsura unghiurile de îndoire a degetelor de la 0 la 90 de grade. Acest interval a permis interpretarea corectă a diferitelor poziții ale degetelor necesare pentru formarea literelor din ASL. |
+ | Accelerometrul și giroscopul MPU-6050 montat pe dosul mâinii au furnizat date esențiale despre orientarea și mișcările rotaționale ale mâinii. | ||
- | ===== Download ===== | + | Codul implementat pe Arduino Nano a fost capabil să interpreteze combinațiile de unghiuri ale degetelor pentru a reprezenta literele ASL. Fiecare literă a fost definită printr-o combinație specifică de unghiuri, permițând astfel recunoașterea automată și corectă a literelor formate de utilizator. |
- | <note warning> | + | ===== Concluzii ===== |
- | O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-). | + | |
- | Fişierele se încarcă pe wiki folosind facilitatea **Add Images or other files**. Namespace-ul în care se încarcă fişierele este de tipul **:pm:prj20??:c?** sau **:pm:prj20??:c?:nume_student** (dacă este cazul). **Exemplu:** Dumitru Alin, 331CC -> **:pm:prj2009:cc:dumitru_alin**. | + | |
- | </note> | + | Proiectul mănușii senzoriale a demonstrat cu succes cum tehnologia poate fi utilizată pentru a facilita comunicarea non-verbală prin recunoașterea precisă a gesturilor ASL. Integrarea senzorilor flexi și a accelerometrului, împreună cu prelucrarea eficientă a datelor printr-un microcontroler Arduino Nano, a permis dezvoltarea unui sistem funcțional și eficient. Acesta reprezintă un pas important către dispozitive portabile de asistență și comunicare pentru persoanele cu deficiențe de auz și vorbire. |
===== Jurnal ===== | ===== Jurnal ===== | ||
- | <note tip> | + | * Am montat cei cinci senzori flexi pe fiecare deget al mănușii conform diagramelor și instrucțiunilor. |
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | * Fiecare senzor a fost conectat la câte un pin analogic pe Arduino Nano, împreună cu o rezistență de 10kΩ pentru măsurarea variațiilor de rezistență. |
- | </note> | + | * Am montat accelerometrul MPU-6050 pe dosul mănușii pentru a monitoriza orientarea și mișcarea rotațională a mâinii. |
+ | * Inițial, unul dintre senzorii flexi nu a funcționat corect. După verificarea conexiunilor, s-a constatat că era un contact imperfect care a fost rezolvat prin re-sudare. | ||
+ | * La lipirea firelor, am stricat din greșeală conexiunile la doi senzori diferiți, fiind nevoită să mai comand încă doi. | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
- | <note> | + | https://www.brightsignglove.com/ |
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | |
- | </note> | + | https://newsroom.ucla.edu/releases/glove-translates-sign-language-to-speech |
<html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||