Come realizzare un accordatore per chitarra Arduino: 4 passaggi
Come realizzare un accordatore per chitarra Arduino: 4 passaggi
Anonim
Come realizzare un accordatore per chitarra Arduino
Come realizzare un accordatore per chitarra Arduino

Queste sono le istruzioni per realizzare un accordatore per chitarra con un Arduino e molti altri componenti. Con una conoscenza di base dell'elettronica e della codifica sarai in grado di realizzare questo accordatore per chitarra.

Per prima cosa devi sapere quali sono i materiali.

Materiali:

- 1 Arduino (ho usato un Arduino 1)

- 1 Display LCD (16x2)

- 1 Potenziometro

- 1 microfono elettrete

- 1 resistenza da 250 Ohm

- Diversi fili

-Saldatore

- 1 Piezo

Passaggio 1: perni di saldatura

Perni di saldatura
Perni di saldatura

La prima cosa che devi fare è saldare i pin all'LCD, tuttavia devi assicurarti che siano saldati nel modo corretto. Nell'immagine sopra, mostra quali pin dovrebbero essere collegati dove. Il pin GND dovrebbe andare collegato a un terminale del potenziometro come nel diagramma Tinkercad. (NOTA: è molto importante collegare i pin nel modo indicato, altrimenti il sintonizzatore non funzionerà.)

Passaggio 2: collegare tutto

Collegamento di tutto
Collegamento di tutto

Dopo aver saldato i fili all'LCD, ci sono molti altri fili che devi collegare.

1.) La prima cosa che devi fare è collegare il GND e 5V su Arduino alla breadboard permettendogli di avere alimentazione. Quindi collegare l'elettrete al pin digitale 7 e GND.

2.) Quindi collegare il piezo alla breadboard per GND e collegarlo al pin digitale 6.

3.) Dopo di che va il potenziometro, colleghi il terminale 1 a una striscia positiva sulla breadboard e il terminale 2 a una striscia GND sulla breadboard, quindi colleghi il tergicristallo al pin di contrasto sull'LCD.

Passaggio 3: codifica

codifica
codifica

Dopo aver collegato tutto nel modo corretto, è necessario programmare il sintonizzatore in modo che svolga effettivamente il suo lavoro. Di seguito è riportato il codice

// includi il codice della libreria:#include

// inizializza la libreria con i numeri dei pin di interfaccia LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

int A = 440;

intB = 494;

intC = 523;

intD = 587;

int E = 659;

intF = 699;

intG = 784;

int altoA = 880;

int cicalino = 8; int functionGenerator = A1;

void setup() {

// imposta il numero di colonne e righe del display LCD:

lcd.begin(16, 2);

// Stampa un messaggio sul display LCD.

lcd.print("ciao mondo!");

Serial.begin(9600);

// cancella tutto nell'LCD, quindi imposta il cursore, il printt

lcd.setCursor(0, 1); }

ciclo vuoto() {

Serial.println(analogRead(functionGenerator));

ritardo (50);

//imposta il cursore sulla colonna 0, riga 1

//(nota: la riga 1 è la seconda riga, poiché il conteggio inizia con 0):

if (analogRead(functionGenerator) == 450) {

lcd.clear();

lcd.setCursor(8, 1);

tono (cicalino, 250);

lcd.print("A");

ritardo(1000);

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

lcd.clear();

lcd.setCursor(8, 1);

tono (cicalino, 250);

lcd.print("B");

ritardo(1000);

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

lcd.clear();

lcd.setCursor(8, 1);

tono (cicalino, 250);

lcd.print("C");

ritardo(1000);

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

lcd.clear();

lcd.setCursor(8, 1);

tono (cicalino, 250);

lcd.print("D");

ritardo(1000);

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

lcd.clear();

lcd.setCursor(8, 1);

tono (cicalino, 250);

lcd.print("E");

ritardo(1000);

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

lcd.clear();

lcd.setCursor(8, 1);

tono (cicalino, 250);

lcd.print("F");

ritardo(1000);

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

lcd.clear();

lcd.setCursor(8, 1);

tono (cicalino, 250);

lcd.print("G");

ritardo(1000);

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

lcd.clear();

lcd.setCursor(8, 1);

tono (cicalino, 250);

lcd.print("A");

ritardo(1000);

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

lcd.clear();

lcd.setCursor(4, 1);

tono (cicalino, 250);

lcd.print("A");

ritardo(1000);

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

lcd.clear();

lcd.setCursor(12, 1);

tono (cicalino, 250);

lcd.print("A");

ritardo(1000);

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

lcd.clear();

lcd.setCursor(4, 1);

tono (cicalino, 250);

lcd.print("B");

ritardo(1000);

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

lcd.clear();

lcd.setCursor(12, 1);

tono (cicalino, 250);

lcd.print("B");

ritardo(1000);

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

lcd.clear();

lcd.setCursor(4, 1);

tono (cicalino, 250);

lcd.print("C");

ritardo(1000);

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

lcd.clear();

lcd.setCursor(12, 1);

tono (cicalino, 250);

lcd.print("C");

ritardo(1000);

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

lcd.clear();

lcd.setCursor(4, 1);

tono (cicalino, 250);

lcd.print("D");

ritardo(1000);

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

lcd.clear();

lcd.setCursor(12, 1);

tono (cicalino, 250);

lcd.print("D");

ritardo(1000);

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

lcd.clear();

lcd.setCursor(4, 1);

tono (cicalino, 250);

lcd.print("E");

ritardo(1000);

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

lcd.clear();

lcd.setCursor(12, 1);

tono (cicalino, 250);

lcd.print("E");

ritardo(1000);

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

lcd.clear();

lcd.setCursor(4, 1);

tono (cicalino, 250);

lcd.print("F");

ritardo(1000);

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

lcd.clear();

lcd.setCursor(12, 1);

tono (cicalino, 250);

lcd.print("F");

ritardo(1000);

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

lcd.clear();

lcd.setCursor(4, 1);

tono (cicalino, 250);

lcd.print("G");

ritardo(1000);

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

lcd.clear();

lcd.setCursor(12, 1);

tono (cicalino, 250);

lcd.print("G");

ritardo(1000);

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

lcd.clear();

lcd.setCursor(4, 1);

tono (cicalino, 250);

lcd.print("A");

ritardo(1000); }

else { noTone(buzzer); } ritardo(10); }

Passaggio 4: collegarlo all'alimentazione

Collegandolo all'alimentazione
Collegandolo all'alimentazione

Per il passaggio finale tutto ciò che devi fare è trovare una fonte di alimentazione e collegarla all'Arduino, una che puoi iniziare a utilizzare il sintonizzatore.