ArduinoIO-Matlab インターフェイスを使用して、Matlab から Arduino を制御しています。私の現在のセットアップでは、3 つの EMG マッスル センサー (Advancer Technologies 製) が Arduino のアナログ ピン 1、2、および 3 に接続されています。Arduino は Matlab に接続されています。これら 3 つのピンから同時にデータを収集し、1000x3 のマトリックス サイズに格納しようとしています。私の問題は、Matlab がアナログ ピンからサンプリングするレートです。3 つのピンから同時に 1000 の読み取り値を収集するには、約 25 秒かかります。私はarduino自体がより高いレートでサンプリングしていることを知っています。以下は私のコードです。これを変更して、10 秒で約 1000 サンプルのサンプリング レートを取得するにはどうすればよいですか?
ar = arduino('COM3');
ax = zeros(1000,3);
for ai = 1:1000
ax(ai,:) = [ar.analogRead(1) ar.analogRead(2) ar.analogRead(3)];
end
delete(ar);
これは、上記のコード (プロファイル ビューアー) にかかった時間です。
time calls line
< 0.01 1 3 ax = zeros(1000,3);
4
< 0.01 1 5 for ai = 1:1000
25.07 1000 6 ax(ai,:) = [ar.analogRead(1) ar.analogRead(2) ar.analogRead(3)];
1000 7 end
8
1.24 1 9 delete(ar);
他に明確にする必要がある場合はお知らせください。ありがとうenter code here