デバイス・ソフトウェア使用:
#GP2Y10141325 #stm32f103ze #matlab #電気抵抗150オーム #蓄電器220uf #keil uVision5
GP2Y10141325を用いて、pm2.5を測定してから、uartを通してmatlabでデータを分析した。
— プログラミング君 (@lovejp_1) September 20, 2021
その回路図またはプログラミングコードはこちらです:https://t.co/uf0Hrz4wqn
デバイス使用:#GP2Y10141325#stm32f103ze#matlab#電気抵抗150オーム#蓄電器220uf pic.twitter.com/Ayh11geXh7
GP2Y10141325を用いて、pm2.5を測定してから、uartを通してmatlabでデータを分析した。
— プログラミング君 (@lovejp_1) September 23, 2021
その回路図またはプログラミングコードはこちらです:https://t.co/uf0Hrz4wqn
デバイス使用:#GP2Y10141325#stm32f103ze#matlab#電気抵抗150オーム#蓄電器220uf pic.twitter.com/Ayh11geXh7 pic.twitter.com/T8PJ4vuUb1
Matlab コード:
clear;
clc;
clf;
delete(instrfindall); %delete instrfind(必要)
ob=serial('COM5');%uartインターフェイスを設定する
set(ob,'BaudRate',115200);
set(ob,'BytesAvailableFcnCount',1);
set(ob,'BytesAvailableFcnMode','byte');
set(ob,'TimeOut',0.1);%timeoutを設定する
fopen(ob);%COM5を開ける
pm=fread(ob);%データを読み込む
PM0=hex2dec(pm);
t=0:18;
PM=zeros(1,19);
while(1)
pm=fread(ob);
PM0=hex2dec(pm);
size(PM0)
if (length(PM0)==69||length(PM0)==66||length(PM0)==72||length(PM0)==57||length(PM0)==63)
for i=1:19
PM(i)=PM0(3*i-2)*100+PM0(3*i-1)*10+PM0(3*i);
end
else
for i=1:19
PM(i)=PM0(2*i-1)*10+PM0(2*i);
end
end
plot(t,PM);
axis([0 18 0 696]);
ylabel('PM2.5(g/cm^{3})');
pause(0.1);%必要
end
Comment Section