Tinggi Nada dari Knob
Termasuk bagian Output dalam perjalanan Arduino di Coddy. Pelajaran 12 dari 24.
Kenop dapat memainkan buzzer seperti alat musik. Idenya sama seperti dimmer: baca kenop, konversi pembacaannya, lalu gunakan hasilnya.
Kali ini rentang targetnya adalah frekuensi. 200 Hz menghasilkan dengungan rendah dan 2000 Hz menghasilkan siulan tinggi, jadi:
int reading = analogRead(A0);
int pitch = map(reading, 0, 1023, 200, 2000);
tone(8, pitch);map() tidak perlu memulai rentang baru dari 0: 0 menjadi 200, 1023 menjadi 2000, dan posisi tengah kenop menghasilkan nilai sekitar 1100.
Memanggil tone() lagi dengan frekuensi baru langsung mengubah nadanya, sehingga tinggi nada mengikuti kenop saat kamu memutarnya. delay(10) yang singkat mencegah program memulai ulang nada ribuan kali per detik.
Tantangan
MudahKnob terhubung ke A0 dan buzzer ke pin 8. Atur pitch dengan knob:
- baca knob
- ubah pembacaan menjadi frekuensi dari 200 hingga 2000 Hz dengan
map() - putar bunyinya dengan
tone(), lalu tunggu 10 ms
Tekan Run dan putar knob, lalu tekan Check.
Coba sendiri
const int knobPin = A0;
const int buzzerPin = 8;
void setup() {
}
void loop() {
// baca nilai kenop, petakan ke 200..2000 Hz, lalu bunyikan
}
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Output
Latihan sendiri: Playground Arduino