Índice:

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

Vídeo: Como fazer um afinador de guitarra Arduino: 4 etapas

Vídeo: Como fazer um afinador de guitarra Arduino: 4 etapas
Vídeo: Arduino - Piano Simples (afinador de guitarra) 2024, Dezembro
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: