私は 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)