Cómo hacer un afinador de guitarra Arduino: 4 pasos
Cómo hacer un afinador de guitarra Arduino: 4 pasos
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: