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); }