Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2023:gpatru:maria_teona.olteanu [2023/05/30 06:06]
maria_teona.olteanu [Software Design]
pm:prj2023:gpatru:maria_teona.olteanu [2024/04/01 10:16] (current)
maria_teona.olteanu [Download]
Line 62: Line 62:
 Senzorii au o impedanta de iesire foarte mare (aprox. 110K - 120K), iar in momentul in care vreau sa citesc la rand mai multi senzori conectati la pinii analogici am nevoie de un delay destul mare (cel putin o secunda) pentru a face esantionari corecte. Acest lucru este cauzat de faptul ca ADC-ul ATmega328P este optimizat pentru semnale analogice de maxim 10K Ohm, iar daca impedanta este mai mare timpul de esantionare depinde de durata de incarcare a condensatorului intern (vezi [[https://​ocw.cs.pub.ro/​courses/​_media/​pm/​atmel-7810-automotive-microcontrollers-atmega328p_datasheet.pdf| datasheet]] - 23.6.1 Analog Input Circuitry). Senzorii au o impedanta de iesire foarte mare (aprox. 110K - 120K), iar in momentul in care vreau sa citesc la rand mai multi senzori conectati la pinii analogici am nevoie de un delay destul mare (cel putin o secunda) pentru a face esantionari corecte. Acest lucru este cauzat de faptul ca ADC-ul ATmega328P este optimizat pentru semnale analogice de maxim 10K Ohm, iar daca impedanta este mai mare timpul de esantionare depinde de durata de incarcare a condensatorului intern (vezi [[https://​ocw.cs.pub.ro/​courses/​_media/​pm/​atmel-7810-automotive-microcontrollers-atmega328p_datasheet.pdf| datasheet]] - 23.6.1 Analog Input Circuitry).
  
-Am rezolvat aceasta problema conectand la fiecare iesire a senzorului ​un condensator de 100nF legat la masa pentru a micsora impedanta.+Am rezolvat aceasta problema conectand la fiecare iesire a senzorilor ​un condensator de 100nF legat la masa pentru a micsora impedanta.
 <​html><​center></​html>​ <​html><​center></​html>​
 {{:​pm:​prj2023:​gpatru:​condensator_mariateona.jpeg?​300|}}<​html></​center></​html>​ {{:​pm:​prj2023:​gpatru:​condensator_mariateona.jpeg?​300|}}<​html></​center></​html>​
Line 84: Line 84:
 </​note>​ </​note>​
  
-Am incercat sa mapez gradul de indoire al degetelor in functie de outputul analog al senzorilor, stiind rezistenta acestora si tensiunea de intrare, dar senzorii nu permit acest lucru: aproximativ pentru orice tip de flexare acestia ​are aceleasi valori.\\+=== Senzori de indoire === 
 +Am incercat sa mapez gradul de indoire al degetelor in functie de outputul analog al senzorilor, stiind rezistenta acestora si tensiunea de intrare, dar senzorii nu permit acest lucru: aproximativ pentru orice tip de flexare acestia ​au aceleasi valori.\\ 
 Asadar, am stabilit daca degetele sunt indoite sau nu, calculand valorile medii primite de la senzori si determinand daca acestea se afla peste un prag care semnaleaza flexarea. Asadar, am stabilit daca degetele sunt indoite sau nu, calculand valorile medii primite de la senzori si determinand daca acestea se afla peste un prag care semnaleaza flexarea.
  
-<​html>​ +<​html>​<​center>​<​iframe ​width="​560"​ height="​315" ​src="​https://​www.youtube.com/​embed/​w2z7MWLmrIo"​ title="​YouTube video player"​ frameborder="​0"​ allow="​accelerometer;​ autoplay; clipboard-write;​ encrypted-media;​ gyroscope; picture-in-picture;​ web-share"​ allowfullscreen></​iframe>​</​center>​</​html>​
-  ​<​iframe ​ +
-    ​src="​https://​youtu.be/​w2z7MWLmrIo" ​ +
-    ​title="​YouTube video player" ​ +
-    ​frameborder="​0" ​ +
-    ​allow="​accelerometer;​ autoplay; clipboard-write;​ encrypted-media;​ gyroscope; picture-in-picture;​ web-share" ​ +
-    ​allowfullscreen +
-    style="​aspect-ratio:​ 16/9; width: 100%;"​ +
-  ​></​iframe>​ +
-</​html>​+
  
 +=== MPU9250 ===
 +
 +Inainte de a utiliza manusa pentru a traduce gesturile, se realizeaza conexiunea I2C si senzorul accelerometru si giroscop este calibrat. De fiecare data cand sezorul inregistreaza date noi acestea sunt interpretate.
 +
 +Pentru a determina ce valori ale accelerometrului trebuie sa folosesc pentru a traduce anumite semne am testat si esantionat mai multe miscari in prealabil.
 +
 +=== Bluetooth ===
 +Pentru a realiza conexiunea dintre Arduino si telefonul mobil am folosit aplicatia Serial Bluetooth Terminal.\\
 +Interpretarea comenzilor primite de la telefon este implementata in **serial_com.h**.
 +
 +
 +=== Flow ===
 Device-ul functioneaza pe baza unui FSM, acesta se poate afla in urmatoarele stari:\\ Device-ul functioneaza pe baza unui FSM, acesta se poate afla in urmatoarele stari:\\
   * **STATE_WAIT_INPUT**:​ Asteapta sa primeasca input de la modulul Bluetooth.   * **STATE_WAIT_INPUT**:​ Asteapta sa primeasca input de la modulul Bluetooth.
Line 107: Line 112:
   * **STATE_UNDEFINED**:​ Utilizatorul ste anuntat ca a folosit semnul gresit. Device-ul trece in starea de recalibrare   * **STATE_UNDEFINED**:​ Utilizatorul ste anuntat ca a folosit semnul gresit. Device-ul trece in starea de recalibrare
  
-  * **STATE_RECALIBRATE**:​ In urma unei traduceri, device-ul este recalibrat timp de 4 secunde pentru a asigura faptul ca senzorii de indoire nu vor fi aafectati ​de semnul anterior. Device-ul asteapta un nou input (STATE_WAIT_INPUT).+  * **STATE_RECALIBRATE**:​ In urma unei traduceri, device-ul este recalibrat timp de 4 secunde pentru a asigura faptul ca senzorii de indoire nu vor fi afectati ​de semnul anterior. Device-ul asteapta un nou input (STATE_WAIT_INPUT).
  
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
 +<​html><​center></​html>​
 +{{:​pm:​prj2023:​gpatru:​final_mariateona.jpeg?​400|}}
 +<​html></​center></​html>​
  
 +Am implementat un device ce recunoaste daca un utilizator a folosit sau nu semnul/​semnele corecte pentru un input dat. Acest proiect isi indeplineste rolul de instrument educativ - se pot exersa urmatoarele cuvinte/​fraze:​ 
 +  * **Thank You** 
 +  * **Hello** 
 +  * **I love you** 
 +  * **Yes** 
 +  * **Welcome** 
 +  * **You**
 ===== Concluzii ===== ===== Concluzii =====
  
-===== Download =====+Proiectul faciliteaza invatarea limbajului semnelor. Acesta este util pentru oamenii care folosesc limbajul semnelor in viata de zi cu zi, cum ar fi profesori, kinetoterapeuti sau cei ce au persoane cu nevoi speciale in familie. ​
  
 +De asemenea, acest device este un prototip de recunoastere a miscarii, ce poate fi folosit atat in medicina, cat si industria jocurilor sau pentru control automat.
  
  
pm/prj2023/gpatru/maria_teona.olteanu.1685416019.txt.gz · Last modified: 2023/05/30 06:06 by maria_teona.olteanu
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