我一直在尝试通过 arduino uno 读取模拟信号并在 MATLAB 中绘制它们。当我从函数发生器给出我的输入波并尝试绘制它时,绘制的信号不正确,例如输入正弦波没有给出正弦波。可能的原因是什么?我是否需要任何外部电路才能流畅阅读?
阿杜诺代码
void setup()
{ Serial.begin(9600); }
void loop()
{
int a=analogRead(A0);
Serial.println(a);
delay(1);
}
MATLAB 代码
s=serial('COM3','BaudRate',9600);
fopen(s)
x=1:100;
n=1;
while n==1
for i=1:length(x)
tmp=fscanf(s,'%d');
if length(tmp)>1
continue;
end
y(i)=tmp;
end
y=y/1024*5;
ylim([0 5]);
plot(x,y)
drawnow
end
fclose(s)