Arduinoでマイク接続して、波形を解析したいのだ。
サンプリングレートどれくらい出せるのだろうと思いましたが、
アナログリード100usecかかるようで最大でも10kHZということでしょうか。
2chで録音すると5khzになってしまって、ちょっと足りない気もしますが・・・
Arduino - AnalogRead
さて、実機Genuino101で測ってみると・・・
28マイクロsecond出てました。
結構早いかもかも。
こいつはintelの16bitCPU積んでるらしく早いらしい。
まぁ、なんでもいい。当初の目的が果たせれば!
const int TRY_COUNT = 1000;
unsigned long microTime[TRY_COUNT];
unsigned int wave[TRY_COUNT];
int total = 0;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
while (!Serial) {
;
}
}
void loop() {
total = 0;
for(int i=0;i<TRY_COUNT;i++){
int val = analogRead(0);
microTime[i] = micros();
wave[i] = val;
}
for(int i=0;i<1000-1;i++){
total = total + microTime[i+1] - microTime[i];
Serial.println(wave[i]);
}
Serial.println("average");
Serial.println(total /(TRY_COUNT - 1));
delay(1000);
}