デジタル出力を操作する(Python)

準備

初めて使用する場合は、セットアップ(ボードの取り付け)をおこないます。

DIO-0/16RC-IRCのセットアップ(ラズベリーパイ)
DIO-0/16RC-IRCのセットアップ(NVIDIA Jetson Nano 開発者キット)

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

$ sudo apt-get install python-smbus

プログラムの作成

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

PCA9535_REG_OUTPUT_PORT0 = 2
PCA9535_REG_CONFIG_PORT0 = 6

class DIO_0_16RC_IRC():
    i2c = smbus.SMBus(1)

    def __init__(self, slave=0x24):
        self.address = slave
        self.i2c.write_word_data(self.address, PCA9535_REG_CONFIG_PORT0, 0x0000)

    # デジタル出力
    def output(self, value):
        self.i2c.write_word_data(self.address, PCA9535_REG_OUTPUT_PORT0, ~value)

expander = DIO_0_16RC_IRC()

# デジタル出力
# (例)OUT15・OUT13・OUT2・OUT0をオン
expander.output(0xa005)

動作確認

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

$ sudo python test_dio016rc.py  

デジタル出力のOUT15・OUT13・OUT2・OUT0がオンします。

参考資料

DIO-0/16RC-IRCの製品情報・ドキュメント