Isi kandungan:

Arduino Piano Dengan Tombol Tombol Tekan: 3 Langkah
Arduino Piano Dengan Tombol Tombol Tekan: 3 Langkah

Video: Arduino Piano Dengan Tombol Tombol Tekan: 3 Langkah

Video: Arduino Piano Dengan Tombol Tombol Tekan: 3 Langkah
Video: DIY Arduino Piano: How to Make a Piano using Buzzer and Push Buttons ๐ŸŽน๐ŸŽถ๐Ÿ˜ฒ #diy #arduino #music #how 2024, November
Anonim
Arduino Piano Dengan Suis Tombol Tekan
Arduino Piano Dengan Suis Tombol Tekan
Arduino Piano Dengan Suis Tombol Tekan
Arduino Piano Dengan Suis Tombol Tekan

Dibuat oleh: Haotian Ye

Gambaran keseluruhan

Ini adalah papan piano dengan lapan suis butang tekan yang membolehkan anda memainkan satu oktaf (Do Re Mi Fa So La Si Do) dan dengan satu oktaf ini anda boleh mencuba memainkan beberapa lagu yang anda suka. Untuk projek ini terdapat beberapa pengetahuan penting yang perlu anda ketahui sebelum memulakannya.

Pertama, kita perlu mengetahui kekerapan nota asas piano.

Frekuensi disenaraikan di bawah:

Lakukan - 261Hz

Re - 294Hz

Mi - 329Hz

Fa - 349Hz

Jadi - 392Hz

La - 440Hz

Si - 493Hz

Lakukan - 523Hz

Kedua, saya akan menunjukkan cara membina litar dengan menggunakan bahagian yang boleh dibeli dari Kedai Elektronik Lee. Akhirnya ๏ผŒ Saya akan membentangkan dan menerangkan kod yang perlu dimuat naik ke papan Arduino.

Bahagian yang anda perlukan:

Arduino Uno R3 (ID Produk: 10997)

Kabel USB A hingga B M / M (ID Produk: 29861)

Resistor 10K * 8 (ID Produk: 91516)

Berbagai Warna Tack Switch * 8 (ID Produk: 3124, 31242, 31243, 31245, 31246)

Pembesar suara mini (ID Produk: 41680)

Papan Roti (ID Produk: 106861)

Kawat Jumper (ID Produk: 21801)

Langkah 1: Langkah 1: Membina Litar

Langkah 1: Membina Litar
Langkah 1: Membina Litar
Langkah 1: Membina Litar
Langkah 1: Membina Litar
Langkah 1: Membina Litar
Langkah 1: Membina Litar
Langkah 1: Membina Litar
Langkah 1: Membina Litar

Pertama, masukkan semua suis butang tekan dan pembesar suara mini di papan roti satu persatu dan padankan pada satu baris. Kemudian sambungkan pin setiap suis butang tekan ke tanah. Sambungkan perintang 10k kedua antara daya positif dan pin lain pada setiap suis butang tekan. Dan, sambungkan lajur ini ke pin 2-9 di Arduino Board. Juga, sambungkan ground ke pin ground dan daya positif ke pin 3.3v pada Arduino. Akhirnya, sambungkan pembesar suara mini ke pin 10 di Arduino.

Langkah 2: Langkah 2: Kod dan Penjelasan

Kod di bawah adalah apa yang saya tulis

const int hitam = 2;

const int putih = 3;

const int merah = 4;

const int hijau = 5;

const int biru = 6;

const int black2 = 7;

const int green2 = 8;

const int red2 = 9;

const int speaker = 10; // Pautkan semua suis butang tekan dan pembesar suara dengan pin isyarat arduino

frekuensi int = {262, 294, 330, 349, 392, 440, 493, 523}; // array mengandungi semua frekuensi satu oktaf

batal persediaan () {

// masukkan kod persediaan anda di sini, untuk dijalankan sekali:

pinMode (hitam, INPUT);

pinMode (putih, INPUT);

pinMode (merah, INPUT);

pinMode (hijau, INPUT);

pinMode (biru, INPUT);

pinMode (black2, INPUT);

pinMode (hijau2, INPUT);

pinMode (merah2, INPUT);

pinMode (pembesar suara, OUTPUT);

nada (pembesar suara, 2000);

Serial.begin (9600);

}

gelung kosong () {

// letakkan kod utama anda di sini, untuk dijalankan berulang kali:

if (digitalRead (hitam) == RENDAH) // semasa anda menekan suis butang tekan "DO"

{nada (pembesar suara, kekerapan [0], 50);

kelewatan (50);

noTone (pembesar suara);}

lain jika (digitalRead (putih) == RENDAH) // semasa anda menekan suis butang tekan "RE"

{nada (pembesar suara, kekerapan [1], 50);

kelewatan (50);

noTone (pembesar suara);}

lain jika (digitalRead (merah) == RENDAH) // semasa anda menekan suis butang tekan "MI"

{nada (pembesar suara, kekerapan [2], 50);

kelewatan (50);

noTone (pembesar suara);}

lain jika (digitalRead (hijau) == RENDAH) // semasa anda menekan butang tekan "FA"

{nada (pembesar suara, kekerapan [3], 50);

kelewatan (50);

noTone (pembesar suara);}

lain jika (digitalRead (biru) == RENDAH) // semasa anda menekan suis butang tekan "SO"

{nada (pembesar suara, kekerapan [4], 50);

kelewatan (50);

noTone (pembesar suara);}

lain jika (digitalRead (black2) == RENDAH) // semasa anda menekan suis butang tekan "LA"

{nada (pembesar suara, kekerapan [5], 50);

kelewatan (50);

noTone (pembesar suara);}

lain jika (digitalRead (green2) == RENDAH) // semasa anda menekan suis butang tekan "SI"

{nada (pembesar suara, kekerapan [6], 50);

kelewatan (50);

noTone (pembesar suara);}

lain jika (digitalRead (red2) == RENDAH) // semasa anda menekan suis butang tekan "DO"

{nada (pembesar suara, kekerapan [7], 50);

kelewatan (50);

noTone (pembesar suara);}

lain // apabila anda tidak menekan apa-apa

noTone (pembesar suara);

}

Pertama, kita harus menyatakan semua suis butang tekan dan pembesar suara sebagai pin dari 2 hingga 10 di Arduino. Setiap suis mewakili satu nota. Kemudian, gunakan satu array untuk memasukkan semua frekuensi ke dalamnya. Seterusnya, pernyataan If and else adalah apa yang saya gunakan untuk memberitahu Arduino yang mana suis butang tekan yang saya tekan.

Akhirnya, sambungkan papan Arduino anda ke komputer atau komputer riba anda dengan kabel usb A hingga B. Sebelum memuat naik kod anda, anda masih perlu memuat turun perisian Arduino dan melakukan beberapa tetapan lalai. Pilih Alat -> Papan -> Arduino / Genuino Uno; Maka kita perlu memilih port komunikasi yang disambungkan ke papan Arduino. Pilih Alat -> Pelabuhan, maka nama port mana pun yang dilabel "(Arduino / Genuino Uno)." Kemudian, anda boleh memuat naik kod tersebut ke papan Arduino.

Disyorkan: