Sadržaj:

Kako napraviti Arduino gitarski tuner: 4 koraka
Kako napraviti Arduino gitarski tuner: 4 koraka

Video: Kako napraviti Arduino gitarski tuner: 4 koraka

Video: Kako napraviti Arduino gitarski tuner: 4 koraka
Video: Как сделать видео передатчик - UHF TV передатчик 2024, Novembar
Anonim
Kako napraviti Arduino gitarski štimer
Kako napraviti Arduino gitarski štimer

Ovo su upute za izradu tunera za gitaru od Arduina i nekoliko drugih komponenti. Uz osnovno znanje o elektronici i kodiranju, moći ćete napraviti ovaj gitarski štimer.

Prvo morate znati koji su materijali.

Materijali:

- 1 Arduino (koristio sam Arduino 1)

- 1 LCD ekran (16x2)

- 1 potenciometar

- 1 električni mikrofon

- 1 250 Ohm otpornik

- Nekoliko žica

-Lemilica

- 1 Piezo

Korak 1: Igle za lemljenje

Lemilice
Lemilice

Prvo što trebate učiniti je lemljenje igle na LCD, međutim morate se pobrinuti da su lemljene na ispravan način. Na gornjoj slici prikazuje koje pinove treba spojiti gdje. GND pin bi trebao biti spojen na terminal potenciometra kao na Tinkercad dijagramu. (NAPOMENA: Vrlo je važno da pinove povežete prema uputama, jer u protivnom tjuner neće raditi.)

Korak 2: Povežite sve

Povezivanje svega
Povezivanje svega

Nakon lemljenja žica na LCD, potrebno je spojiti nekoliko drugih žica.

1.) Prvo što trebate učiniti je spojiti GND i 5V na Arduinu na matičnu ploču dopuštajući mu napajanje. Zatim spojite elektronu na digitalni pin 7 i GND.

2.) Zatim spojite piezo na matičnu ploču za GND i spojite je na digitalni pin 6.

3.) Nakon što potenciometar ode, spojite terminal 1 na pozitivnu traku na matičnoj ploči, a terminal 2 na traku GND na matičnoj ploči, zatim spojite brisač na pin za kontrast na LCD -u.

Korak 3: Kodiranje

Kodiranje
Kodiranje

Nakon što ste sve spojili na ispravan način, morate programirati tuner tako da zaista radi svoj posao. Ispod je kôd

// uključuje kod knjižnice: #include

// inicijalizira biblioteku brojevima pinova sučelja 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 zujalica = 8; int functionGenerator = A1;

void setup () {

// postavljanje broja stupaca i redova LCD -a:

lcd.begin (16, 2);

// Odštampajte poruku na LCD ekranu.

lcd.print ("zdravo, svijete!");

Serial.begin (9600);

// briše sve na LCD -u, zatim postavlja kurzor, ispis

lcd.setCursor (0, 1); }

void loop () {{100} {101}

Serial.println (analogRead (functionGenerator));

kašnjenje (50);

// postavljamo kursor na stupac 0, red 1

// (napomena: red 1 je drugi red, budući da brojanje počinje sa 0):

if (analogRead (functionGenerator) == 450) {

lcd.clear ();

lcd.setCursor (8, 1);

ton (zujalica, 250);

lcd.print ("A");

kašnjenje (1000);

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

lcd.clear ();

lcd.setCursor (8, 1);

ton (zujalica, 250);

lcd.print ("B");

kašnjenje (1000);

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

lcd.clear ();

lcd.setCursor (8, 1);

ton (zujalica, 250);

lcd.print ("C");

kašnjenje (1000);

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

lcd.clear ();

lcd.setCursor (8, 1);

ton (zujalica, 250);

lcd.print ("D");

kašnjenje (1000);

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

lcd.clear ();

lcd.setCursor (8, 1);

ton (zujalica, 250);

lcd.print ("E");

kašnjenje (1000);

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

lcd.clear ();

lcd.setCursor (8, 1);

ton (zujalica, 250);

lcd.print ("F");

kašnjenje (1000);

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

lcd.clear ();

lcd.setCursor (8, 1);

ton (zujalica, 250);

lcd.print ("G");

kašnjenje (1000);

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

lcd.clear ();

lcd.setCursor (8, 1);

ton (zujalica, 250);

lcd.print ("A");

kašnjenje (1000);

} else if (analogRead (functionGenerator)> 400 && digitalRead (functionGenerator) <449) {

lcd.clear ();

lcd.setCursor (4, 1);

ton (zujalica, 250);

lcd.print ("A");

kašnjenje (1000);

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

lcd.clear ();

lcd.setCursor (12, 1);

ton (zujalica, 250);

lcd.print ("A");

kašnjenje (1000);

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

lcd.clear ();

lcd.setCursor (4, 1);

ton (zujalica, 250);

lcd.print ("B");

kašnjenje (1000);

} else if (analogRead (functionGenerator)> 495 && digitalRead (functionGenerator) <509) {

lcd.clear ();

lcd.setCursor (12, 1);

ton (zujalica, 250);

lcd.print ("B");

kašnjenje (1000);

} else if (analogRead (functionGenerator)> 509 && digitalRead (functionGenerator) <522) {

lcd.clear ();

lcd.setCursor (4, 1);

ton (zujalica, 250);

lcd.print ("C");

kašnjenje (1000);

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

lcd.clear ();

lcd.setCursor (12, 1);

ton (zujalica, 250);

lcd.print ("C");

kašnjenje (1000);

} else if (analogRead (functionGenerator)> 557 && digitalRead (functionGenerator) <586) {

lcd.clear ();

lcd.setCursor (4, 1);

ton (zujalica, 250);

lcd.print ("D");

kašnjenje (1000);

} else if (analogRead (functionGenerator)> 588 && digitalRead (functionGenerator) <620) {

lcd.clear ();

lcd.setCursor (12, 1);

ton (zujalica, 250);

lcd.print ("D");

kašnjenje (1000);

} else if (analogRead (functionGenerator)> 621 && digitalRead (functionGenerator) <658) {

lcd.clear ();

lcd.setCursor (4, 1);

ton (zujalica, 250);

lcd.print ("E");

kašnjenje (1000);

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

lcd.clear ();

lcd.setCursor (12, 1);

ton (zujalica, 250);

lcd.print ("E");

kašnjenje (1000);

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

lcd.clear ();

lcd.setCursor (4, 1);

ton (zujalica, 250);

lcd.print ("F");

kašnjenje (1000);

} else if (analogRead (functionGenerator)> 700 && digitalRead (functionGenerator) <742) {

lcd.clear ();

lcd.setCursor (12, 1);

ton (zujalica, 250);

lcd.print ("F");

kašnjenje (1000);

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

lcd.clear ();

lcd.setCursor (4, 1);

ton (zujalica, 250);

lcd.print ("G");

kašnjenje (1000);

} else if (analogRead (functionGenerator)> 785 && digitalRead (functionGenerator) <845) {

lcd.clear ();

lcd.setCursor (12, 1);

ton (zujalica, 250);

lcd.print ("G");

kašnjenje (1000);

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

lcd.clear ();

lcd.setCursor (4, 1);

ton (zujalica, 250);

lcd.print ("A");

kašnjenje (1000); }

else {noTone (zujalica); } kašnjenje (10); }

Korak 4: Priključite ga na napajanje

Priključivanje na napajanje
Priključivanje na napajanje

Za posljednji korak sve što trebate učiniti je pronaći izvor napajanja i spojiti ga na Arduino, onaj koji imate i možete početi koristiti tuner.

Preporučuje se: