Innehållsförteckning:

Hur man gör en Arduino Guitar Tuner: 4 steg
Hur man gör en Arduino Guitar Tuner: 4 steg

Video: Hur man gör en Arduino Guitar Tuner: 4 steg

Video: Hur man gör en Arduino Guitar Tuner: 4 steg
Video: Lesson 95: Using L293D 4 DC Motors Shield for Arduino UNO and Mega | Arduino Step By Step Course 2024, November
Anonim
Hur man gör en Arduino Guitar Tuner
Hur man gör en Arduino Guitar Tuner

Detta är instruktionerna för att göra en gitarrmottagare av en Arduino och flera andra komponenter. Med grundläggande kunskap om elektronik och kodning kommer du att kunna göra denna gitarrstämmare.

Först måste du veta vad materialet är.

Material:

- 1 Arduino (jag använde en Arduino 1)

- 1 LCD -skärm (16x2)

- 1 Potentiometer

- 1 Electret -mikrofon

- 1 250 Ohm motstånd

- Flera ledningar

-Lödkolv

- 1 Piezo

Steg 1: Lödstift

Lödnålar
Lödnålar

Det första du behöver göra är att löda stiften till LCD -skärmen, men du måste se till att de är lödda på rätt sätt. På bilden ovan visar det vilka stift som ska anslutas var. GND -stiftet ska anslutas till en terminal på potentiometern som i Tinkercad -diagrammet. (OBS: Det är mycket viktigt att du ansluter stiften på det sätt som beskrivs, annars fungerar inte tunern.)

Steg 2: Anslut allt

Ansluter allt
Ansluter allt

Efter lödning av trådarna till LCD -skärmen finns det flera andra ledningar som du behöver ansluta.

1.) Det första du behöver göra är att ansluta GND och 5V på Arduino till brödbrädan så att den får ström. Anslut sedan elektret till den digitala stiftet 7 och GND.

2.) Anslut sedan piezon till brödbrädan för GND och anslut den till digital stift 6.

3.) Efter det går potentiometern ansluter du terminal 1 till en positiv remsa på brödbrädet och terminal 2 till en GND -remsa på brödbrädet, sedan ansluter du torkaren till kontraststiftet på LCD -skärmen.

Steg 3: Kodning

Kodning
Kodning

När du har anslutit allt på rätt sätt måste du programmera tunern så att den faktiskt gör sitt jobb. Nedan är koden

// inkludera bibliotekskoden: #include

// initiera biblioteket med numren på gränssnittsstiften 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ögA = 880;

int summer = 8; int functionGenerator = A1;

void setup () {

// ställ in LCD -skärmens antal kolumner och rader:

lcd.begin (16, 2);

// Skriv ut ett meddelande till LCD -skärmen.

lcd.print ("hej, värld!");

Serial.begin (9600);

// rensa allt på LCD -skärmen och ställ sedan in markören, skrivaren

lcd.setCursor (0, 1); }

void loop () {

Serial.println (analogRead (functionGenerator));

fördröjning (50);

// ställ markören till kolumn 0, rad 1

// (notera: rad 1 är den andra raden, eftersom räkningen börjar med 0):

if (analogRead (functionGenerator) == 450) {

lcd.clear ();

lcd.setCursor (8, 1);

ton (summer, 250);

lcd.print ("A");

fördröjning (1000);

} annars if (analogRead (functionGenerator) == 494) {

lcd.clear ();

lcd.setCursor (8, 1);

ton (summer, 250);

lcd.print ("B");

fördröjning (1000);

} annars if (analogRead (functionGenerator) == 523) {

lcd.clear ();

lcd.setCursor (8, 1);

ton (summer, 250);

lcd.print ("C");

fördröjning (1000);

} annars if (analogRead (functionGenerator) == 587) {

lcd.clear ();

lcd.setCursor (8, 1);

ton (summer, 250);

lcd.print ("D");

fördröjning (1000);

} annars if (analogRead (functionGenerator) == 659) {

lcd.clear ();

lcd.setCursor (8, 1);

ton (summer, 250);

lcd.print ("E");

fördröjning (1000);

} annars if (analogRead (functionGenerator) == 699) {

lcd.clear ();

lcd.setCursor (8, 1);

ton (summer, 250);

lcd.print ("F");

fördröjning (1000);

} annars if (analogRead (functionGenerator) == 784) {

lcd.clear ();

lcd.setCursor (8, 1);

ton (summer, 250);

lcd.print ("G");

fördröjning (1000);

} annars if (analogRead (functionGenerator) == 880) {

lcd.clear ();

lcd.setCursor (8, 1);

ton (summer, 250);

lcd.print ("A");

fördröjning (1000);

} annars om (analogRead (functionGenerator)> 400 && digitalRead (functionGenerator) <449) {

lcd.clear ();

lcd.setCursor (4, 1);

ton (summer, 250);

lcd.print ("A");

fördröjning (1000);

} annars if (analogRead (functionGenerator)> 451 && digitalRead (functionGenerator) <470) {

lcd.clear ();

lcd.setCursor (12, 1);

ton (summer, 250);

lcd.print ("A");

fördröjning (1000);

} annars if (analogRead (functionGenerator)> 471 && digitalRead (functionGenerator) <493) {

lcd.clear ();

lcd.setCursor (4, 1);

ton (summer, 250);

lcd.print ("B");

fördröjning (1000);

} annars om (analogRead (functionGenerator)> 495 && digitalRead (functionGenerator) <509) {

lcd.clear ();

lcd.setCursor (12, 1);

ton (summer, 250);

lcd.print ("B");

fördröjning (1000);

} annars om (analogRead (functionGenerator)> 509 && digitalRead (functionGenerator) <522) {

lcd.clear ();

lcd.setCursor (4, 1);

ton (summer, 250);

lcd.print ("C");

fördröjning (1000);

} annars if (analogRead (functionGenerator)> 524 && digitalRead (functionGenerator) <556) {

lcd.clear ();

lcd.setCursor (12, 1);

ton (summer, 250);

lcd.print ("C");

fördröjning (1000);

} annars om (analogRead (functionGenerator)> 557 && digitalRead (functionGenerator) <586) {

lcd.clear ();

lcd.setCursor (4, 1);

ton (summer, 250);

lcd.print ("D");

fördröjning (1000);

} annars om (analogRead (functionGenerator)> 588 && digitalRead (functionGenerator) <620) {

lcd.clear ();

lcd.setCursor (12, 1);

ton (summer, 250);

lcd.print ("D");

fördröjning (1000);

} annars om (analogRead (functionGenerator)> 621 && digitalRead (functionGenerator) <658) {

lcd.clear ();

lcd.setCursor (4, 1);

ton (summer, 250);

lcd.print ("E");

fördröjning (1000);

} annars if (analogRead (functionGenerator)> 660 && digitalRead (functionGenerator) <679) {

lcd.clear ();

lcd.setCursor (12, 1);

ton (summer, 250);

lcd.print ("E");

fördröjning (1000);

} annars if (analogRead (functionGenerator)> 680 && digitalRead (functionGenerator) <698) {

lcd.clear ();

lcd.setCursor (4, 1);

ton (summer, 250);

lcd.print ("F");

fördröjning (1000);

} annars om (analogRead (functionGenerator)> 700 && digitalRead (functionGenerator) <742) {

lcd.clear ();

lcd.setCursor (12, 1);

ton (summer, 250);

lcd.print ("F");

fördröjning (1000);

} annars if (analogRead (functionGenerator)> 743 && digitalRead (functionGenerator) <783) {

lcd.clear ();

lcd.setCursor (4, 1);

ton (summer, 250);

lcd.print ("G");

fördröjning (1000);

} annars om (analogRead (functionGenerator)> 785 && digitalRead (functionGenerator) <845) {

lcd.clear ();

lcd.setCursor (12, 1);

ton (summer, 250);

lcd.print ("G");

fördröjning (1000);

} annars if (analogRead (functionGenerator)> 846 && digitalRead (functionGenerator) <879) {

lcd.clear ();

lcd.setCursor (4, 1);

ton (summer, 250);

lcd.print ("A");

fördröjning (1000); }

annars {noTone (summer); } fördröjning (10); }

Steg 4: Anslut den till ström

Ansluter den till ström
Ansluter den till ström

För det sista steget är allt du behöver göra att hitta en strömkälla och ansluta den till Arduino, en du har som du kan börja använda tunern.

Rekommenderad: