Pertama, untuk aplikasi khusus Anda, Anda benar-benar hanya perlu 1 kHz atau lebih laju pengambilan sampel, dengan asumsi Anda menyetel frekuensi dasar dan bukan salah satu parsial inharmonik ...
Bagaimanapun, untuk tingkat pengambilan sampel maksimum yang mungkin, manual Arduino mengatakan:
Dibutuhkan sekitar 100 mikrodetik (0,0001 detik) untuk membaca input analog, sehingga kecepatan membaca maksimum sekitar 10.000 kali per detik.
Ini akan berarti frekuensi pengambilan sampel 10 kHz adalah maks. Namun. Anda bisa mendapatkan tingkat pengambilan sampel yang lebih tinggi dengan mengakses register ADC secara langsung . The Arduino Realtime Audio Processing halaman menggunakan dua saluran di 15 kHz, misalnya. Jadi maks 10 kHz hanya ketika menggunakan fungsi AnalogRead () bawaan, karena memiliki banyak overhead.
ADC dioptimalkan untuk operasi terbaik dengan kecepatan clock antara 50 kHz dan 200 kHz:
Secara default, sirkuit aproksimasi berturut-turut membutuhkan frekuensi clock input [ADC clock] antara 50 kHz dan 200 kHz untuk mendapatkan resolusi maksimum.
Karena konversi ADC membutuhkan 13 siklus clock, ini akan menjadi laju sampling dari 4 kHz hingga 15 kHz. Menurut AVR120: Karakterisasi dan Kalibrasi ADC pada AVR :
Untuk kinerja optimal, jam ADC tidak boleh melebihi 200 kHz. Namun, frekuensi hingga 1 MHz tidak mengurangi resolusi ADC secara signifikan.
Mengoperasikan ADC dengan frekuensi lebih besar dari 1 MHz tidak dicirikan.
Frekuensi clock 1 MHz = frekuensi sampling 77 kHz, jadi itulah maks yang realistis.
Utas forum Baca Analog Lebih Cepat? memiliki lebih banyak tentang ini.