Tabla de contenido:

Cómo hacer un afinador de guitarra Arduino: 4 pasos
Cómo hacer un afinador de guitarra Arduino: 4 pasos

Video: Cómo hacer un afinador de guitarra Arduino: 4 pasos

Video: Cómo hacer un afinador de guitarra Arduino: 4 pasos
Video: Experimento: Afinador digital usando arduino 2024, Noviembre
Anonim
Cómo hacer un afinador de guitarra Arduino
Cómo hacer un afinador de guitarra Arduino

Estas son las instrucciones para hacer un afinador de guitarra con un Arduino y varios otros componentes. Con conocimientos básicos de electrónica y codificación podrás hacer este afinador de guitarra.

Lo primero es lo primero que tienes que saber cuáles son los materiales.

Materiales:

- 1 Arduino (usé un Arduino 1)

- 1 pantalla LCD (16x2)

- 1 potenciómetro

- 1 micrófono electret

- 1 resistencia de 250 ohmios

- Varios alambres

-Soldador

- 1 piezo

Paso 1: Pasadores de soldadura

Pasadores para soldar
Pasadores para soldar

Lo primero que debe hacer es soldar los pines a la pantalla LCD, sin embargo, debe asegurarse de que estén soldados de la manera correcta. En la imagen de arriba, muestra qué pines deben conectarse y dónde. El pin GND debe ir conectado a un terminal del potenciómetro como en el diagrama de Tinkercad. (NOTA: Es muy importante que conecte los pines de la forma indicada, de lo contrario, el sintonizador no funcionará).

Paso 2: Conectando todo

Conectando Todo
Conectando Todo

Después de soldar los cables a la pantalla LCD, hay varios otros cables que debe conectar.

1.) Lo primero que debe hacer es conectar GND y 5V en el Arduino a la placa de prueba para que tenga energía. Luego conecte el electret al pin digital 7 y GND.

2.) Luego conecte el piezo a la placa de prueba para GND y conéctelo al pin digital 6.

3.) Después de que pase el potenciómetro, conecte el terminal 1 a una tira positiva en la placa y el terminal 2 a una tira GND en la placa, luego conecte el limpiador al pin de contraste en la pantalla LCD.

Paso 3: codificación

Codificación
Codificación

Una vez que haya conectado todo de la manera correcta, debe programar el sintonizador para que realmente haga su trabajo. A continuación se muestra el código

// incluye el código de la biblioteca: #include

// inicializar la biblioteca con los números de los pines de la interfaz LiquidCrystal lcd (12, 11, 5, 4, 3, 2);

int A = 440;

int B = 494;

int C = 523;

int D = 587;

int E = 659;

int F = 699;

int G = 784;

int highA = 880;

int zumbador = 8; int functionGenerator = A1;

configuración vacía () {

// configura el número de columnas y filas de la LCD:

lcd. comienzo (16, 2);

// Imprime un mensaje en la pantalla LCD.

lcd.print ("¡hola, mundo!");

Serial.begin (9600);

// borra todo en LCD, luego coloca el cursor, el printt

lcd.setCursor (0, 1); }

bucle vacío () {

Serial.println (analogRead (functionGenerator));

retraso (50);

// coloca el cursor en la columna 0, línea 1

// (nota: la línea 1 es la segunda fila, ya que el conteo comienza con 0):

if (analogRead (functionGenerator) == 450) {

lcd.clear ();

lcd.setCursor (8, 1);

tono (zumbador, 250);

lcd.print ("A");

retraso (1000);

} else if (analogRead (functionGenerator) == 494) {

lcd.clear ();

lcd.setCursor (8, 1);

tono (zumbador, 250);

lcd.print ("B");

retraso (1000);

} else if (analogRead (functionGenerator) == 523) {

lcd.clear ();

lcd.setCursor (8, 1);

tono (zumbador, 250);

lcd.print ("C");

retraso (1000);

} else if (analogRead (functionGenerator) == 587) {

lcd.clear ();

lcd.setCursor (8, 1);

tono (zumbador, 250);

lcd.print ("D");

retraso (1000);

} else if (analogRead (functionGenerator) == 659) {

lcd.clear ();

lcd.setCursor (8, 1);

tono (zumbador, 250);

lcd.print ("E");

retraso (1000);

} else if (analogRead (functionGenerator) == 699) {

lcd.clear ();

lcd.setCursor (8, 1);

tono (zumbador, 250);

lcd.print ("F");

retraso (1000);

} else if (analogRead (functionGenerator) == 784) {

lcd.clear ();

lcd.setCursor (8, 1);

tono (zumbador, 250);

lcd.print ("G");

retraso (1000);

} else if (analogRead (functionGenerator) == 880) {

lcd.clear ();

lcd.setCursor (8, 1);

tono (zumbador, 250);

lcd.print ("A");

retraso (1000);

} else if (analogRead (functionGenerator)> 400 && digitalRead (functionGenerator) <449) {

lcd.clear ();

lcd.setCursor (4, 1);

tono (zumbador, 250);

lcd.print ("A");

retraso (1000);

} else if (analogRead (functionGenerator)> 451 && digitalRead (functionGenerator) <470) {

lcd.clear ();

lcd.setCursor (12, 1);

tono (zumbador, 250);

lcd.print ("A");

retraso (1000);

} else if (analogRead (functionGenerator)> 471 && digitalRead (functionGenerator) <493) {

lcd.clear ();

lcd.setCursor (4, 1);

tono (zumbador, 250);

lcd.print ("B");

retraso (1000);

} else if (analogRead (functionGenerator)> 495 && digitalRead (functionGenerator) <509) {

lcd.clear ();

lcd.setCursor (12, 1);

tono (zumbador, 250);

lcd.print ("B");

retraso (1000);

} else if (analogRead (functionGenerator)> 509 && digitalRead (functionGenerator) <522) {

lcd.clear ();

lcd.setCursor (4, 1);

tono (zumbador, 250);

lcd.print ("C");

retraso (1000);

} else if (analogRead (functionGenerator)> 524 && digitalRead (functionGenerator) <556) {

lcd.clear ();

lcd.setCursor (12, 1);

tono (zumbador, 250);

lcd.print ("C");

retraso (1000);

} else if (analogRead (functionGenerator)> 557 && digitalRead (functionGenerator) <586) {

lcd.clear ();

lcd.setCursor (4, 1);

tono (zumbador, 250);

lcd.print ("D");

retraso (1000);

} else if (analogRead (functionGenerator)> 588 && digitalRead (functionGenerator) <620) {

lcd.clear ();

lcd.setCursor (12, 1);

tono (zumbador, 250);

lcd.print ("D");

retraso (1000);

} else if (analogRead (functionGenerator)> 621 && digitalRead (functionGenerator) <658) {

lcd.clear ();

lcd.setCursor (4, 1);

tono (zumbador, 250);

lcd.print ("E");

retraso (1000);

} else if (analogRead (functionGenerator)> 660 && digitalRead (functionGenerator) <679) {

lcd.clear ();

lcd.setCursor (12, 1);

tono (zumbador, 250);

lcd.print ("E");

retraso (1000);

} else if (analogRead (functionGenerator)> 680 && digitalRead (functionGenerator) <698) {

lcd.clear ();

lcd.setCursor (4, 1);

tono (zumbador, 250);

lcd.print ("F");

retraso (1000);

} else if (analogRead (functionGenerator)> 700 && digitalRead (functionGenerator) <742) {

lcd.clear ();

lcd.setCursor (12, 1);

tono (zumbador, 250);

lcd.print ("F");

retraso (1000);

} else if (analogRead (functionGenerator)> 743 && digitalRead (functionGenerator) <783) {

lcd.clear ();

lcd.setCursor (4, 1);

tono (zumbador, 250);

lcd.print ("G");

retraso (1000);

} else if (analogRead (functionGenerator)> 785 && digitalRead (functionGenerator) <845) {

lcd.clear ();

lcd.setCursor (12, 1);

tono (zumbador, 250);

lcd.print ("G");

retraso (1000);

} else if (analogRead (functionGenerator)> 846 && digitalRead (functionGenerator) <879) {

lcd.clear ();

lcd.setCursor (4, 1);

tono (zumbador, 250);

lcd.print ("A");

retraso (1000); }

else {noTone (zumbador); } retraso (10); }

Paso 4: conectarlo a la alimentación

Conectándolo a la energía
Conectándolo a la energía

Para el paso final, todo lo que necesita hacer es encontrar una fuente de alimentación y conectarla al Arduino, una que tenga y que pueda comenzar a usar el sintonizador.

Recomendado: