Como fazer um afinador de guitarra Arduino: 4 etapas
Como fazer um afinador de guitarra Arduino: 4 etapas
Anonim
Como fazer um afinador de guitarra Arduino
Como fazer um afinador de guitarra Arduino

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

Pinos de solda
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

Conectando tudo
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

Codificação
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

Conectando à energia
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.

Recomendado: