Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
ARDUINO
AFINADOR DE
GUITARRA
1. Objetivos..3
2. Justificacin...3
3. Ejecucin del proyecto....... 3
a. Material.. 3
b. Montaje4
4. Plan de Trabajo ..4
a. Diseo4
b. Software..5
5. Presupuesto5
6. Funcionamiento .6
7. Mejoras....6
8. Esquemas.7
9. Programa..10
10.Bibliografa.... 26
2
OBJETIVO DEL PROYECTO
JUSTIFICACIN
Tener un afinador en casa para en cualquier momento poder afinar la guitarra,
evitando la necesidad de llevarla a un profesional, consiguiendo un ahorro econmico y de
tiempo de esperas.
MATERIAL
Resistencia 470 k
2 Resistencias 2K3
Interruptor
Arduino Uno
Placa Conexiones
3
MONTAJE
PLAN DE TRABAJO
DISEO
lcd.createChar(1, flecha_der_vacio);
4
Lo siguiente fue buscar informacin de cmo poder detectar la frecuencia de entrada
con arduino, es necesario la librera FreqMeasure, en el siguiente enlace muestra el circuito
necesario y el programa: http://www.pjrc.com/teensy/td_libs_FreqMeasure.html
SOFTWARE
La parte del software que sirve para detectar la frecuencia y asignarla es un bucle, y
dependiendo del valor entra en otro if donde se imprime en la pantalla mediante flechas si la
cuerda de la guitarra esta afinada. Las frecuencias de las notas son las siguientes:
CUERDAS FRECUENCIA( Hz )
1 Cuerda ( Mi ) 329,63 Hz
PRESUPUESTO
COMPONENTE UNIDAD PRECIO
Interruptor 1 1.09
TOTAL 54.89
5
FUNCIONAMIENTO
El afinador funciona de la siguiente manera:
Relacin Notas:
MEJORAS
El proyecto se podra ampliar y mejorar:
- Aadiendo un pequeo altavoz para poder reproducir el sonido para poder afinar de
odo.
- Aadiendo un men para poder elegir la afinacin de las cuerdas , actualmente solo se
puede afinar de la manera Estndar(EADGBE). Que se corresponde a 440Hz que es la
nota LA en el 5 traste de la primera cuerda.
- Aadiendo un micrfono para poder afinar si la necesidad de conectar la guitarra con
cable.
6
ESQUEMAS
7
Esquema Arduino
8
Placa Arduino
9
PROGRAMA
/*
AFINADOR DE GUITARRA
*/
#include <FreqMeasure.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
/*
*/
/*
10
5ta (A): 110,00 Hz
*/
void setup()
Serial.begin(9600);
FreqMeasure.begin();
lcd.init();
lcd.backlight();
/*
*/
lcd.createChar(1, flecha_der_vacio);
lcd.createChar(2, flecha_izq_vacio);
lcd.createChar(3, flecha_der_lleno);
lcd.createChar(4, flecha_izq_lleno);
lcd.createChar(5, cuadrado_vacio);
lcd.createChar(6, cuadrado_lleno);
lcd.home();
lcd.setCursor(4,0);
lcd.print("Afinador");
lcd.setCursor(1,1);
delay(2500);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Nota = ");
inicio();
11
double sum=0;
int count=0;
double frequency ;
void loop(),
if (FreqMeasure.available()) ,
count = count + 1;
//Serial.println(frequency);
afinador(frequency);
sum = 0;
count = 0;
Serial.println(frequency);
inicio();
lcd.setCursor(0,0);
lcd.print("Nota = ");
lcd.print("1E");
12
primera_flecha();
segunda_flecha();
tercera_flecha();
cuarta_flecha();
centro();
quinta_flecha();
sexta_flecha();
septima_flecha();
13
,
octava_flecha();
inicio();
lcd.setCursor(0,0);
lcd.print("Nota = ");
lcd.print("2B");
primera_flecha();
segunda_flecha();
tercera_flecha();
cuarta_flecha();
centro();
14
-
quinta_flecha();
sexta_flecha();
septima_flecha();
octava_flecha();
inicio();
lcd.setCursor(0,0);
lcd.print("Nota = ");
lcd.print("3G");
primera_flecha();
15
segunda_flecha();
tercera_flecha();
cuarta_flecha();
centro();
quinta_flecha();
sexta_flecha();
septima_flecha();
octava_flecha();
16
if ((frequency >142) && (frequency <=151))
inicio();
lcd.setCursor(0,0);
lcd.print("Nota = ");
lcd.print("4D");
primera_flecha();
segunda_flecha();
tercera_flecha();
cuarta_flecha();
centro();
quinta_flecha();
17
if ((frequency >148) && (frequency <=149))
sexta_flecha();
septima_flecha();
octava_flecha();
inicio();
lcd.setCursor(0,0);
lcd.print("Nota = ");
lcd.print("5A");
primera_flecha();
segunda_flecha();
tercera_flecha();
18
if ((frequency >108) && (frequency <=109))
cuarta_flecha();
centro();
quinta_flecha();
sexta_flecha();
septima_flecha();
octava_flecha();
inicio();
lcd.setCursor(0,0);
lcd.print("Nota = ");
19
lcd.print("6E");
primera_flecha();
segunda_flecha();
tercera_flecha();
cuarta_flecha();
centro();
quinta_flecha();
sexta_flecha();
20
septima_flecha();
octava_flecha();
lcd.setCursor(4, 1);
lcd.write(3);
lcd.write(1);
lcd.write(1);
lcd.write(1);
lcd.write(5);
lcd.setCursor(9,1);
lcd.write(2);
lcd.write(2);
lcd.write(2);
lcd.write(2);
void segunda_flecha(),
lcd.setCursor(4, 1);
lcd.write(1);
lcd.write(3);
lcd.write(1);
21
lcd.write(1);
lcd.write(5);
lcd.setCursor(9,1);
lcd.write(2);
lcd.write(2);
lcd.write(2);
lcd.write(2);
void tercera_flecha(),
lcd.setCursor(4, 1);
lcd.write(1);
lcd.write(1);
lcd.write(3);
lcd.write(1);
lcd.write(5);
lcd.setCursor(9,1);
lcd.write(2);
lcd.write(2);
lcd.write(2);
lcd.write(2);
void cuarta_flecha(),
lcd.setCursor(4, 1);
lcd.write(1);
lcd.write(1);
lcd.write(1);
22
lcd.write(3);
lcd.write(5);
lcd.setCursor(9,1);
lcd.write(2);
lcd.write(2);
lcd.write(2);
lcd.write(2);
void centro(),
lcd.setCursor(4, 1);
lcd.write(1);
lcd.write(1);
lcd.write(1);
lcd.write(1);
lcd.write(6);
lcd.setCursor(9,1);
lcd.write(2);
lcd.write(2);
lcd.write(2);
lcd.write(2);
void quinta_flecha(),
lcd.setCursor(4, 1);
lcd.write(1);
lcd.write(1);
lcd.write(1);
lcd.write(1);
23
lcd.write(5);
lcd.setCursor(9,1);
lcd.write(4);
lcd.write(2);
lcd.write(2);
lcd.write(2);
void sexta_flecha(),
lcd.setCursor(4, 1);
lcd.write(1);
lcd.write(1);
lcd.write(1);
lcd.write(1);
lcd.write(5);
lcd.setCursor(9,1);
lcd.write(2);
lcd.write(4);
lcd.write(2);
lcd.write(2);
void septima_flecha(),
lcd.setCursor(4, 1);
lcd.write(1);
lcd.write(1);
lcd.write(1);
lcd.write(1);
lcd.write(5);
24
lcd.setCursor(9,1);
lcd.write(2);
lcd.write(2);
lcd.write(4);
lcd.write(2);
void octava_flecha(),
lcd.setCursor(4, 1);
lcd.write(1);
lcd.write(1);
lcd.write(1);
lcd.write(1);
lcd.write(5);
lcd.setCursor(9,1);
lcd.write(2);
lcd.write(2);
lcd.write(2);
lcd.write(4);
void inicio(),
lcd.setCursor(4, 1);
lcd.write(1);
lcd.write(1);
lcd.write(1);
lcd.write(1);
lcd.write(5);
lcd.setCursor(9,1);
lcd.write(2);
25
lcd.write(2);
lcd.write(2);
lcd.write(2);
BIBLIOGRAFIA
La informacin fue sacada de diferentes pginas de internet:
- http://www.pjrc.com/teensy/td_libs_FreqMeasure.html
- http://www.arduino.cc
- http://arduino.cc/forum/
26