Com fer un sintonitzador de guitarra Arduino: 4 passos
Com fer un sintonitzador de guitarra Arduino: 4 passos
Anonim
Com fer un sintonitzador de guitarra Arduino
Com fer un sintonitzador de guitarra Arduino

Aquestes són les instruccions per fabricar un sintonitzador de guitarra amb un Arduino i diversos components més. Amb coneixements bàsics d’electrònica i codificació, podreu fabricar aquest sintonitzador de guitarra.

Primer de tot, primer cal saber quins són els materials.

Materials:

- 1 Arduino (he utilitzat un Arduino 1)

- 1 pantalla LCD (16x2)

- 1 potenciòmetre

- 1 micròfon Electret

- Resistència de 1 250 Ohm

- Diversos cables

-Soldador

- 1 Piezo

Pas 1: passadors de soldadura

Passadors de soldadura
Passadors de soldadura

El primer que heu de fer és soldar els pins a la pantalla LCD, però heu d’assegurar-vos que es soldin de la manera correcta. A la imatge superior, es mostra quins pins han d’anar connectats on. El pin GND hauria d’anar connectat a un terminal del potenciòmetre com al diagrama de Tinkercad. (NOTA: És molt important que connecteu els pins de la manera que s'indica, en cas contrari el sintonitzador no funcionarà.)

Pas 2: connectar-ho tot

Connectant-ho tot
Connectant-ho tot

Després de soldar els cables a la pantalla LCD, hi ha diversos cables que cal connectar.

1.) El primer que heu de fer és connectar el GND i el 5V de l'Arduino a la placa de control, cosa que li permet tenir energia. A continuació, connecteu l'electret al pin digital 7 i GND.

2.) A continuació, connecteu el piezo a la taula de suport per a GND i connecteu-lo al pin digital 6.

3.) Després d'això va el potenciòmetre, connecteu el terminal 1 a una tira positiva de la placa de connexió i el terminal 2 a una tira GND de la placa de control, i després connecteu l'eixugaparabrises al pin de contrast de la pantalla LCD.

Pas 3: Codificació

Codificació
Codificació

Un cop hàgiu connectat tot correctament, heu de programar el sintonitzador perquè realment faci el seu treball. A continuació es mostra el codi

// inclou el codi de la biblioteca: #include

// inicialitzeu la biblioteca amb els números dels pins de la interfície 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 buzzer = 8; int functionGenerator = A1;

configuració nul·la () {

// configureu el nombre de columnes i files de la pantalla LCD:

lcd.begin (16, 2);

// Imprimiu un missatge a la pantalla LCD.

lcd.print ("hola, món!");

Serial.begin (9600);

// esborreu-ho tot a la pantalla LCD i, a continuació, configureu el cursor, la impressió

lcd.setCursor (0, 1); }

bucle buit () {

Serial.println (analogRead (functionGenerator));

retard (50);

// configureu el cursor a la columna 0, línia 1

// (nota: la línia 1 és la segona fila, ja que el recompte comença per 0):

if (analogRead (functionGenerator) == 450) {

lcd.clear ();

lcd.setCursor (8, 1);

to (brunzidor, 250);

lcd.print ("A");

retard (1000);

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

lcd.clear ();

lcd.setCursor (8, 1);

to (brunzidor, 250);

lcd.print ("B");

retard (1000);

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

lcd.clear ();

lcd.setCursor (8, 1);

to (brunzidor, 250);

lcd.print ("C");

retard (1000);

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

lcd.clear ();

lcd.setCursor (8, 1);

to (brunzidor, 250);

lcd.print ("D");

retard (1000);

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

lcd.clear ();

lcd.setCursor (8, 1);

to (brunzidor, 250);

lcd.print ("E");

retard (1000);

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

lcd.clear ();

lcd.setCursor (8, 1);

to (brunzidor, 250);

lcd.print ("F");

retard (1000);

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

lcd.clear ();

lcd.setCursor (8, 1);

to (brunzidor, 250);

lcd.print ("G");

retard (1000);

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

lcd.clear ();

lcd.setCursor (8, 1);

to (brunzidor, 250);

lcd.print ("A");

retard (1000);

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

lcd.clear ();

lcd.setCursor (4, 1);

to (brunzidor, 250);

lcd.print ("A");

retard (1000);

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

lcd.clear ();

lcd.setCursor (12, 1);

to (brunzidor, 250);

lcd.print ("A");

retard (1000);

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

lcd.clear ();

lcd.setCursor (4, 1);

to (brunzidor, 250);

lcd.print ("B");

retard (1000);

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

lcd.clear ();

lcd.setCursor (12, 1);

to (brunzidor, 250);

lcd.print ("B");

retard (1000);

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

lcd.clear ();

lcd.setCursor (4, 1);

to (brunzidor, 250);

lcd.print ("C");

retard (1000);

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

lcd.clear ();

lcd.setCursor (12, 1);

to (brunzidor, 250);

lcd.print ("C");

retard (1000);

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

lcd.clear ();

lcd.setCursor (4, 1);

to (brunzidor, 250);

lcd.print ("D");

retard (1000);

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

lcd.clear ();

lcd.setCursor (12, 1);

to (brunzidor, 250);

lcd.print ("D");

retard (1000);

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

lcd.clear ();

lcd.setCursor (4, 1);

to (brunzidor, 250);

lcd.print ("E");

retard (1000);

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

lcd.clear ();

lcd.setCursor (12, 1);

to (brunzidor, 250);

lcd.print ("E");

retard (1000);

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

lcd.clear ();

lcd.setCursor (4, 1);

to (brunzidor, 250);

lcd.print ("F");

retard (1000);

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

lcd.clear ();

lcd.setCursor (12, 1);

to (brunzidor, 250);

lcd.print ("F");

retard (1000);

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

lcd.clear ();

lcd.setCursor (4, 1);

to (brunzidor, 250);

lcd.print ("G");

retard (1000);

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

lcd.clear ();

lcd.setCursor (12, 1);

to (brunzidor, 250);

lcd.print ("G");

retard (1000);

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

lcd.clear ();

lcd.setCursor (4, 1);

to (brunzidor, 250);

lcd.print ("A");

retard (1000); }

else {noTone (timbre); } retard (10); }

Pas 4: connectar-lo a l'alimentació

Connectant-lo a l'alimentació
Connectant-lo a l'alimentació

Per a l'últim pas, només cal trobar una font d'alimentació i connectar-la a l'Arduino, una que teniu per començar a utilitzar el sintonitzador.