|
(1)i2cディバイスの接続
例:ADS1115との接続
RaspberrPi I/Oの事前設定 ADS1115のハード Arduinoプログラム例
|
RaspberryPi. と ADS1115側接続 +3V(灰色) I2Cプルアップ抵抗 Vdd(紫) GND(青)
SCL(緑) SDA(黄) |
|
|
|
RaspberryPi側の端子
今回使用したPin 〇番号と配線色は
①3.3V(灰)
②5.5V(紫)
③SDA1(黄).
⑤SCL1(緑)
⑥GND(青)
で接続している。 |
[目次へ戻る]
(2)モジュールsmbusでi2cのプログラム例
|
下図の例はADS1115のA0データを取得するプログラムを実行したものです。
|
[目次へ戻る]
(3)ADS1115 A/D変換器使用例
RaspberrPi I/Oの事前設定 ADS1115のハード Arduinoプログラム例
|
■プログラム
ADS1115のデータ書込みと読込みの間に少なくとも0.3msの待ち時間を入れる事。
time.sleep(0.001)≒1msの待ちを入れている。
時間待ちのtimeは標準ライブラリーで無いので timeモジュールをimportすること。
初めてのPythonプログラミングの注意点
|
[目次へ戻る]
(4)INA226 電圧電流測定例
|
RaspberrPi I/Oの事前設定 INA226のハード Arduinoプログラム例
■接続確認
i2cdetect -y 1で接続しているデバイスNo(INA226は44h)を表示させる。
接続がOKのようだ。
■プログラム
初めてのPythonプログラミングの注意点
|
i2c.write_i2c_block_data(addr, INA226_CONFIG, config)
上記コマンドの中の config のデータは16進数で表すと 0x45FF なのだが i2c.write_i2c_block_data( ) のconfigは配列データで複数Byteデータはリトルエンディアン(最下位のバイト(LSB:Least
Significant Bite)から順番に並べる)を使用しているので 0xFF , 0x45 で配列に入れるので注意! |
■テスト状況写真と電圧に5(V)を電流には 7.5(mV) = 10(A) 入力した結果 |
|
[目次へ戻る]
(5)BME280 気温。湿度、大気圧使用例
|
RaspberrPi I/Oの事前設定 BME280のハード Arduinoプログラム例
■接続確認
i2cdetect -y 1で接続しているデバイスNo(BME280は76h)を表示させる。
接続がOKのようだ。
■プログラム
初めてのPythonプログラミングの注意点
|
サブルーチンを使用する場合はメインプログラムの上段に記載すること。
サブルーチンの複数返し引数の一例として read_DataTPH を確認する事 |
|
[目次へ戻る]
(6)BH1750 照度使用例
|
RaspberrPi I/Oの事前設定 BH1750のハード Arduinoプログラム例
■接続確認
i2cdetect -y 1で接続しているデバイスNo(BH1750は23h)を表示させる。
接続がOKのようだ。
■プログラム
初めてのPythonプログラミングの注意点
|
[目次へ戻る]
(7)DS3231 時計使用例
|
RaspberrPi I/Oの事前設定 DS3231のハード Arduinoプログラム例
■接続確認
i2cdetect -y 1で接続しているデバイスNo(DS3231は68h)を表示させる。
内蔵のEEPROMのアドレスは57h。
接続がOKのようだ。
■プログラム
初めてのPythonプログラミングの注意点
|
[目次へ戻る]
(8)SSD1306 モニター使用例
|
RaspberrPi I/Oの事前設定 SSD1306のハード Arduinoプログラム例
■接続確認
i2cdetect -y 1で接続しているデバイスNo(SSD1306は3Ch)を表示させる。
接続がOKのようだ。
■Python用のモジュールをインストールする。
SSD1306はフォントデータなど多くのプログラムが必要となるため、専用のモジュールを使用する
パッケージをインストールするときはターミナルから下記の様に入力し改行する。
|
tryday@tryday:~ $ sudo pip3 install adafruit-circuitpython-ssd1306
tryday@tryday:~ $ ■
|
|
上記パッケージを削除したい時は
|
tryday@tryday:~ $ sudo pip3 uninstall adafruit-circuitpython-ssd1306
|
|
と入力し改行する。
■プログラム
■関数一覧
|
可否 |
関数 |
内 容 |
〇 |
poweroff() |
ディスプレイの電源オフ、ピクセルはメモリに残存 |
〇 |
poweron() |
ディスプレイの電源オン、ピクセルを再描画 |
〇 |
contrast(0) |
暗くする |
〇 |
contrast(255) |
明るくする |
〇 |
invert(1) |
反転 |
〇 |
invert(0) |
通常表示 |
〇 |
rotate(1) |
0度回転 |
〇 |
rotate(0) |
180度回転 |
〇 |
show() |
FrameBuffer の内容をディスプレイメモリに書き出す |
〇 |
fill(0) |
スクリーン全体を colour=0 で埋める |
〇 |
image(image) |
イメージをFrameBuffer に書き込み |
〇 |
width |
|
〇 |
height |
|
|
初めてのPythonプログラミングの注意点
■テスト状況写真とプログラムを実行した結果 結果はDS1306に表示される。 |
|
|