Nada pada Beberapa Speaker
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.
Perangkat Keras yang Diperlukan
Skema
Desain PCB
Kode Contoh
Kode yang siap di upload
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:
/* | |
Multiple tone player | |
Plays multiple tones on multiple pins in sequence | |
circuit: | |
- three 8 ohm speakers on digital pins 6, 7, and 8 | |
created 8 Mar 2010 | |
by Tom Igoe | |
based on a snippet from Greg Borenstein | |
This example code is in the public domain. | |
https://www.arduino.cc/en/Tutorial/BuiltInExamples/toneMultiple | |
*/ | |
void setup() { | |
} | |
void loop() { | |
// turn off tone function for pin 8: | |
noTone(8); | |
// play a note on pin 6 for 200 ms: | |
tone(6, 440, 200); | |
delay(200); | |
// turn off tone function for pin 6: | |
noTone(6); | |
// play a note on pin 7 for 500 ms: | |
tone(7, 494, 500); | |
delay(500); | |
// turn off tone function for pin 7: | |
noTone(7); | |
// play a note on pin 8 for 300 ms: | |
tone(8, 523, 300); | |
delay(300); | |
} |
Pelajari lebih lanjut
Anda dapat menemukan tutorial yang lebih mendasar di bagian contoh bawaan .
Anda juga dapat menjelajahi referensi bahasa , kumpulan terperinci bahasa pemrograman Arduino.
Tidak ada komentar:
Posting Komentar