Innehållsförteckning:
Video: Hur man gör en Arduino Guitar Tuner: 4 steg
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
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
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
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
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
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.