Sommario:

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

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

Video: Come realizzare un accordatore per chitarra Arduino: 4 passaggi
Video: Il BARRÉ sulla chitarra è FACILE se fai così! 2024, Novembre
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.

Consigliato: