最終更新日:2022年6月24日
作成日:2016年9月20日
Silicon Labs社の CP2112 は “SINGLE-CHIP HID USB TO SMBUS MASTER BRIDGE ”と示されるように、1chipでUSBとSMbusを変換できるICです。
以下のような特徴が有ります。
※SMbusはI2Cの派生規格です。
- USB: デバイス機能 (フルスピード), USB HID class
- SMBus: マスター機能 (〜400kbps)
- GPIO拡張機能: 8本
- 動作電圧: 3.0〜3.6V(Self-powered時)、4.0〜5.25V(Bus-powered時)
NI社はUSB-845xという SMbus対応専用デバイスを用意していますが、そこそこ高価です。
https://sine.ni.com/nips/cds/view/p/lang/ja/nid/202367
※USB-845xはスレーブデバイスに仕立てることが出来ます。このような使い方が出来るから使用する意味はあります。ターゲットであるスレーブデバイスが決まっているのであれば、小型で安価に仕上げル事が出来る、CP2112を使用した仕組みはアドバンテージがあります。
Silicon Labs社から CP2112EK という評価KITが $29で提供されていますが、サンハヤトから MMCP2112(A)をいうモジュールが\1700で提供されるようになったことで敷居がさらに低くなりました。
そこで、MMCP2112を使用して、LabVIEWWrapドライバを作成しました。
ラズベリーパイ等で接続しているI2Cスレーブアドレス一覧を取得するツールがありますが、そのようなものもExampleにいれました。いずれ、各社I2CデバイスをアクセスできるシーケンスもExampleとして用意したいと思います。
※BOSCH社の温度湿度気圧センサモジュール・BME280を使用できるExampleを別途用意しています。
VITreeは以下のようになっています。※画をクリックするとVIの説明に入ります。
オブジェクト自体はベクター殿のストレージをお借りしています。
https://www.vector.co.jp/soft/winnt/art/se504170.html CP2112ですがOSからはHID準拠デバイスとして認識されています。予定通りです。
ベンダーID=0x10C4 プロダクトID=0xEA90 です。USBViewなるツールで情報取得してみました。
I2Cのセンサモジュールについて、M5Stack社のセンサユニットが使いやすいので加筆することにしました。
各センサに対するドライバを作る必要があります。Arduino用のライブラリは幾つか用意されているのでDLL可してコールする方が楽かもしれませんが、パタン化されているセンサであればリーズナブルなコストで作成出来るかなと思っています。
M5Stack社が提供するセンサユニットですが、リストアップして置きます。
型番 | 名称及びCPU | Chip | I/F | ID | 公式価格 | 大きさ |
U001 |
ENV | DHT12/BMP280 | I2C |
0x5C 0x76 |
$4.95 | 24.2 x 32.2 x 8.1 |
U001-B |
ENV II | SHT30/BMP280 | I2C |
0x44 0x76 |
$4.50 | 24.2 x 32.2 x 8.1 |
U002 |
IR | GPIO | $1.99 | 32 x 24 x 8 | ||
U004 |
PIR | AS312 | $3.39 | 32 x 24 x 12 | ||
U007 |
ESP32CAM | OV2640 | $11.95 | 20.5 x 46.5 x 11.5 | ||
U008 | FINGER | FPC1020A | I2C | $16.95 | 48 x 24 x 8 | |
U009 |
COLOR | TCS3472 | I2C | 32.2 x 24.2 x 8.2 | ||
U010 | ToF | VL53L0x | I2C | ($8.50 | 32 x 24 x 8 | |
U013 | ADC | ADS1100 | I2C | $3.95 | 32 x 24 x 10 | |
U016 |
THERMAL | MLX90640 | I2C | $89.00 | 32 x 24 x 8 | |
U017 |
M5Camera 4 Mbyte PSRAM | OV2640 | $14.95 | 40 x 48 x 11 | ||
U019 |
EARTH | $2.60 | 64.4 x 24.1 x 8.1 | |||
U021 |
LIGHT | $2.60 | 32 x 24 x 8 | |||
U026 | 16-Key Capacitive Touch | AVR | I2C | $4.95 | 32 x 24 x 8 | |
U027 | BUTTON | 32 x 24 x 8 | ||||
U028 |
NCIR | MLX90614 | I2C | $19.95 | 32 x 24 x 8 | |
U029 | HEART | MAX30100 | I2C | $7.95 | 32 x 24 x 8 | |
U030 | WEIGHT | HX711 | GPIO | $3.50 | 40 x 24 x 12 | |
U031 |
RFID | MFRC522 | I2C | 0x28 | $5.95 | 48 x 24 x 8 |
U032 |
GPS | AT6558 - MAX2659 | UART | $11.95 | 48 x 24 x 8 | |
U034 |
RS485 | MAX485/SP485EEN | UART | $3.25 | 40 x 24 x 14 | |
U035 |
CardKB | MEGA328P | I2C | 0x5F | $5.95 | 88 x 54 x 5 |
U037 |
M5CameraF 4 Mbyte PSRAM | OV2640 | $15.50 | 24 x 48 x 19 | ||
U038 |
M5CameraX 4 Mbyte PSRAM | OV2640 | $14.95 | 24 x 48 x 13 | ||
U040 |
PaHUB | TCA9548A | $3.95 | 48 x 24 x 12 | ||
U041 |
PbHUB | MEGA328 | $5.95 | 48 x 24 x 12 | ||
U056 | ACCEL | ADXL 345 | I2C | 0x53 | $3.95 | 32 x 24 x 8 |
U057 | OP90 | ITR9606 | () | 32 x 24 x 14 | ||
U058 | OP180 | ITR9606 | $2.50 | 32 x 24 x 14 | ||
U064 |
MINI.PROTO | 32 x 24 x 8 | ||||
U065 |
LASER.RX | GPIO | :$3.75 | 32 x 24 x 8 | ||
U066 |
LASER.TX | GPIO | $2.50 | 32 x 24 x 8 | ||
U078 |
UNIT-V K210 | OV2640 | $17.95 | 40 x 24 x 13 | ||
U078-C |
UnitV K210 | OV7740 | ||||
U082-X |
Timer Camera X 8M-PSRAM | ov3660 | $14.50 | 48 x 24 x 15 | ||
U082-F |
Timer Camera F 8M PSRAM | OV3660 | $19.95 | 48 x 24 x 22.6 | ||
U082 |
Timer Camera 8M PSRAM | ov3660 | $11.95 | 45 x 20 x 12 | ||
U084 | Hall effect Unit | A3144E | $4.95 | 32 x 24 x 8 | ||
U085 |
CAN (Controller Area Network) Unit() | ca-is3050g | $7.50 | 65 x 24 x 8 | ||
U086 |
Ameter Unit | ADS1115 | I2C | 0x51 | $9.95 | 65 x 24 x 8 |
U087 |
Voltmeter Unit | ADS1115 | I2C | 0x53 | $9.95 | 65 x 24 x 8 |
U088 | TVOC/eCO2 | SGP30 | I2C | 0x58 | $10.95 | 24 x 24 x 13 |
U089 | PDM | SPM1423 | I2S | $3.50 | 24 x 24 x 13 | |
U090 | Barometric Pressure Unit | BMP280 | I2C | 0x58 | 24 x 24 x 13 | |
U094 |
Isolated RS485 Unit | CA-IS3082W | $6.50 | 56 x 24 x 11 | ||
U095 | 6-Axis IMU Unit | mpu6886 | I2C | 0x58 | 24 x 24 x 13 | |
U096 |
Microphone Unit | MAX4466 | GPIO | $3.95 | 32 x 24 x 8 | |
U097 |
4-Relay | STM32F030F | I2C | 0x26 | 112 x 23 x 18 | |
U098 | Ultrasonic | RCWL-9600 | I2C | 0x57 | $4.95 | 56 x 24 x 12 |
U100 |
UWB | DW1000-STM32F103 | UART | $34.90 | 48 x 24 x 8 | |
U101 |
Watering | GPIO | $11.50 | 192.5 x 24 x 33 |
免責事項
本ソフトウエアは、あなたに対して何も保証しません。本ソフトウエアの関係者(他の利用者も含む)は、あなたに対して一切責任を負いません。
あなたが、本ソフトウエアを利用(コンパイル後の再利用など全てを含む)する場合は、自己責任で行う必要があります。本ソフトウエアの著作権は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社の登録商標です。
その他の企業名ならびに製品名は、それぞれの会社の商標もしくは登録商標です。
すべての商標および登録商標は、それぞれの所有者に帰属します。