Mainkan nada pada speaker piezo tergantung pada masukan analog.
Revisi terakhir10/03/2024
Contoh ini menunjukkan cara menggunakan perintah tone() untuk menghasilkan nada yang mengikuti nilai input analog. Dengan menggunakan fotoresistor, papan Arduino Anda akan menjadi theremin cahaya yang disederhanakan.
Kode untuk contoh ini sangat sederhana. Ambil saja input analog dan petakan nilainya ke rentang nada yang dapat didengar. Manusia dapat mendengar dari 20 - 20.000 Hz, tetapi 120 - 1.500 biasanya berfungsi cukup baik untuk sketsa ini.
Anda perlu mendapatkan rentang sebenarnya dari masukan analog Anda untuk pemetaan. Dalam rangkaian yang ditunjukkan, nilai masukan analog berkisar antara sekitar 400 hingga sekitar 1.000. Ubah nilai dalam perintah map() agar sesuai dengan rentang sensor Anda.
Sketsanya adalah sebagai berikut:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Contoh ini menunjukkan cara menggunakan perintah tone() untuk memainkan nada yang berbeda pada beberapa keluaran.
Perintah tone() bekerja dengan mengambil alih salah satu timer internal Atmega, mengaturnya ke frekuensi yang Anda inginkan, dan menggunakan timer untuk mem-puls pin output. Karena hanya menggunakan satu timer, Anda hanya dapat memainkan satu not dalam satu waktu. Namun, Anda dapat memainkan not pada pin yang berbeda, secara berurutan. Untuk melakukannya, Anda perlu mematikan timer untuk satu pin sebelum beralih ke pin berikutnya.
Terima kasih kepada Greg Borenstein karena telah mengklarifikasi hal ini.
Sketsa di bawah memainkan nada pada masing-masing speaker secara berurutan, dengan mematikan speaker sebelumnya terlebih dahulu. Perhatikan bahwa durasi setiap nada sama dengan penundaan yang mengikutinya.
Berikut sketsa utamanya:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Kode di bawah ini
menggunakan file tambahan, pitches.h. File ini berisi semua nilai pitch untuk
not-not umum. Misalnya, NOTE_C4 adalah C tengah. NOTE_FS4 adalah F tajam, dan
seterusnya. Tabel not ini awalnya ditulis oleh Brett Hagman, yang karyanya
menjadi dasar perintah tone(). Anda mungkin merasa ini berguna setiap kali
ingin membuat not musik.
Sketsa utamanya
adalah sebagai berikut:
Kode Contoh
Anda bisa melakukan langkah seperti dibawah ini kode
Kode yang siap di upload
Kode di bawah ini menggunakan file tambahan, pitches.h. File ini berisi semua nilai pitch untuk not-not umum. Misalnya, NOTE_C4 adalah C tengah. NOTE_FS4 adalah F tajam, dan seterusnya. Tabel not ini awalnya ditulis oleh Brett Hagman, yang karyanya menjadi dasar perintah tone(). Anda mungkin merasa ini berguna setiap kali ingin membuat not musik.
Sketsa utamanya adalah sebagai berikut:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Hubungkan satu
terminal speaker Anda ke pin digital 8 melalui resistor 100 ohm, dan terminal
lainnya ke ground.
Nyalakan tiga FSR
(atau sensor analog lainnya) dengan 5V secara paralel. Hubungkan setiap sensor
ke pin analog 0-2, dengan menggunakan resistor 10K sebagai referensi ke ground
pada setiap jalur input.
Skema
Desain PCB
Kode Contoh
Anda bisa melakukan langkah seperti dibawah ini kode
Kode yang siap di upload
Sketsa di bawah ini
menunjukkan tiga sensor analog. Masing-masing sesuai dengan nilai not dalam
serangkaian not. Jika salah satu sensor berada di atas ambang batas tertentu,
not yang sesuai akan dimainkan.
Berikut sketsa
utamanya:
Sketsa tersebut menggunakan file tambahan, pitches.h. File ini berisi semua
nilai pitch untuk not-not umum. Misalnya, NOTE_C4 adalah C tengah. NOTE_FS4 adalah
F tajam, dan seterusnya. Tabel not ini awalnya ditulis oleh Brett Hagman, yang
karyanya menjadi dasar perintah tone(). Anda mungkin merasa ini berguna kapan
pun Anda ingin membuat not musik.
Untuk membuat file
pitches.h, klik tombol tepat di bawah ikon monitor serial dan pilih "Tab
Baru", atau gunakan Ctrl+Shift+N.
Lalu tempelkan kode atau download File pitches.h
berikut:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters