Mündəricat:

Arduino Gitar Tunerini Necə Hazırlamaq olar: 4 addım
Arduino Gitar Tunerini Necə Hazırlamaq olar: 4 addım

Video: Arduino Gitar Tunerini Necə Hazırlamaq olar: 4 addım

Video: Arduino Gitar Tunerini Necə Hazırlamaq olar: 4 addım
Video: Arduino Project- My Guitar Teacher 2024, Noyabr
Anonim
Arduino Gitar Tunerini necə düzəltmək olar
Arduino Gitar Tunerini necə düzəltmək olar

Bunlar bir Arduinodan və bir neçə digər komponentdən gitar tuner hazırlamaq təlimatlarıdır. Əsas elektronika və kodlaşdırma bilikləri ilə bu gitara tunerini edə biləcəksiniz.

Əvvəlcə materialların nə olduğunu bilməlisiniz.

Materiallar:

- 1 Arduino (Arduino 1 istifadə etdim)

- 1 LCD Ekran (16x2)

- 1 potansiyometr

- 1 elektret mikrofonu

- 1250 Ohm müqavimət

- Bir neçə tel

-Lehimleme dəmir

- 1 ədəd Piezo

Addım 1: Lehim pinləri

Lehim pinləri
Lehim pinləri

Etməli olduğunuz ilk şey, pinləri LCD -yə lehimləməkdir, lakin onların düzgün şəkildə lehimləndiyinə əmin olmalısınız. Yuxarıdakı şəkildə, hansı pinlərin hara bağlanmalı olduğunu göstərir. GND pin, Tinkercad diaqramında olduğu kimi potansiyometrenin terminalına bağlanmalıdır. (DİQQƏT: Pimləri təlimat verildiyi kimi bağlamağınız çox vacibdir, əks halda tuner işləməyəcək.)

Addım 2: Hər şeyi birləşdirin

Hər şeyi birləşdirmək
Hər şeyi birləşdirmək

Kabelləri LCD -yə lehimlədikdən sonra bağlamalı olduğunuz bir neçə başqa tel var.

1.) Etməyiniz lazım olan ilk şey, Arduino üzərindəki GND və 5V -nin gücə sahib olmasına imkan verən çörək taxtasına qoşulmasıdır. Sonra elektreti rəqəmsal pin 7 və GND -yə bağlayın.

2.) Sonra piezonu GND üçün çörək taxtasına bağlayın və rəqəmsal pin 6 -ya bağlayın.

3.) Potansiyometr getdikdən sonra, terminal 1 -ni çörək lövhəsindəki pozitiv zolağa və terminal 2 -ni çörək lövhəsindəki GND şeridinə bağlayırsınız, sonra silecekini LCD -dəki kontrast pinə bağlayırsınız.

Addım 3: Kodlaşdırma

Kodlaşdırma
Kodlaşdırma

Hər şeyi düzgün bir şəkildə bağladıqdan sonra, tuneri proqramlaşdırmalısınız ki, əslində öz işini görsün. Kod aşağıda verilmişdir

// kitabxana kodunu daxil edin: #include

// kitabxananı LiquidCrystal lcd (12, 11, 5, 4, 3, 2) interfeys pinlərinin nömrələri ilə işə salın;

int A = 440;

int B = 494;

int C = 523;

int D = 587;

int E = 659;

int F = 699;

int G = 784;

int yüksəkA = 880;

int buzzer = 8; int functionGenerator = A1;

boş quraşdırma () {

// LCD -nin sütun və satır sayını təyin edin:

lcd.begin (16, 2);

// LCD -yə mesaj yazın.

lcd.print ("salam, dünya!");

Serial.begin (9600);

// LCD -də hər şeyi silin, sonra kursoru, çapı təyin edin

lcd.setCursor (0, 1); }

boşluq döngəsi () {

Serial.println (analogRead (functionGenerator));

gecikmə (50);

// kursoru 0 sütunun 1 -ci sətirinə qoyun

// (qeyd: say 1 0 -dan başladığı üçün ikinci sətirdir):

əgər (analogRead (functionGenerator) == 450) {

lcd.clear ();

lcd.setCursor (8, 1);

ton (səs -küy, 250);

lcd.print ("A");

gecikmə (1000);

} başqa halda (analogRead (functionGenerator) == 494) {

lcd.clear ();

lcd.setCursor (8, 1);

ton (səs -küy, 250);

lcd.print ("B");

gecikmə (1000);

} başqa halda (analogRead (functionGenerator) == 523) {

lcd.clear ();

lcd.setCursor (8, 1);

ton (səs -küy, 250);

lcd.print ("C");

gecikmə (1000);

} başqa halda (analogRead (functionGenerator) == 587) {

lcd.clear ();

lcd.setCursor (8, 1);

ton (səs -küy, 250);

lcd.print ("D");

gecikmə (1000);

} başqa halda (analogRead (functionGenerator) == 659) {

lcd.clear ();

lcd.setCursor (8, 1);

ton (səs -küy, 250);

lcd.print ("E");

gecikmə (1000);

} başqa halda (analogRead (functionGenerator) == 699) {

lcd.clear ();

lcd.setCursor (8, 1);

ton (səs -küy, 250);

lcd.print ("F");

gecikmə (1000);

} başqa halda (analogRead (functionGenerator) == 784) {

lcd.clear ();

lcd.setCursor (8, 1);

ton (səs -küy, 250);

lcd.print ("G");

gecikmə (1000);

} başqa halda (analogRead (functionGenerator) == 880) {

lcd.clear ();

lcd.setCursor (8, 1);

ton (səs -küy, 250);

lcd.print ("A");

gecikmə (1000);

} başqa halda (analogRead (functionGenerator)> 400 && digitalRead (functionGenerator) <449) {

lcd.clear ();

lcd.setCursor (4, 1);

ton (səs -küy, 250);

lcd.print ("A");

gecikmə (1000);

} başqa halda (analogRead (functionGenerator)> 451 && digitalRead (functionGenerator) <470) {

lcd.clear ();

lcd.setCursor (12, 1);

ton (səs -küy, 250);

lcd.print ("A");

gecikmə (1000);

} başqa halda (analogRead (functionGenerator)> 471 && digitalRead (functionGenerator) <493) {

lcd.clear ();

lcd.setCursor (4, 1);

ton (səs -küy, 250);

lcd.print ("B");

gecikmə (1000);

} başqa halda (analogRead (functionGenerator)> 495 && digitalRead (functionGenerator) <509) {

lcd.clear ();

lcd.setCursor (12, 1);

ton (səs -küy, 250);

lcd.print ("B");

gecikmə (1000);

} başqa halda (analogRead (functionGenerator)> 509 && digitalRead (functionGenerator) <522) {

lcd.clear ();

lcd.setCursor (4, 1);

ton (səs -küy, 250);

lcd.print ("C");

gecikmə (1000);

} başqa halda (analogRead (functionGenerator)> 524 && digitalRead (functionGenerator) <556) {

lcd.clear ();

lcd.setCursor (12, 1);

ton (səs -küy, 250);

lcd.print ("C");

gecikmə (1000);

} başqa halda (analogRead (functionGenerator)> 557 && digitalRead (functionGenerator) <586) {

lcd.clear ();

lcd.setCursor (4, 1);

ton (səs -küy, 250);

lcd.print ("D");

gecikmə (1000);

} başqa halda (analogRead (functionGenerator)> 588 && digitalRead (functionGenerator) <620) {

lcd.clear ();

lcd.setCursor (12, 1);

ton (səs -küy, 250);

lcd.print ("D");

gecikmə (1000);

} başqa halda (analogRead (functionGenerator)> 621 && digitalRead (functionGenerator) <658) {

lcd.clear ();

lcd.setCursor (4, 1);

ton (səs -küy, 250);

lcd.print ("E");

gecikmə (1000);

} başqa halda (analogRead (functionGenerator)> 660 && digitalRead (functionGenerator) <679) {

lcd.clear ();

lcd.setCursor (12, 1);

ton (səs -küy, 250);

lcd.print ("E");

gecikmə (1000);

} başqa halda (analogRead (functionGenerator)> 680 && digitalRead (functionGenerator) <698) {

lcd.clear ();

lcd.setCursor (4, 1);

ton (səs -küy, 250);

lcd.print ("F");

gecikmə (1000);

} başqa halda (analogRead (functionGenerator)> 700 && digitalRead (functionGenerator) <742) {

lcd.clear ();

lcd.setCursor (12, 1);

ton (səs -küy, 250);

lcd.print ("F");

gecikmə (1000);

} başqa halda (analogRead (functionGenerator)> 743 && digitalRead (functionGenerator) <783) {

lcd.clear ();

lcd.setCursor (4, 1);

ton (səs -küy, 250);

lcd.print ("G");

gecikmə (1000);

} başqa halda (analogRead (functionGenerator)> 785 && digitalRead (functionGenerator) <845) {

lcd.clear ();

lcd.setCursor (12, 1);

ton (səs -küy, 250);

lcd.print ("G");

gecikmə (1000);

} başqa halda (analogRead (functionGenerator)> 846 && digitalRead (functionGenerator) <879) {

lcd.clear ();

lcd.setCursor (4, 1);

ton (səs -küy, 250);

lcd.print ("A");

gecikmə (1000); }

başqa {noTone (səs siqnalı); } gecikmə (10); }

Addım 4: Gücə qoşun

Gücə Bağlamaq
Gücə Bağlamaq

Son addım üçün, bir güc mənbəyi tapmaq və onu tunerdən istifadə etməyə başlaya biləcəyiniz Arduino -ya bağlamaq kifayətdir.

Tövsiyə: