This is an old revision of the document!


Sign Language Glove

  • Nume: Alexandru Mihai
  • Grupă: 333CA

Introducere

Proiectul își propune realizarea unei mănuși capabile să identifice semnele specifice ASL (American Sign Language). În funcție de postura mâinii purtătorului, se va afișa pe ecran litera corespunzătoare semnului interpretat.

Acest proiect este util, considerând că la momentul actual există un suport tehnologic limitat pentru persoanele cu deficiențe auditive în vederea comunicării cu alte persoane care nu cunosc limbajul. În plus, acest proiect prezintă o foarte mare scalabilitate, putând fi introduse noi semne sau mecanisme în vederea învățării autonome a unor expresii din limbaj.

Descriere generală

Dispozitivul are 3 componente principale:

  • 5 flex sensors - care își modifică rezistența internă în funcție de gradul de arcuire. Folosiți în maparea semnalelor electrice pentru a descrie litera corespunzătoare.
  • Microcontroller (Arduino UNO) - realizează procesarea semnalelor primite de la senzori, identificarea literei corespunzătoare, cât și transmiterea informației către display-ul LCD.
  • Display - afișează litera corespunzătoare semnului procesat.

În vederea realizării proiectului vor exista 2 etape principale.

Prima dată va fi necesară eșantionarea datelor primite de la senzori în vederea determinării rezistențelor ce definesc semnele interpretate. Datele vor fi prelucrate, interpretând valorile medii pentru fiecare semn reprezentat, cât și eroarea absolută permisă pentru fiecare semn. Din punct de vedere tehnic, vor fi utilizate lucrul cu timere în vederea obținerii unor date relevante regulat.

A doua etapă este cea de recunoaștere, în care se vor prelucra semnalele primite de la flex sensors și se va încerca maparea lor pe unul dintre semnele învățate anterior.

Hardware Design

Componente utilizate:

  • Arduino UNO
  • 5 rezistențe 10kOhm
  • Breadboard
  • 5 flex sensors
  • LCD display

Schema Circuitului

Schema Electrica

Descrierea circuitului

Alimentarea se realizează prin intermediul USB-ului integrat în placa microcontroller-ului și generează o tensiune de 5V pentru toate componentele sistemului.

Pinii analogici ai microcontroller-ului (A0-A4) determină tensiunea corespunzătoare care cade peste fiecare flex sensor. Pentru a măsura tensiunea corespunzătoare fiecare flex sensor este pus în serie cu o rezistență de 10kOhm, creându-se astfel un divizor de tensiune ce determină semnalul analogic preluat.

Pinii digitali ai microcontroller-ului (D7-D12) sunt legați la display-ul LCD pentru a putea afișa pe ecran litera dorită. Momentan circuitul este configurat pentru a afișa 'Unknown' în cazul în care litera nu este recunoscută sau 'A' în cazul în care se recunoaște aceasta literă. În plus, pentru a regla intensitatea display-ului LCD, am adăugat un potențiometru pe care l-am reglat astfel încât informația afișată să fie clară.

Decizii de implementare hardware

Am decis a coase flex senzorii de mănușă pentru a asigura totuși o mobilitate corespunzătoare mâinii (în cazul în care aceștia ar fi fost lipiți de mănușă, mișcarea ar fi fost limitată și ar fi putut să se rupă). Cablarea a constituit o problemă pentru că pinii senzorilor sunt foarte fragili și lipirea lor efectivă cu pastă conductoare nu a adus rezultatul dorit (nu se închidea circuitul). Așadar am ales de a sertiza 3 dintre senzorii, iar ceilalți 2 au fost lipiți simplu pentru a fixa cablurile de senzori.

Software Design

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

Rezultate Obţinute

Concluzii

Download

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.

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2024/amocanu/alexandru.mihai02.1715543118.txt.gz · Last modified: 2024/05/12 22:45 by alexandru.mihai02
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0