Arduino论坛
直播中

CHENYIXIAN

9年用户 78经验值
擅长:测量仪表 控制/MCU EDA/IC设计
私信 关注
[问答]

为什么arduino uno只能每秒读传感器80次?

为什么arduino只能每秒读传感器80次?我在arduino  uno上连接了一个加速度传感器,连接到了A0,还有GND.传感器测到变化的电压值,arduino A0口输出的值就是传感器的电压值,但是每秒只能收集到80个数据,但是传感器是能感应0到600HZ,请问怎么在一秒内读到更多的传感器的输出?

已退回5积分

回帖(5)

刘伟

2017-11-30 21:57:22
应该不止80次,我用过光纤传感器,也是在A0上读电压,0.1秒就可以读一次,所以你把程序发上来,大家看看是怎么回事。
举报

不知道

2017-12-1 11:08:58
引用: 刘半篇 发表于 2017-11-30 21:57
应该不止80次,我用过光纤传感器,也是在A0上读电压,0.1秒就可以读一次,所以你把程序发上来,大家看看是怎么回事。

0.1秒读一次,1秒是读几次
举报

CHENYIXIAN

2017-12-1 20:28:49
引用: 刘半篇 发表于 2017-11-30 21:57
应该不止80次,我用过光纤传感器,也是在A0上读电压,0.1秒就可以读一次,所以你把程序发上来,大家看看是怎么回事。

这就是我在matlab上控制读取arduino板子的程序
%--------------Arduino part--------------
% clear all; close all;
clear all;
a = arduino;
% a = arduino('com9','uno');

v = zeros(500:1);
t = seconds(v);
t0 = datetime('now');
for  ii=1:500
     v(ii) = readVoltage(a, 'A0');
     t(ii) = datetime('now')-t0;
end
%Convert voltage value to acceleration value
A = (v-2.4543)*1000/400;                       
max=max(A);
min=min(A);
meanA=1+(max-1+1-min)/2;                             %Acceleration value of the shaker
% meanA = mean(A);        
meanA=roundn(meanA,-2);                          %.............................................设置voltage精度0.01
meantime = mean(diff(t));
Frequency = 1/seconds (mean(diff(t)));         %每秒手机到多少个点
Frequency=roundn(Frequency,0);                  %.............................................设置Frequency精度1
fprintf('MeanA=:%.4f gn',meanA)               %print out the MeanA value
fprintf('Frequency=:%.4f Hzn',Frequency)      %print out the Frequency value
举报

CHENYIXIAN

2017-12-1 20:30:52
引用: 刘半篇 发表于 2017-11-30 21:57
应该不止80次,我用过光纤传感器,也是在A0上读电压,0.1秒就可以读一次,所以你把程序发上来,大家看看是怎么回事。

这就是我的程序,通过matlab来读arduino板子上连接的sensor的数据,但是我直接用arduino的监视窗口读,每秒能读到好几百个
1111111111111111.png
举报

更多回帖

发帖
×
20
完善资料,
赚取积分