前々から処分しようとしていた玄箱も電源を取り外してPICマイコン用の電源に使用することにした。外付けハードディスクから取り外した電源が増える一方か?
ラズベリーパイ3・I2C通信の準備
PICマイコンを使ってNゲージレイアウトのポイントマシンと信号の制御機能を製作中。
I2C通信を使って複数のPICマイコンを連携させようとしているが、この中にRaspberry Pi3も組み込む予定。
Raspberry Pi3でI2C通信を使用する設定はずいぶん前に行っているが、再確認してみた。
I2Cを使用するための設定
I2C機能を有効にする
Raspberry Pi3を購入したのは2016年5月。
当時は次の手順で設定を行った。
これにより、「Raspberry Pi Configuration Tool」という画面が開く。
そのメニューの中から「Advanced Option」を選択。
次の画面に「I2C Enable/Disable ・・・」という項目がある。
これを「Enable」にし、再起動するとI2C機能が有効になる。
現在、同じ操作をしてみると。
「Raspberry Pi Configuration Tool」という画面が開く。
しかし、「Advanced Option」を選択して開いた画面には「I2C Enable/Disable ・・・」という項目はない。
では、現在は。
デスクトップのメニューから[設定][Raspberry Piの設定]を選択。
「Raspberry Piの設定」画面が開く。
この中に「I2C」有効/無効という設定項目がある。
2016年5月当時、OSはWheezy(Debian 7.0)だった。
その後、Jessie、Stretchとバージョンアップしている。
現在、うちの環境は・・・Stretch
No LSB modules are available.
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 9.11 (stretch)
Release: 9.11
Codename: stretch
pi@raspberrypi-2:~ $
pi@raspberrypi-2:~ $ uname -a
Linux raspberrypi-1 4.19.66-v7+ #1253 SMP Thu Aug 15 11:49:46 BST 2019 armv7l GNU/Linux
pi@raspberrypi-2:~ $
ただ、OSがJessieの時に確認したときもメニューから選択して表示される画面で設定できていたと思う。
モジュールの確認
i2c_bcm2708モジュール、i2c_devモジュールが読み込まれていることを確認する
Module Size Used by
bnep 10340 2
hci_uart 17943 1
~省略~
bcm2835_gpiomem 3040 0
i2c_bcm2708 4770 0
bcm2835_wdt 3225 0
~省略~
rpi_ft5406 2898 0
uio 8000 1 uio_pdrv_genirq
i2c_dev 5859 0
fuse 83461 3
ipv6 347530 67
pi@raspberrypi-2:~ $
ツールのインストール
i2cdetectコマンドの動作確認
i2c-1 i2c bcm2835 I2C adapter I2C adapter
↑この番号を ↓入力
pi@raspberrypi-2:~ $ i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: — — — — — — — — — — — — —
10: — — — — — — — — — — — — — — — —
20: — — — — — — — — — — — — — — — —
30: — — — — — — — — — — — — — — — —
40: — — — — — — — — — — — — — — — —
50: — — — — — — — — — — — — — — — —
60: — — — — — — — — — — — — — — — —
70: — — — — — — — —
pi@raspberrypi-2:~ $
実際の画面はこんな感じ。