Arduino Guitar Tuner

Introducere

În cadrul acestui proiect, am utilizat metoda Amandei Ghassaei pentru detectarea frecvenței cu Arduino, pentru a obține citiri precise ale frecvenței sunetului. Proiectul constă într-un acordor de chitară care folosește LED-uri pentru a indica frecvența sunetului, semnalizând dacă coarda este prea înaltă, prea joasă sau bine acordată.

Descriere generală

Hardware Design

  • Arduino Uno: Este placa principală de dezvoltare folosită pentru a citi semnalele de intrare de la chitara electrică și pentru a controla LED-urile care indică dacă o coardă este acordată corect.
  • TL082 Dual JFET Input Op Amp: Acesta este un amplificator operațional cu două intrări JFET (Tranzistor de Efect de Câmp cu Joncțiune), folosit pentru amplificarea semnalului audio de la chitara electrică.
  • LED-uri de 5mm (galbene, roșii, verzi): LED-urile sunt utilizate pentru a indica dacă o coardă este prea ascuțită, prea gravă sau corect acordată.
  • Rezistoare de 150 Ohm: Rezistoarele sunt folosite pentru a limita curentul prin LED-uri pentru a preveni deteriorarea acestora.
  • Baterii de 9V și conectori pentru baterii de 9V: Folosite pentru a alimenta circuitul.
  • Mufă de alimentare tip M: Conectează alimentarea la Arduino.
  • Comutator SPST Rocker: Utilizat pentru a porni și opri circuitul.
  • Jack audio mono de 1/4 inch: Jack-ul de intrare pentru conectarea chitarei electrice la tuner.
  • Plăci de circuit imprimat (PCB) de diferite tipuri: Utilizate pentru montarea și conectarea componentelor electronice.
  • Rezistoare de 100kOhm și 22kOhm: Folosite în circuitele de amplificare și offset pentru ajustarea semnalului audio.
  • Condensatori de 10uF și 100nF: Folosiți pentru a filtra și a stabiliza semnalul audio.

Software Design

Codul implementat realizează următoarele:

  1. Citește semnalul audio de la chitara electrică.
  2. Detectează frecvența semnalului.
  3. Compară frecvența detectată cu frecvența țintă.
  4. Aprinde LED-ul corespunzător pentru a indica dacă coarda este corect acordată, prea gravă sau prea ascuțită.

Codul este organizat pentru a citi semnalul audio, a detecta frecvența acestuia și a afișa starea acordajului utilizând LED-uri. Acesta utilizează Arduino IDE pentru dezvoltare și se bazează pe algoritmi simpli pentru detecția frecvenței și afișarea rezultatului.

Mediul de Dezvoltare

Platformă Utilizată: Arduino IDE

Arduino IDE este un mediu de dezvoltare integrat folosit pentru programarea și încărcarea codului pe plăcile Arduino. Acesta oferă o interfață simplă și acces la multiple librării utile pentru proiecte de electronică și automatizări.

Librării și Surse 3rd-party

Librării incluse:

  • <Arduino.h>: Biblioteca de bază pentru dezvoltarea cu Arduino.
  • <math.h>: Biblioteca standard C pentru funcții matematice.

Algoritmi și Structuri

Algorimti utilizați:

  • Detecția Frecvenței: Algoritm simplu de măsurare a perioadei semnalului audio pentru a calcula frecvența.
  • Indicator Acordaj: Algoritm pentru afișarea stării acordajului utilizând LED-uri pe baza diferenței dintre frecvența detectată și frecvența țintă.

Structuri utilizate:

  • Funcții: Pentru modularizarea și organizarea codului.

Download

Rezultate obținute

Detecția Frecvenței Semnalului Audio:

  • Dispozitivul a reușit să măsoare frecvențele semnalului audio captate de microfonul conectat la pinul analogic al plăcii Arduino.
  • Algoritmul de detectare a frecvenței a furnizat citiri precise pentru frecvențele țintă corespunzătoare corzilor chitarei.

Indicatori Vizuali pentru Acordaj:

  • LED-urile (verde, galben, roșu) au indicat corect starea acordajului în funcție de diferența dintre frecvența detectată și cea țintă:
  • LED Verde: Acordaj corect (diferență în limita toleranței de ±1 Hz).
  • LED Galben: Frecvență prea mare.
  • LED Roșu: Frecvență prea mică.

Performanța Dispozitivului:

  • Dispozitivul a demonstrat stabilitate și consistență în citirea frecvenței și afișarea indicatorilor de acordaj.
  • Timpul de răspuns a fost adecvat, cu o întârziere de 500 ms între măsurători, asigurând o actualizare regulată a stării acordajului.

Utilizabilitate:

  • Unordered List ItemDispozitivul este ușor de utilizat: conectarea chitarei la microfon, citirea frecvenței și interpretarea stării acordajului prin simpla observare a LED-urilor.
  • Interfața simplă cu LED-uri oferă o experiență de utilizare intuitivă pentru chitariști.

Concluzii

Proiectul Arduino Guitar Tuner a demonstrat viabilitatea utilizării platformei Arduino pentru crearea unui acordor de chitară precis și accesibil. Algoritmul de detectare a frecvenței bazat pe FFT a oferit rezultate precise, iar indicatorii LED au furnizat un feedback clar utilizatorului.

Bibliografie/Resurse

pm/prj2024/apredescu/irene_mihaela.musat.txt · Last modified: 2024/05/30 15:43 by irene_mihaela.musat
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