Isi kandungan:

Cara Membuat Penala Gitar Arduino: 4 Langkah
Cara Membuat Penala Gitar Arduino: 4 Langkah

Video: Cara Membuat Penala Gitar Arduino: 4 Langkah

Video: Cara Membuat Penala Gitar Arduino: 4 Langkah
Video: Tess diy Arduino nano bikin controller Midi Guitar rig sendiri 2024, November
Anonim
Cara Membuat Penala Gitar Arduino
Cara Membuat Penala Gitar Arduino

Ini adalah arahan untuk membuat penala gitar dari Arduino dan beberapa komponen lain. Dengan pengetahuan asas mengenai elektronik dan pengekodan, anda akan dapat membuat penala gitar ini.

Perkara pertama yang pertama anda harus tahu apa bahannya.

Bahan:

- 1 Arduino (saya menggunakan Arduino 1)

- 1 Paparan LCD (16x2)

- 1 Potensiometer

- 1 Mikrofon Electret

- 1 Perintang 250 Ohm

- Beberapa Wayar

-Besi pematerian

- 1 Piezo

Langkah 1: Pin Pematerian

Pin Pematerian
Pin Pematerian

Perkara pertama yang perlu anda lakukan ialah memateri pin ke LCD, namun anda harus memastikan bahawa pematerian disolder dengan cara yang betul. Dalam gambar di atas, ia menunjukkan pin mana yang harus disambungkan ke mana. Pin GND harus dihubungkan ke terminal potensiometer seperti dalam rajah Tinkercad. (CATATAN: Sangat penting anda menyambungkan pin dengan cara yang diarahkan, jika tidak, penala tidak akan berfungsi.)

Langkah 2: Menghubungkan Segalanya

Menghubungkan Segalanya
Menghubungkan Segalanya

Setelah menyisipkan wayar ke LCD terdapat beberapa wayar lain yang perlu anda sambungkan.

1.) Perkara pertama yang perlu anda lakukan ialah menyambungkan GND dan 5V di Arduino ke papan roti yang membolehkannya mempunyai kuasa. Kemudian sambungkan electret ke pin digital 7 dan GND.

2.) Kemudian sambungkan piezo ke papan roti untuk GND dan sambungkan ke pin digital 6.

3.) Selepas itu potensiometer, anda menyambungkan terminal 1 ke jalur positif di papan roti dan terminal 2 ke jalur GND di papan roti, anda kemudian menyambungkan pengelap ke pin kontras pada LCD.

Langkah 3: Pengekodan

Pengekodan
Pengekodan

Sebaik sahaja anda menyambungkan semuanya dengan cara yang betul, anda perlu memprogramkan penala agar ia benar-benar menjalankan tugasnya. Berikut adalah kodnya

// sertakan kod perpustakaan: #include

// mulakan perpustakaan dengan nombor pin antara muka 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 tinggiA = 880;

int buzzer = 8; int functionGenerator = A1;

batal persediaan () {

// tetapkan bilangan lajur dan baris LCD:

lcd.begin (16, 2);

// Cetak mesej ke LCD.

lcd.print ("halo, dunia!");

Serial.begin (9600);

// hapus semua dalam LCD, kemudian tetapkan kursor, printt

lcd.setCursor (0, 1); }

gelung kosong () {

Serial.println (analogRead (functionGenerator));

kelewatan (50);

// tetapkan kursor ke lajur 0, baris 1

// (nota: baris 1 adalah baris kedua, kerana pengiraan bermula dengan 0):

jika (analogRead (functionGenerator) == 450) {

lcd.clear ();

lcd.setCursor (8, 1);

nada (bel, 250);

lcd.print ("A");

kelewatan (1000);

} lain jika (analogRead (functionGenerator) == 494) {

lcd.clear ();

lcd.setCursor (8, 1);

nada (bel, 250);

lcd.print ("B");

kelewatan (1000);

} lain jika (analogRead (functionGenerator) == 523) {

lcd.clear ();

lcd.setCursor (8, 1);

nada (bel, 250);

lcd.print ("C");

kelewatan (1000);

} lain jika (analogRead (functionGenerator) == 587) {

lcd.clear ();

lcd.setCursor (8, 1);

nada (bel, 250);

lcd.print ("D");

kelewatan (1000);

} lain jika (analogRead (functionGenerator) == 659) {

lcd.clear ();

lcd.setCursor (8, 1);

nada (bel, 250);

lcd.print ("E");

kelewatan (1000);

} lain jika (analogRead (functionGenerator) == 699) {

lcd.clear ();

lcd.setCursor (8, 1);

nada (bel, 250);

lcd.print ("F");

kelewatan (1000);

} lain jika (analogRead (functionGenerator) == 784) {

lcd.clear ();

lcd.setCursor (8, 1);

nada (bel, 250);

lcd.print ("G");

kelewatan (1000);

} lain jika (analogRead (functionGenerator) == 880) {

lcd.clear ();

lcd.setCursor (8, 1);

nada (bel, 250);

lcd.print ("A");

kelewatan (1000);

} lain jika (analogRead (functionGenerator)> 400 && digitalRead (functionGenerator) <449) {

lcd.clear ();

lcd.setCursor (4, 1);

nada (bel, 250);

lcd.print ("A");

kelewatan (1000);

} lain jika (analogRead (functionGenerator)> 451 && digitalRead (functionGenerator) <470) {

lcd.clear ();

lcd.setCursor (12, 1);

nada (bel, 250);

lcd.print ("A");

kelewatan (1000);

} lain jika (analogRead (functionGenerator)> 471 && digitalRead (functionGenerator) <493) {

lcd.clear ();

lcd.setCursor (4, 1);

nada (bel, 250);

lcd.print ("B");

kelewatan (1000);

} lain jika (analogRead (functionGenerator)> 495 && digitalRead (functionGenerator) <509) {

lcd.clear ();

lcd.setCursor (12, 1);

nada (bel, 250);

lcd.print ("B");

kelewatan (1000);

} lain jika (analogRead (functionGenerator)> 509 && digitalRead (functionGenerator) <522) {

lcd.clear ();

lcd.setCursor (4, 1);

nada (bel, 250);

lcd.print ("C");

kelewatan (1000);

} lain jika (analogRead (functionGenerator)> 524 && digitalRead (functionGenerator) <556) {

lcd.clear ();

lcd.setCursor (12, 1);

nada (bel, 250);

lcd.print ("C");

kelewatan (1000);

} lain jika (analogRead (functionGenerator)> 557 && digitalRead (functionGenerator) <586) {

lcd.clear ();

lcd.setCursor (4, 1);

nada (bel, 250);

lcd.print ("D");

kelewatan (1000);

} lain jika (analogRead (functionGenerator)> 588 && digitalRead (functionGenerator) <620) {

lcd.clear ();

lcd.setCursor (12, 1);

nada (bel, 250);

lcd.print ("D");

kelewatan (1000);

} lain jika (analogRead (functionGenerator)> 621 && digitalRead (functionGenerator) <658) {

lcd.clear ();

lcd.setCursor (4, 1);

nada (bel, 250);

lcd.print ("E");

kelewatan (1000);

} lain jika (analogRead (functionGenerator)> 660 && digitalRead (functionGenerator) <679) {

lcd.clear ();

lcd.setCursor (12, 1);

nada (bel, 250);

lcd.print ("E");

kelewatan (1000);

} lain jika (analogRead (functionGenerator)> 680 && digitalRead (functionGenerator) <698) {

lcd.clear ();

lcd.setCursor (4, 1);

nada (bel, 250);

lcd.print ("F");

kelewatan (1000);

} lain jika (analogRead (functionGenerator)> 700 && digitalRead (functionGenerator) <742) {

lcd.clear ();

lcd.setCursor (12, 1);

nada (bel, 250);

lcd.print ("F");

kelewatan (1000);

} lain jika (analogRead (functionGenerator)> 743 && digitalRead (functionGenerator) <783) {

lcd.clear ();

lcd.setCursor (4, 1);

nada (bel, 250);

lcd.print ("G");

kelewatan (1000);

} lain jika (analogRead (functionGenerator)> 785 && digitalRead (functionGenerator) <845) {

lcd.clear ();

lcd.setCursor (12, 1);

nada (bel, 250);

lcd.print ("G");

kelewatan (1000);

} lain jika (analogRead (functionGenerator)> 846 && digitalRead (functionGenerator) <879) {

lcd.clear ();

lcd.setCursor (4, 1);

nada (bel, 250);

lcd.print ("A");

kelewatan (1000); }

lain {noTone (buzzer); } kelewatan (10); }

Langkah 4: Menyambungkannya ke Kuasa

Menyambungkannya ke Kuasa
Menyambungkannya ke Kuasa

Untuk langkah terakhir yang perlu anda lakukan ialah mencari sumber kuasa dan menghubungkannya ke Arduino, yang anda boleh gunakan untuk menggunakan penala.

Disyorkan: