Daftar Isi:

Arduino - Piano Tiga Tombol Piezo: 4 Langkah
Arduino - Piano Tiga Tombol Piezo: 4 Langkah

Video: Arduino - Piano Tiga Tombol Piezo: 4 Langkah

Video: Arduino - Piano Tiga Tombol Piezo: 4 Langkah
Video: DIY Arduino Piano: How to Make a Piano using Buzzer and Push Buttons 🎹🎢😲 #diy #arduino #music #how 2024, Desember
Anonim
Image
Image

Piano tiga tombol adalah proyek untuk pemula dengan beberapa pengalaman menggunakan Arduino.

Saya secara tidak sengaja tersapu dalam mencoba membuat ini saat bermain-main dengan piezo buzzer untuk pertama kalinya. Itu sangat keras! Dalam mencoba mencari berbagai metode untuk membuat bel lebih tenang dan mencoba frekuensi yang berbeda menggunakan fungsi tone() dan noTone(), saya menyadari mungkin menyenangkan untuk mencoba dan mencampur buzzer piezo bersama dengan komponen favorit saya yang lain dari Arduino saya kit: tombol dan potensiometer.

Bahan yang dibutuhkan antara lain:

  • 1 Arduino
  • 1 papan tempat memotong roti
  • 1 Kabel USB
  • Kabel Jumper (berbagai warna)
  • 1 330 Kilo-ohm Resistor
  • 1 Piezo Buzzer
  • 3 Tombol Tekan
  • 1 Potensiometer

Langkah 1: Piezo Buzzer

Piezo Buzzer
Piezo Buzzer

Untuk memulai, atur piezo di papan tempat memotong roti Arduino. Satu sisinya (sisi kaki yang lebih pendek) perlu berlari ke tanah. Sisi lain (sisi kaki yang lebih panjang) perlu terhubung ke pin input digital. Saya memilih untuk menghubungkannya ke 8.

Langkah 2: Tekan Tombol

Tekan tombol
Tekan tombol
Tekan tombol
Tekan tombol

Selanjutnya, saatnya untuk mengatur tombol push. Seperti piezo, tombol tekan perlu terhubung ke ground dan ke pin input digital.

Langkah 3: Potensiometer

Potensiometer
Potensiometer
Potensiometer
Potensiometer

Langkah terakhir dalam membangun fisik adalah potensiometer. Potensiometer datang dalam beberapa bentuk yang berbeda. Kami akan menggunakan potensiometer sebagai pembagi tegangan, jadi ketiga kakinya harus terhubung.

Kaki Kanan: Bilah Negatif (Ground)

Kaki Tengah: Pin Analog 0

Kaki Kiri: Bar Positif

Langkah 4: Kode

Saat menulis kode untuk proyek ini, saya merujuk informasi tentang beberapa jenis fungsi tertentu:

nada()

noTone() (Saya tidak akhirnya menggunakan yang ini. Saya mengatur frekuensi ke "0" sebagai gantinya.)

peta()

Referensi bagus lainnya untuk pengguna pertama kali Piezo Buzzers dapat ditemukan di sini. Meskipun ide untuk mengubah suara buzzer piezo tampak sederhana, awalnya bisa sedikit berlebihan!

Fungsi tone() dapat dipecah menjadi tiga bagian:

  1. Pin (pin yang terhubung dengan buzzer piezo)
  2. Frekuensi (frekuensi suara dalam hertz)
  3. Duration (durasi suara yang diberikan dalam milidetik)

Pada dasarnya, tampilannya seperti ini: nada(pin, frekuensi, durasi). Komponen ketiga (durasi) adalah opsional, sedangkan dua lainnya diperlukan agar bel berfungsi. Komponen "frekuensi" dari fungsi nada inilah yang dapat dianggap sebagai "suara" yang dihasilkan oleh bel.

Anda juga akan melihat bahwa kode tersebut menampilkan dua bit kode lainnya. Ada beberapa pernyataan if/else yang diatur untuk memberi tahu Arduino apa yang harus dilakukan jika tombol yang berbeda ditekan serta untuk mengaturnya dengan "frekuensi = 0" dalam situasi ketika tidak ada tombol yang ditekan. Dalam pernyataan if/else, fungsi map() digunakan untuk memetakan skala potensiometer ke sekumpulan frekuensi. Ini bisa diubah! Bermain-main dengan nilai frekuensi yang berbeda untuk melihat suara berbeda apa yang bisa Anda dapatkan dari piezo.

Lihat kode yang saya gunakan untuk membuat piano tiga tombol di sini atau periksa di bawah.

int piezoPin = 8; // Siapkan pin yang terhubung ke Piezo.

int sensorPin = 0; //Mengatur pin yang terhubung ke sensor (potensiometer). int sensorNilai = 0;

int tombol1 = 5; //Mengatur pin input yang terhubung ke tombol.

int tombol2 = 4; int tombol3 = 3;

int frekuensi = 0;

const int delayWaktu = 500; //Mengatur konstanta untuk variabel waktu tunda dalam fungsi tone().

batalkan pengaturan() {

pinMode(tombol1, INPUT_PULLUP); pinMode(button2, INPUT_PULLUP); pinMode(button3, INPUT_PULLUP); }

lingkaran kosong() {

sensorValue = analogRead(sensorPin); //Baca sensornya. //Petakan nilai potensiometer yang berbeda ke satu set frekuensi untuk masing-masing dari tiga tombol. if (digitalRead(button1) == LOW) { frekuensi = peta(sensorValue, 0, 1023, 400, 499); } else if (digitalRead(button2) == LOW) { frequency = map(sensorValue, 0, 1023, 500, 599); } else if (digitalRead(button3) == LOW) { frequency = map(sensorValue, 0, 1023, 600, 699); } else { frekuensi = 0; } nada(piezoPin, frekuensi, waktu tunda); //Mengatur fungsi tone() dengan variabel. }

Direkomendasikan: