Índice:
Vídeo: Como fazer um afinador de guitarra Arduino: 4 etapas
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Estas são as instruções para fazer um afinador de guitarra com um Arduino e vários outros componentes. Com conhecimentos básicos de eletrônica e codificação, você será capaz de fazer este afinador de guitarra.
As primeiras coisas primeiro você tem que saber quais são os materiais.
Materiais:
- 1 Arduino (usei um Arduino 1)
- 1 display LCD (16x2)
- 1 potenciômetro
- 1 microfone de eletreto
- Resistor de 1 250 Ohm
- Vários fios
-Ferro de solda
- 1 piezo
Etapa 1: Pinos de solda
A primeira coisa que você precisa fazer é soldar os pinos no LCD, entretanto, você deve ter certeza de que eles estão soldados da maneira correta. Na imagem acima, ele mostra quais pinos devem ser conectados e onde. O pino GND deve ser conectado a um terminal do potenciômetro como no diagrama do Tinkercad. (NOTA: é muito importante que você conecte os pinos da maneira que é instruída, caso contrário, o sintonizador não funcionará.)
Etapa 2: conectando tudo
Depois de soldar os fios ao LCD, existem vários outros fios que você precisa conectar.
1.) A primeira coisa que você precisa fazer é conectar o GND e 5V no Arduino à placa de ensaio permitindo que ele tenha energia. Em seguida, conecte o eletreto ao pino digital 7 e GND.
2.) Em seguida, conecte o piezo à placa de ensaio para GND e conecte-o ao pino digital 6.
3.) Depois de ir para o potenciômetro, você conecta o terminal 1 a uma tira positiva na placa de ensaio e o terminal 2 a uma tira GND na placa de ensaio e, em seguida, conecta o limpador ao pino de contraste no LCD.
Etapa 3: codificação
Depois de conectar tudo da maneira correta, você precisa programar o sintonizador para que ele realmente faça seu trabalho. Abaixo está o código
// inclua o código da biblioteca: #include
// inicializa a biblioteca com os números dos pinos da interface 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 alto A = 880;
campainha interna = 8; int functionGenerator = A1;
void setup () {
// configura o número de colunas e linhas do LCD:
lcd.begin (16, 2);
// Imprime uma mensagem no LCD.
lcd.print ("olá, mundo!");
Serial.begin (9600);
// limpa tudo no LCD e, em seguida, define o cursor, o printt
lcd.setCursor (0, 1); }
void loop () {
Serial.println (analogRead (functionGenerator));
atraso (50);
// define o cursor para a coluna 0, linha 1
// (nota: a linha 1 é a segunda linha, já que a contagem começa com 0):
if (analogRead (functionGenerator) == 450) {
lcd.clear ();
lcd.setCursor (8, 1);
tom (campainha, 250);
lcd.print ("A");
atraso (1000);
} else if (analogRead (functionGenerator) == 494) {
lcd.clear ();
lcd.setCursor (8, 1);
tom (campainha, 250);
lcd.print ("B");
atraso (1000);
} else if (analogRead (functionGenerator) == 523) {
lcd.clear ();
lcd.setCursor (8, 1);
tom (campainha, 250);
lcd.print ("C");
atraso (1000);
} else if (analogRead (functionGenerator) == 587) {
lcd.clear ();
lcd.setCursor (8, 1);
tom (campainha, 250);
lcd.print ("D");
atraso (1000);
} else if (analogRead (functionGenerator) == 659) {
lcd.clear ();
lcd.setCursor (8, 1);
tom (campainha, 250);
lcd.print ("E");
atraso (1000);
} else if (analogRead (functionGenerator) == 699) {
lcd.clear ();
lcd.setCursor (8, 1);
tom (campainha, 250);
lcd.print ("F");
atraso (1000);
} else if (analogRead (functionGenerator) == 784) {
lcd.clear ();
lcd.setCursor (8, 1);
tom (campainha, 250);
lcd.print ("G");
atraso (1000);
} else if (analogRead (functionGenerator) == 880) {
lcd.clear ();
lcd.setCursor (8, 1);
tom (campainha, 250);
lcd.print ("A");
atraso (1000);
} else if (analogRead (functionGenerator)> 400 && digitalRead (functionGenerator) <449) {
lcd.clear ();
lcd.setCursor (4, 1);
tom (campainha, 250);
lcd.print ("A");
atraso (1000);
} else if (analogRead (functionGenerator)> 451 && digitalRead (functionGenerator) <470) {
lcd.clear ();
lcd.setCursor (12, 1);
tom (campainha, 250);
lcd.print ("A");
atraso (1000);
} else if (analogRead (functionGenerator)> 471 && digitalRead (functionGenerator) <493) {
lcd.clear ();
lcd.setCursor (4, 1);
tom (campainha, 250);
lcd.print ("B");
atraso (1000);
} else if (analogRead (functionGenerator)> 495 && digitalRead (functionGenerator) <509) {
lcd.clear ();
lcd.setCursor (12, 1);
tom (campainha, 250);
lcd.print ("B");
atraso (1000);
} else if (analogRead (functionGenerator)> 509 && digitalRead (functionGenerator) <522) {
lcd.clear ();
lcd.setCursor (4, 1);
tom (campainha, 250);
lcd.print ("C");
atraso (1000);
} else if (analogRead (functionGenerator)> 524 && digitalRead (functionGenerator) <556) {
lcd.clear ();
lcd.setCursor (12, 1);
tom (campainha, 250);
lcd.print ("C");
atraso (1000);
} else if (analogRead (functionGenerator)> 557 && digitalRead (functionGenerator) <586) {
lcd.clear ();
lcd.setCursor (4, 1);
tom (campainha, 250);
lcd.print ("D");
atraso (1000);
} else if (analogRead (functionGenerator)> 588 && digitalRead (functionGenerator) <620) {
lcd.clear ();
lcd.setCursor (12, 1);
tom (campainha, 250);
lcd.print ("D");
atraso (1000);
} else if (analogRead (functionGenerator)> 621 && digitalRead (functionGenerator) <658) {
lcd.clear ();
lcd.setCursor (4, 1);
tom (campainha, 250);
lcd.print ("E");
atraso (1000);
} else if (analogRead (functionGenerator)> 660 && digitalRead (functionGenerator) <679) {
lcd.clear ();
lcd.setCursor (12, 1);
tom (campainha, 250);
lcd.print ("E");
atraso (1000);
} else if (analogRead (functionGenerator)> 680 && digitalRead (functionGenerator) <698) {
lcd.clear ();
lcd.setCursor (4, 1);
tom (campainha, 250);
lcd.print ("F");
atraso (1000);
} else if (analogRead (functionGenerator)> 700 && digitalRead (functionGenerator) <742) {
lcd.clear ();
lcd.setCursor (12, 1);
tom (campainha, 250);
lcd.print ("F");
atraso (1000);
} else if (analogRead (functionGenerator)> 743 && digitalRead (functionGenerator) <783) {
lcd.clear ();
lcd.setCursor (4, 1);
tom (campainha, 250);
lcd.print ("G");
atraso (1000);
} else if (analogRead (functionGenerator)> 785 && digitalRead (functionGenerator) <845) {
lcd.clear ();
lcd.setCursor (12, 1);
tom (campainha, 250);
lcd.print ("G");
atraso (1000);
} else if (analogRead (functionGenerator)> 846 && digitalRead (functionGenerator) <879) {
lcd.clear ();
lcd.setCursor (4, 1);
tom (campainha, 250);
lcd.print ("A");
atraso (1000); }
else {noTone (campainha); } atraso (10); }
Etapa 4: conectando à energia
Para a etapa final, tudo o que você precisa fazer é encontrar uma fonte de alimentação e conectá-la ao Arduino, uma que você tenha e que possa começar a usar o sintonizador.