Hvordan lage en Arduino Guitar Tuner: 4 trinn
Hvordan lage en Arduino Guitar Tuner: 4 trinn
Anonim
Hvordan lage en Arduino Guitar Tuner
Hvordan lage en Arduino Guitar Tuner

Dette er instruksjonene for å lage en gitar tuner av en Arduino og flere andre komponenter. Med grunnleggende kunnskap om elektronikk og koding vil du kunne lage denne gitartuneren.

Først må du vite hva materialene er.

Materialer:

- 1 Arduino (jeg brukte en Arduino 1)

- 1 LCD -skjerm (16x2)

- 1 potensiometer

- 1 Electret -mikrofon

- 1 250 Ohm motstand

- Flere ledninger

-Loddejern

- 1 Piezo

Trinn 1: Loddepinner

Loddestifter
Loddestifter

Det første du må gjøre er å lodde pinnene til LCD -skjermen, men du må sørge for at de er loddet på riktig måte. På bildet ovenfor viser det hvilke pinner som skal kobles til hvor. GND -pinnen skal kobles til en terminal på potensiometeret som i Tinkercad -diagrammet. (MERK: Det er veldig viktig at du kobler pinnene slik det er instruert, ellers fungerer ikke tuneren.)

Trinn 2: Koble til alt

Koble til alt
Koble til alt

Etter lodding av ledningene til LCD -skjermen er det flere andre ledninger du må koble til.

1.) Det første du må gjøre er å koble GND og 5V på Arduino til brødbrettet slik at det kan få strøm. Koble deretter elektret til den digitale pinnen 7 og GND.

2.) Koble deretter piezoen til brødbrettet for GND og koble den til digital pin 6.

3.) Etter at potensiometeret går, kobler du terminal 1 til en positiv stripe på brødbrettet og terminal 2 til en GND -stripe på brødbrettet, og deretter kobler du viskeren til kontrastpinnen på LCD -skjermen.

Trinn 3: Koding

Koding
Koding

Når du har koblet alt på riktig måte, må du programmere tuneren slik at den faktisk gjør jobben sin. Nedenfor er koden

// inkludere bibliotekskoden: #include

// initialiser biblioteket med tallene på grensesnittpinnene 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 høyA = 880;

int summer = 8; int functionGenerator = A1;

ugyldig oppsett () {

// konfigurer LCD -antallet kolonner og rader:

lcd.begin (16, 2);

// Skriv ut en melding til LCD -skjermen.

lcd.print ("hei, verden!");

Serial.begin (9600);

// tøm alt i LCD, og sett deretter markøren, skriveren

lcd.setCursor (0, 1); }

void loop () {

Serial.println (analogRead (functionGenerator));

forsinkelse (50);

// sett markøren til kolonne 0, linje 1

// (merk: linje 1 er den andre raden, siden tellingen begynner med 0):

if (analogRead (functionGenerator) == 450) {

lcd.clear ();

lcd.setCursor (8, 1);

tone (summer, 250);

lcd.print ("A");

forsinkelse (1000);

} annet hvis (analogRead (functionGenerator) == 494) {

lcd.clear ();

lcd.setCursor (8, 1);

tone (summer, 250);

lcd.print ("B");

forsinkelse (1000);

} annet hvis (analogRead (functionGenerator) == 523) {

lcd.clear ();

lcd.setCursor (8, 1);

tone (summer, 250);

lcd.print ("C");

forsinkelse (1000);

} annet hvis (analogRead (functionGenerator) == 587) {

lcd.clear ();

lcd.setCursor (8, 1);

tone (summer, 250);

lcd.print ("D");

forsinkelse (1000);

} annet hvis (analogRead (functionGenerator) == 659) {

lcd.clear ();

lcd.setCursor (8, 1);

tone (summer, 250);

lcd.print ("E");

forsinkelse (1000);

} annet hvis (analogRead (functionGenerator) == 699) {

lcd.clear ();

lcd.setCursor (8, 1);

tone (summer, 250);

lcd.print ("F");

forsinkelse (1000);

} annet hvis (analogRead (functionGenerator) == 784) {

lcd.clear ();

lcd.setCursor (8, 1);

tone (summer, 250);

lcd.print ("G");

forsinkelse (1000);

} annet hvis (analogRead (functionGenerator) == 880) {

lcd.clear ();

lcd.setCursor (8, 1);

tone (summer, 250);

lcd.print ("A");

forsinkelse (1000);

} annet hvis (analogRead (functionGenerator)> 400 && digitalRead (functionGenerator) <449) {

lcd.clear ();

lcd.setCursor (4, 1);

tone (summer, 250);

lcd.print ("A");

forsinkelse (1000);

} annet hvis (analogRead (functionGenerator)> 451 && digitalRead (functionGenerator) <470) {

lcd.clear ();

lcd.setCursor (12, 1);

tone (summer, 250);

lcd.print ("A");

forsinkelse (1000);

} annet hvis (analogRead (functionGenerator)> 471 && digitalRead (functionGenerator) <493) {

lcd.clear ();

lcd.setCursor (4, 1);

tone (summer, 250);

lcd.print ("B");

forsinkelse (1000);

} annet hvis (analogRead (functionGenerator)> 495 && digitalRead (functionGenerator) <509) {

lcd.clear ();

lcd.setCursor (12, 1);

tone (summer, 250);

lcd.print ("B");

forsinkelse (1000);

} annet hvis (analogRead (functionGenerator)> 509 && digitalRead (functionGenerator) <522) {

lcd.clear ();

lcd.setCursor (4, 1);

tone (summer, 250);

lcd.print ("C");

forsinkelse (1000);

} annet hvis (analogRead (functionGenerator)> 524 && digitalRead (functionGenerator) <556) {

lcd.clear ();

lcd.setCursor (12, 1);

tone (summer, 250);

lcd.print ("C");

forsinkelse (1000);

} annet hvis (analogRead (functionGenerator)> 557 && digitalRead (functionGenerator) <586) {

lcd.clear ();

lcd.setCursor (4, 1);

tone (summer, 250);

lcd.print ("D");

forsinkelse (1000);

} annet hvis (analogRead (functionGenerator)> 588 && digitalRead (functionGenerator) <620) {

lcd.clear ();

lcd.setCursor (12, 1);

tone (summer, 250);

lcd.print ("D");

forsinkelse (1000);

} annet hvis (analogRead (functionGenerator)> 621 && digitalRead (functionGenerator) <658) {

lcd.clear ();

lcd.setCursor (4, 1);

tone (summer, 250);

lcd.print ("E");

forsinkelse (1000);

} annet hvis (analogRead (functionGenerator)> 660 && digitalRead (functionGenerator) <679) {

lcd.clear ();

lcd.setCursor (12, 1);

tone (summer, 250);

lcd.print ("E");

forsinkelse (1000);

} annet hvis (analogRead (functionGenerator)> 680 && digitalRead (functionGenerator) <698) {

lcd.clear ();

lcd.setCursor (4, 1);

tone (summer, 250);

lcd.print ("F");

forsinkelse (1000);

} annet hvis (analogRead (functionGenerator)> 700 && digitalRead (functionGenerator) <742) {

lcd.clear ();

lcd.setCursor (12, 1);

tone (summer, 250);

lcd.print ("F");

forsinkelse (1000);

} annet hvis (analogRead (functionGenerator)> 743 && digitalRead (functionGenerator) <783) {

lcd.clear ();

lcd.setCursor (4, 1);

tone (summer, 250);

lcd.print ("G");

forsinkelse (1000);

} annet hvis (analogRead (functionGenerator)> 785 && digitalRead (functionGenerator) <845) {

lcd.clear ();

lcd.setCursor (12, 1);

tone (summer, 250);

lcd.print ("G");

forsinkelse (1000);

} annet hvis (analogRead (functionGenerator)> 846 && digitalRead (functionGenerator) <879) {

lcd.clear ();

lcd.setCursor (4, 1);

tone (summer, 250);

lcd.print ("A");

forsinkelse (1000); }

annet {noTone (summer); } forsinkelse (10); }

Trinn 4: Koble den til strøm

Koble den til strøm
Koble den til strøm

For det siste trinnet er alt du trenger å gjøre å finne en strømkilde og koble den til Arduino, en du har som du kan begynne å bruke tuneren.