Sommario:
2025 Autore: John Day | [email protected]. Ultima modifica: 2025-01-13 06:57
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
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
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
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
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.