MATLABのArduinoアドオンを用いてセンサ情報を取得する(3)
(2)の続きです。
MATLABのアドオンを使って、センサ情報を取得する場合にはArduinoに直接プログラミングはしません。
なので、Arduino IDEなどは触らなくてよいことになります。
ここでやろうとしている温度センサtmp275からI2Cで情報を取り出そうとする場合にはMATLABから
直接制御することになります。
プログラムですが、
a=arduino('COM6','Uno','Libraries','I2C'); tmp275=i2cdev(a,'0x48');% I2Cデバイスをつくる % 初期設定書き込み writeRegister(tmp275,1,hex2dec('E0'),'uint8'); write(tmp275,0,'uint8');% データ要求 pause(0.5); data=read(tmp275,2,'uint8');% データ取込み % 生データから温度への変換 temperature = (double(bitshift(int16(data(1)), 4)) +... double(bitshift(int16(data(2)), -4))) * 0.0625 % Clean Up clear tmp275 a;%デバイス消去
こんな感じになります。ここで、1行目の'COM6'はarduinoのプロパティで表示されたポート番号を指定してください。
最後はclearでデバイス設定を消しておかないと、次に接続するときにエラーが出ます。
(4)に続きます。