Arduino MKR WiFi 1010をデータ入力に使う⑧I2C温湿度センサHTS221

  Arduinoのライブラリには、次のようなセンサ類があります。すべての機能を利用する場合、別途Sensor Fusion and Tracking ToolboxもしくはNavigation Toolboxが必要になる場合があります。これらは有料です。home Licenseでは、Sensor Fusion and Tracking Toolboxは購入できません。

IMU and Environmental Sensors

mpu9250 9軸 9自由度 16ビット ジャイロスコープ 加速用 磁気センサ
lsm9ds1 9軸慣性計測ユニット 3軸の加速度センサ 3軸のジャイロ・センサ 3軸の磁力センサ
mpu6050 3軸加速度センサ 3軸ジャイロセンサ
lsm303c 6自由度の慣性計測 3軸の加速度センサ 3軸の磁気センサ
lsm6ds3 6自由度の慣性計測 3軸の加速度センサ 3軸のジャイロ・センサ
lsm6ds3h 6自由度の慣性計測 3軸の加速度センサ 3軸のジャイロ・センサ
lsm6dsl 6自由度の慣性計測 3軸の加速度センサ 3軸のジャイロ・センサ
lsm6dsm 6自由度の慣性計測 3軸の加速度センサ 3軸のジャイロ・センサ
lsm6dso 6自由度の慣性計測 3軸の加速度センサ 3軸のジャイロ・センサ
lsm6dsr 6自由度の慣性計測 3軸の加速度センサ 3軸のジャイロセンサ
hts221 相対湿度 / 温度センサ
lps22hb 気圧センサ

BNO055 Sensor

bno055 3軸加速度計、3軸磁力計、3軸ジャイロスコープ クォータニオン、オイラー角、ベクトルの形式で出力

GPS

gpsdev GPS受信機

 lps22hbは第4回のLPS25HBとほぼ同じ機能のICですが、デバイスIDが異なります。

温湿度センサHTS221

 このセンサはI2Cインターフェースで接続します。Adafruit HTS221 - Temperature & Humidity Sensorを使いました。電源電圧は3.3/5Vのどちらでも使えます。

 データシート

  • 電源電圧  1.7~3.6V
  • 湿度 確度±3.5%RH、分解能0.004%RH
  • 温度 確度±0.5℃、分解能0.016℃
  • インターフェース I2C(0~400kHz)、SPI(最大10MHz)
  • スレーブ・アドレス 0x5f(固定)

プログラム


clear
a = arduino('COM15', 'MKR1010', 'Libraries', 'I2C');
humiditySensor = hts221(a)
humidityReading = readHumidity(humiditySensor)
temperatureReadings = readTemperature(humiditySensor)

 実行結果です。

グラフ

 animatedline()を使って、画面には20個の最新データを表示しながら、ここでは100個のデータを表示し続けます。100個のデータを測定し終わったら、グラフの下にスライドバーが表示され、過去にさかのぼって表示できます。


clear
a = arduino('COM15', 'MKR1010', 'Libraries', 'I2C');
humiditySensor = hts221(a);

h = animatedline('MaximumNumPoints',20, 'Color', 'g', 'LineWidth', 2);
t = animatedline('MaximumNumPoints',20, 'Color', 'r', 'LineWidth', 2);

counter = 1:100;
humi = (counter);
temp = (counter);
for k = counter
    humi(k) = readHumidity(humiditySensor);
    addpoints(h, counter(k), humi(k));
    
    temp(k) = readTemperature(humiditySensor);
    addpoints(t, counter(k), temp(k));
    
    drawnow
    pause(2);
end

 実行結果です。大きく湿度が変化しているところは、センサを手のひらで包み込んだときです。

前へ

Arduino MKR WiFi 1010をデータ入力に使う⑦アナログ入力-温度センサLM35/MCP9700

次へ

Arduino MKR WiFi 1010をデータ入力に使う⑨I2C温湿度センサSHTC3