I2Cデバイスモジュール調査

最終更新日:2021/5/14

今はWindowsPCではなくても、ArduinoとかRaspberryPiとか安価で且つ情報が多く気軽に使えるマスターデバイスが増えました。
センサデバイスなどもArduinoとかRaspberryPiですぐにテストできるようなモジュール化が一般化してデバイス選択の際、モジュール化されていることが売れ筋だと読み替えられ、選定理由になることも有るかと思います。

機能からデバイスを見つけ出すことが容易になれば、今後の役に立つかと思い、リストアップを検討しました。
機能(温度/湿度/時刻・・・等々)毎にモジュール(デバイス)を調査し、リストアップします。同じデバイスでも異なるモジュールも多々あり、相当な情報量になるかと考えています。
また、温度と湿度を計測できるデバイスであれば2項目に跨いでリストアップして行きます。

カテゴリ(入力)          
温度 AE-HDC1000
(HDC1000)
AE-BME280
(BME280)
AM2321
(AM2321)
AE-SHT31
(SHT-31)
HDC1050
SFE-SEN-11931
(TMP102 )
M-06675
(ADT7410)
GY-21
(HTU21)
湿度 AE-HDC1000
(HDC1000)
AE-BME280
(BME280)
AM2321
(AM2321)
SHT-31
(SHT-31)
HDC1050
GY-21
(HTU21)
気圧 AE-LPS331
(LPS331)
AE-BME280
(BME280)
AE-LPS25H
(LPS25H)
AE-MPL115A2-A-V2
(MPL115A2)
LPS22HB
MPL115A2
時刻 ZS-042
(DS3231)
RTC-8564NB
(RTC -8564)
M41T62 3-01-0094-A
(DS1307)
電圧 AE-MCP3425
(MCP3425)
AE-ADT7410_a
(ADT7410)
Y2C-003 HiLetgo ADS1115
(ADS1115)
電流 INA226iso-100
(INA226)
HiLetgo INA219
(INA219)
DI(TTL) MCP23017 MCP23S17 NJU3711
照度 M1750-5P
(BH1750)
TSL2561
加速度 AE-LIS3DH
(LIS3DH)
ADXL345
(ADXL345)
AE-L3GD20
(L3GD20)
MPU-9250 MMA8451Q
LSM303DLHC MPU-9150 SEN-10121
(ADXL345)
LSM303DLH MMA7455L
地磁気 (HMC5883L) ATD5883L
(HMC5883L)
SEN-12916
(HMC6343)
MPU-9250 HMC6352
LSM303DLH MPU-9150 SEN-07915
(HMC6352)
LSM303DLH
ジャイロ SEN-10612
(L3G4200D )
SEN-10251
(IMU3000)
MPU-9250
MPU-9150 SEN-10121
(ITG-3200)
SFE-SEN-11977
(ITG-3200)
カラーセンサ (S11059-02DT]) TCS34725 VEML6040
距離 GP2Y0 VL6180X HC-SR04
カメラ M7670D18B
(OV7670)
CAMERA130W-OV9655
(OV9655)
土壌湿度 M-SMS393のようなセンサモジュールはあるのですが、I2Cでは有りません。Arduinoで使えるのでそれで良しとも云えます。
熱電対 MCP9600
(MCP9600)
赤外線センサ BOB-10901
(VCNL4000)
紫外線センサ VEML6070
圧力 I2C接続の圧力センサが見当たりません。気圧はあるのですが、、
基本アナログ電圧のようです。組み合わせたモジュールがあっても良いように思うのですが。
雷センサー AE-AS3935
(AS3935)

カテゴリ(出力)          
電圧 AE-MCP4725 (MCP4725) AE-MCP4726
(MCP4726)
MCP4725
(MCP4725)
電流
接点 Y2C-005 Y2C-004
DO(TTL)
パルス列 AE-Si5351A-B
(Si5351A)
Si5351A DS1077Z
LED SSCI-026772
(PCA9956BTW)
SSCI-023894
(PCA9624)
KY-009
LCD AE-AQM1602
(ST7032)
AE-AQM0802
(ST7032i)
K-LCD792-I2C
(K-LCD792-I2C)
I2C LCD 2004
()
SB1602B
()
SSCI-014052
(ST7032)
モータドライバ DRV8830 AE-PCA9685
(PCA9685)
SSCI-023740
(PCA9629APW)
HiLetgo PCA9685
(PCA9685)


カテゴリ毎のモジュールについてコメントを付けておきます。

【温度】

温度センサはSHTで示されるSENSIRION社のセンサが一般的ですが、I2Cデバイスとして提供されているのは少ないです。※SHT3xシリーズはI2Cです。
TIが提供するLM75Aと云うデバイスを搭載したモジュールは安価で多くのメーカからモジュールがでています。ただ、このLM75Aは分解能が9bitで低いです。その割に高速な変換が出来るわけでは無く、急激な温度変化を検知するとエラーになります。
その意味でアナログデバイス社提供のADT7410というセンサは16bit分解能が有り、変換速度も4S/sが可能です。

温度センサは幾つかぶら下げて複数箇所の温度を取得したいかと思います。I2Cなのでスレーブアドレスをいくつ用意されているかというのも気になるところです。LM75Aは8chあります。ADT7410は4chのようです。いずれにしても同時取得は困難です。トリガだけ掛けてセトリング後、データを順次取得する方法もあるかと思います。そのためにはドライバが対応している必要がありそうです。

GY-21という温湿度対応のセンサモジュールを購入しました。SHT-21の互換センサであるHTU21が搭載されています。このセンサモジュールですがBluePillでも普通に使えるライブラリが提供されており、そこそこ安定しています。14bitADCとのことですが、0.01℃分解能となり、結構納得のセンサです。

ボッシュ社のBME280は温度・湿度・気圧を計測出来便利です。比較的安定計測出来ています。

【湿度】

GY-21は湿度も計測出来ます。

ボッシュ社のBME280は湿度が計測出来ますがBMP280には この機能がありません。流通しているモジュールはBMEとBMPが相互に使用出来るものが多く、どちらが付いているのか明確では無い物があります。注意が必要です。プログラムコード内で判断文を用意しておく方が良さそうです。

【気圧】

ボッシュ社のBME/BMP280が一番流通しているように思います。BMEとBMPの価格差が大きいこともあり、M5Stackでは圧力だけBMP、温度湿度はSHT30と云うような使い方もあります。

【時刻】

DS3231(Maxim)とDS1307(Maxim)の違いを検討します。
コマンド体系は基本同じです。
DS3231の利点

  • アラート機能があること
  • 内部に水晶を包括しており、簡易です。+/- 3.5ppm程度の精度はあります。

DS1307の利点

  • 外付けの水晶とコンデンサによって精度を向上させることができる。

実際にBluePillで比較して使ってみましたが、明らかにDS3231のほうが使いやすいです。

【電圧】

ADS1115が使われているモジュールは分解能が16bitある点で意味があります。

  • RaspberryPiにはADC機能はありません。
  • Arduinoは10bit分解能です。ちょっとさみしいです。
  • mbedは12bit分解能です。

【電流】

電流計測はシャント抵抗を介してドロップ電圧を計測して電流値に変換するタイプか、ホール効果を利用した直流変流器 を介して電流値を求める方法が一般的です。

INA219/INA226等のTI製電流センスの電力/電流モニタICはなかなか便利で手軽なチップです。
I2Cチップの場合、計測タイミングが取れないものが多いです。この点は注意が必要かと思っています。
内部タイミングで連続計測して、結果を返すというのが一般的ですが、あるタイミングの電流値を求めようとすると時間的なズレが発生してしまいます。トリガ端子があり、トリガ検知後にすぐに電流計測できるようなモジュールは条件によって意味が出ます。

INA219モジュールを入手してLEDを光らせたときの電流計測をしてみました。INA219モジュールにはシャント抵抗100mΩが装備されていました。ADC分解能が12bitなので、ドロップ電圧が小さいと分解能の小ささが気になります。
その点INA226のモジュールはシャント抵抗が2mΩで分解能も16bitあり、目的さえ合えば使いやすいです。

【DI(TTL)】

MCP23017のようなI2Cでパラレル出力パタンが出来たり、逆にパラレル入力として使用で来たります。
MCP23017はI2Cですが、MCP23S17はSPI接続できます。

【照度】

GY-2561というセンサモジュールを購入しました。センサはTSL2561となっています。簡易照度計と比較しても同等の結果が得られるためいいかと思います。特にφ15の円形基板タイプがあるのもいいです。

【加速度】

【地磁気】

【ジャイロ】

【カラーセンサ】

【距離】

HC-SR04は超音波(40kHz)を発振して、ECHOを受信、時差を求めて距離に変換する方法を採っています。
音速は温度に影響を受けますが精度を考慮すると誤差範囲ですね。

【カメラ】

【土壌湿度】

【熱電対】

【赤外線センサ】

【紫外線センサ】

【圧力】

【雷センサ】

雷センサなるモノがあることを知りました。AMS社のAS3935と云うものです。


戯言(nonsense)に戻る


免責事項

本ソフトウエアは、あなたに対して何も保証しません。本ソフトウエアの関係者(他の利用者も含む)は、あなたに対して一切責任を負いません。
あなたが、本ソフトウエアを利用(コンパイル後の再利用など全てを含む)する場合は、自己責任で行う必要があります。

本ソフトウエアの著作権はToolsBoxに帰属します。
本ソフトウエアをご利用の結果生じた損害について、ToolsBoxは一切責任を負いません。
ToolsBoxはコンテンツとして提供する全ての文章、画像等について、内容の合法性・正確性・安全性等、において最善の注意をし、作成していますが、保証するものではありません。
ToolsBoxはリンクをしている外部サイトについては、何ら保証しません。
ToolsBoxは事前の予告無く、本ソフトウエアの開発・提供を中止する可能性があります。

商標・登録商標

Microsoft、Windows、WindowsNTは米国Microsoft Corporationの米国およびその他の国における登録商標です。
Windows Vista、Windows XPは、米国Microsoft Corporation.の商品名称です。
LabVIEW、National Instruments、NI、ni.comはNational Instrumentsの登録商標です。
I2Cは、NXP Semiconductors社の登録商標です。
その他の企業名ならびに製品名は、それぞれの会社の商標もしくは登録商標です。
すべての商標および登録商標は、それぞれの所有者に帰属します。