Indholdsfortegnelse:

Sådan laver du en Arduino Guitar Tuner: 4 trin
Sådan laver du en Arduino Guitar Tuner: 4 trin

Video: Sådan laver du en Arduino Guitar Tuner: 4 trin

Video: Sådan laver du en Arduino Guitar Tuner: 4 trin
Video: CS50 Live, Episode 003 2024, November
Anonim
Sådan laver du en Arduino Guitar Tuner
Sådan laver du en Arduino Guitar Tuner

Disse er instruktionerne til at lave en guitar tuner ud af en Arduino og flere andre komponenter. Med grundlæggende viden om elektronik og kodning vil du være i stand til at lave denne guitar tuner.

Først og fremmest skal du vide, hvad materialerne er.

Materialer:

- 1 Arduino (jeg brugte en Arduino 1)

- 1 LCD -skærm (16x2)

- 1 potentiometer

- 1 Electret mikrofon

- 1 250 Ohm modstand

- Flere ledninger

-Loddekolbe

- 1 Piezo

Trin 1: Loddepinde

Loddepinde
Loddepinde

Den første ting du skal gøre er at lodde stifterne til LCD'et, men du skal sørge for at de er loddet på den rigtige måde. På billedet ovenfor viser det, hvilke stifter der skal forbindes hvor. GND -stiften skal forbindes til en terminal på potentiometeret som i Tinkercad -diagrammet. (BEMÆRK: Det er meget vigtigt, at du forbinder stifterne på den måde, der er instrueret, ellers fungerer tuneren ikke.)

Trin 2: Tilslutning af alt

Tilslutter alt
Tilslutter alt

Efter lodning af ledningerne til LCD'et er der flere andre ledninger, du skal tilslutte.

1.) Den første ting du skal gøre er at tilslutte GND og 5V på Arduino til brødbrættet, så den kan få strøm. Tilslut derefter electret til den digitale pin 7 og GND.

2.) Tilslut derefter piezo til brødbrættet til GND og tilslut den til digital pin 6.

3.) Efter at potentiometeret er gået, tilslutter du klemme 1 til en positiv strimmel på brødbrættet og klemme 2 til en GND -strimmel på brødbrættet, og derefter tilslutter du visker til kontraststiften på LCD'et.

Trin 3: Kodning

Kodning
Kodning

Når du har tilsluttet alt på den rigtige måde, skal du programmere tuneren, så den rent faktisk gør sit arbejde. Nedenfor er koden

// inkludere bibliotekskoden: #include

// initialiser biblioteket med numrene på grænsefladestifterne 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 highA = 880;

int summer = 8; int functionGenerator = A1;

ugyldig opsætning () {

// konfigurer LCD's antal kolonner og rækker:

lcd.begin (16, 2);

// Udskriv en besked til LCD -skærmen.

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

Serial.begin (9600);

// ryd alt på LCD, og indstil derefter markøren, printeren

lcd.setCursor (0, 1); }

void loop () {

Serial.println (analogRead (functionGenerator));

forsinkelse (50);

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

// (note: linje 1 er den anden række, da tællingen begynder med 0):

if (analogRead (functionGenerator) == 450) {

lcd.clear ();

lcd.setCursor (8, 1);

tone (summer, 250);

lcd.print ("A");

forsinkelse (1000);

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

lcd.clear ();

lcd.setCursor (8, 1);

tone (summer, 250);

lcd.print ("B");

forsinkelse (1000);

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

lcd.clear ();

lcd.setCursor (8, 1);

tone (summer, 250);

lcd.print ("C");

forsinkelse (1000);

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

lcd.clear ();

lcd.setCursor (8, 1);

tone (summer, 250);

lcd.print ("D");

forsinkelse (1000);

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

lcd.clear ();

lcd.setCursor (8, 1);

tone (summer, 250);

lcd.print ("E");

forsinkelse (1000);

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

lcd.clear ();

lcd.setCursor (8, 1);

tone (summer, 250);

lcd.print ("F");

forsinkelse (1000);

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

lcd.clear ();

lcd.setCursor (8, 1);

tone (summer, 250);

lcd.print ("G");

forsinkelse (1000);

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

lcd.clear ();

lcd.setCursor (8, 1);

tone (summer, 250);

lcd.print ("A");

forsinkelse (1000);

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

lcd.clear ();

lcd.setCursor (4, 1);

tone (summer, 250);

lcd.print ("A");

forsinkelse (1000);

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

lcd.clear ();

lcd.setCursor (12, 1);

tone (summer, 250);

lcd.print ("A");

forsinkelse (1000);

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

lcd.clear ();

lcd.setCursor (4, 1);

tone (summer, 250);

lcd.print ("B");

forsinkelse (1000);

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

lcd.clear ();

lcd.setCursor (12, 1);

tone (summer, 250);

lcd.print ("B");

forsinkelse (1000);

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

lcd.clear ();

lcd.setCursor (4, 1);

tone (summer, 250);

lcd.print ("C");

forsinkelse (1000);

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

lcd.clear ();

lcd.setCursor (12, 1);

tone (summer, 250);

lcd.print ("C");

forsinkelse (1000);

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

lcd.clear ();

lcd.setCursor (4, 1);

tone (summer, 250);

lcd.print ("D");

forsinkelse (1000);

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

lcd.clear ();

lcd.setCursor (12, 1);

tone (summer, 250);

lcd.print ("D");

forsinkelse (1000);

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

lcd.clear ();

lcd.setCursor (4, 1);

tone (summer, 250);

lcd.print ("E");

forsinkelse (1000);

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

lcd.clear ();

lcd.setCursor (12, 1);

tone (summer, 250);

lcd.print ("E");

forsinkelse (1000);

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

lcd.clear ();

lcd.setCursor (4, 1);

tone (summer, 250);

lcd.print ("F");

forsinkelse (1000);

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

lcd.clear ();

lcd.setCursor (12, 1);

tone (summer, 250);

lcd.print ("F");

forsinkelse (1000);

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

lcd.clear ();

lcd.setCursor (4, 1);

tone (summer, 250);

lcd.print ("G");

forsinkelse (1000);

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

lcd.clear ();

lcd.setCursor (12, 1);

tone (summer, 250);

lcd.print ("G");

forsinkelse (1000);

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

lcd.clear ();

lcd.setCursor (4, 1);

tone (summer, 250);

lcd.print ("A");

forsinkelse (1000); }

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

Trin 4: Tilslutning til strøm

Tilslutter den til strøm
Tilslutter den til strøm

Til det sidste trin er alt du skal gøre at finde en strømkilde og slutte den til Arduino, en du har, som du kan begynde at bruge tuneren.

Anbefalede: