Differences

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

Link to this comparison view

pm:prj2024:mdinica:gabriela.limberea [2024/05/19 23:28]
gabriela.limberea [Hardware Design] - fix schematic
pm:prj2024:mdinica:gabriela.limberea [2024/05/26 19:18] (current)
gabriela.limberea [Hardware Design]
Line 5: Line 5:
  
 ===== Descriere generală ===== ===== Descriere generală =====
- 
-<note tip> 
-O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează. 
- 
-Exemplu de schemă bloc: http://​www.robs-projects.com/​mp3proj/​newplayer.html 
-</​note>​ 
  
 Microcontrolerul Arduino va fi componenta principala a proiectului. Acesta va primi input de la chitara prin mufa jack, amplitudinea semnalului fiind marita cu ajutorul amplificatorului operational. Utilizatorul va trebui sa aleaga ce coarda vrea sa acordeze, folosind butoanele si urmarind mesajele de pe ecranul LCD, pentru a stabili frecventa de referinta a semnalului. In functie de cat de cat de dezacordata este coarda, LED-ul se va comporta astfel: Microcontrolerul Arduino va fi componenta principala a proiectului. Acesta va primi input de la chitara prin mufa jack, amplitudinea semnalului fiind marita cu ajutorul amplificatorului operational. Utilizatorul va trebui sa aleaga ce coarda vrea sa acordeze, folosind butoanele si urmarind mesajele de pe ecranul LCD, pentru a stabili frecventa de referinta a semnalului. In functie de cat de cat de dezacordata este coarda, LED-ul se va comporta astfel:
Line 29: Line 23:
  
 ===== Hardware Design ===== ===== Hardware Design =====
- 
-<note tip> 
-Aici puneţi tot ce ţine de hardware design: 
-  * listă de piese 
-  * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri,​ e.g. http://​www.captain.at/​electronic-atmega16-mmc-schematic.png) 
-  * diagrame de semnal ​ 
-  * rezultatele simulării 
-</​note>​ 
  
 {{:​pm:​prj2024:​mdinica:​gabriela.limberea:​schematic2.png?​700|}} {{:​pm:​prj2024:​mdinica:​gabriela.limberea:​schematic2.png?​700|}}
Line 59: Line 45:
   * [[https://​www.ti.com/​lit/​ds/​symlink/​txs0108e.pdf?​ts=1715831820872&​ref_url=https%253A%252F%252Fwww.google.com%252F|8bit Level Shifter TXS0108E]]   * [[https://​www.ti.com/​lit/​ds/​symlink/​txs0108e.pdf?​ts=1715831820872&​ref_url=https%253A%252F%252Fwww.google.com%252F|8bit Level Shifter TXS0108E]]
   * Baterii   * Baterii
 +
 +Cablaj:
 +{{ :​pm:​prj2024:​mdinica:​gabriela.limberea:​cablaj-unrefined.jpg?​200 |}}
 ===== Software Design ===== ===== Software Design =====
  
 +[[https://​github.com/​Gabi-Limberea/​PM-Fair|Source Code]]
 +
 +Mediu de dezvoltare: PlatformIO (VSCode)
 +
 +Surse folosite: [[https://​www.instructables.com/​Arduino-Frequency-Detection/​|Arduino-Frequency-Detection]]
 +
 +Codul este structurat pe mai multe fisiere sursa, astfel incat sa exista o separare a componentelor. In mare, tuner-ul este compus din 2 parti software importante.
 +
 +  - Preluarea input-ului de la utilizator prin butoane, astfel setand si afisand frecventa de referinta si generarea output-ului la ecran
 +  - Preluarea semnalului analogic de la chitara, determinarea frecventei si compararea acesteia cu frecventa de referinta  ​
 +
 +**Input utilizator:​** ​
 +  * Pentru a prelua input-ul de la butoane se folosesc intreruperile ''​INT0''​ si ''​INT1''​. Ele modifica o variabila in care se tine minte ce frecventa de referinta se foloseste
 +  * Din ''​loop()''​ se scrie pe ecran, folosind biblioteca ''​Adafruit_ST7735.h''​ pentru comunicarea prin SPI, ce frecventa (deci ce coarda) este selectata.
  
-<note tip> +**Input chitara:** 
-Descrierea codului aplicaţiei (firmware)+  * Implementarea este aproape identica cu cea din sursa mentionata mai susPentru a mari sampling rate-ul de la 8000Hz la ~40KHzs-a renuntat la folosirea functiei ''​analogRead()''​ si s-a scazut rezolutia de la 1023 la 255 
-  * mediu de dezvoltare (if any) (e.gAVR StudioCodeVisionAVR) +  * Atunci cand o intrerupere de conversie ADC este generata, se citeste semnalul din ''​ADCH''​ si apoi se calculeaza perioada si amplitudinea semnalului primit, ​care sunt salvate in variabile dedicate 
-  * librării şi surse 3rd-party (e.g. Procyon AVRlib+  * In ''​loop()'',​ daca amplitudinea semnalului este peste un threshold dat, atunci se va calcula frecventa si se va compara cu referinta. In functie de rezultatul comparatiei,​ led-ul RGB se va aprinde appropriately.
-  * algoritmi şi structuri pe care plănuiţi să le implementaţi +
-  * (etapa 3surse şi funcţii implementate +
-</​note>​+
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
pm/prj2024/mdinica/gabriela.limberea.1716150495.txt.gz · Last modified: 2024/05/19 23:28 by gabriela.limberea
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