DIO-8/4RE-UBCの使用方法(Python)

python-ft4222がインストールされてない場合は、インストールします。

$ pip install ft4222

プログラムの作成

「test_dio84re_ubc.py」というファイル名で以下のファイルを保存します。
(または test_dio84re_ubc.py からダウンロードします)

import ft4222
import ft4222.I2CMaster

PCA9535_REG_INPUT_PORT1 = 1
PCA9535_REG_OUTPUT_PORT0 = 2
PCA9535_REG_CONFIG_PORT0 = 6

class DIO_8_4RE_UBC():

    def __init__(self, i2c, address=0x26):
        self.i2c = i2c
        self.address = address
        self.i2c.i2cMaster_Write(self.address, bytes([PCA9535_REG_CONFIG_PORT0, 0xf0]))

    # デジタル出力
    def output(self, value):
        self.i2c.i2cMaster_Write(self.address, bytes([PCA9535_REG_OUTPUT_PORT0, ~value & 0xff]))

    # デジタル入力
    def input(self):
        self.i2c.i2cMaster_WriteEx(self.address, ft4222.I2CMaster.Flag.START, bytes([PCA9535_REG_INPUT_PORT1, 0]))
        return ~self.i2c.i2cMaster_ReadEx(self.address, ft4222.I2CMaster.Flag.REPEATED_START | ft4222.I2CMaster.Flag.STOP, 1)[0] & 0xff

dev = ft4222.openByDescription('FT4222')
dev.i2cMaster_Init(100)

dio = DIO_8_4RE_UBC(dev)

# デジタル出力
# (例)OUT2とOUT0をオン(OUT3とOUT1をオフ)
dio.output(0x05)

# デジタル入力
print('InputData: 0x{:02x}'.format(dio.input()))

動作確認

  1. DIO-8/4RE-UBCをパソコンとUSBケーブルで接続します。

    電源が供給されますので、金属などの導電性のある物とボードが触れないように注意してください。

    DIO-8/4RE-UBCとパソコンとの接続

  2. プログラムを実行します。

    デジタル出力のOUT2とOUT0がオンします。
    デジタル入力値が表示されます。

    InputData: 0x40
    

関連ページ

USB-I2C変換ボード(絶縁デジタル入出力付) DIO-8/4RE-UBC

I2C-Rシリーズ一覧