Eğitimler
SimpleAudioFrequencyMeter
Bu eğiticide Arduino ve Genuino Zero kartlar için Ses Frekansı Ölçer Kitaplığı'nın nasıl kullanılacağı açıklanmaktadır. Kod, genel bir giriş sinyalinin frekansını elde etmek için A0'a bağlı olan ve bir elektronik devre üzerinden büyütülen bir sinyalin frekansını ölçmek için kütüphane yöntemini kullanır. Şu anda kütüphane tarafından ölçülen aralık 60 ila 1500 Hz arasındadır ve setBandwidth () yöntemi ile daraltılabilir. Kütüphane, arduino kütüphane yöneticisi kullanılarak kurulabilir
Gerekli Donanım
Devre
Düşük seviyeli girişlerden bile en dinamik aralığı elde etmek için devre, sinyalin genliğini ADC tarafından desteklenen tam giriş voltaj aralığına getiren ters çevirmeyen bir amplifikatörden oluşur. Tam çözünürlükte örnekleme daha iyi doğruluk demektir.
10k trimpot, sinyal seviyesiyle ADC giriş aralığına uyan amplifikatörün kazancını ayarlamaya izin verir. Bu ayar, Arduino Software (IDE) Seri Monitörünün çıkışına bakılarak yapılmalıdır: frekans okuması sabit olduğunda kazanç doğru şekilde ayarlanır.
Alternatif olarak, bu amaç için özel olarak tasarlanmış ayarlanabilir kazançlı Electret mikrofon amplifikatörü - MAX4466'yı satın alabilirsiniz.
Şematik
Kod
Simple Frequency Meter for Arduino Zero
Demonstrates how to sample an input signal and get back its frequency
This example code is in the public domain
http://arduino.cc/en/Tutorial/SimpleAudioFrequencyMeter
created by Arturo Guadalupi <a.guadalupi@arduino.cc>
10 Nov 2015
*/
#include <AudioFrequencyMeter.h>
AudioFrequencyMeter meter;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("started");
meter.setBandwidth(70.00, 1500); // Ignore frequency out of this range
meter.begin(A0, 45000); // Intialize A0 at sample rate of 45kHz
}
void loop() {
// put your main code here, to run repeatedly:
float frequency = meter.getFrequency();
if (frequency > 0)
{
Serial.print(frequency);
Serial.println(" Hz");
}
}