読者です 読者をやめる 読者になる 読者になる

wide_snow’s blog

30代の組込みエンジニア(ファーマー)による技術メモの記録

スポンサードリンク

Raspberry Pi 2でI2C Driverを使えるようにする

Raspberry Piに実装されているCPUには

周辺回路(ペリフェラル)としてI2C(Inter-Integrated Circuit)が内蔵されています。

I2Cは周辺デバイスとのシリアル通信の方式で、昔から存在する通信方式です。

非常に簡単な仕組みで動作させることが出来るので

UART(Universal Asynchronous Receiver Transmitter)

SPI(Serial Peripheral Interface)

などとともに組込み系では良く使われていますね。

今後I2Cを使ったDeviceを使っていく予定なので

今回の記事ではI2Cを使用できるように設定します。

I2Cを有効に設定

Raspberry PiのデフォルトではI2Cは無効になっています。

raspi-configを使用してI2Cの有効/無効設定を行います。

pi@raspberrypi ~ $ sudo raspi-config

なおraspi-configで設定できる項目は下記の9個です。

  1. Expand Filesystem
  2. Change User Password
  3. Enable Boot to Desktop/Scratch
  4. Internationalisation Options
  5. Enable Camera
  6. Add to Rastrack
  7. Overclock
  8. Advanced Options
  9. About raspi-config

8番を選びます。

  1. Overscan
  2. Hostname
  3. Memory Split
  4. SSH
  5. Device Tree
  6. SPI
  7. I2C
  8. Serial
  9. Audio
  10. Update

となっているので、7番(実際の画面ではA7です)を選択します。

f:id:wide_snow:20150830225100p:plain

有効にするかどうかを聞いてきますので、<はい>を選択します。

(日本語になっているのは以前日本語フォントに変更したためです。

変更方法は最下記の参考記事を参照してください。)

f:id:wide_snow:20150830225324p:plain

I2Cをデフォルトでロードするか聞いてきますので<はい>を選択します。

raspi-configを終了させると再起動を要求されますので、再起動します。

I2C toolのインストール

I2Cを使う上で便利なツール群をインストールします。

pi@raspberrypi ~ $ sudo apt-get install i2c-tools

i2c-devを使えるようにする

i2c-devを使えるようにします。これにより/dev/i2c-* が有効になり

C言語でデバイスファイル (/dev/i2c-0 または /dev/i2c-1) をopenして

read/writeすることでデバイスに対するレジスタアクセスが出来るようになります。

pi@raspberrypi ~ $ sudo vim /etc/modules

でエディタを起動して

i2c-dev

を追記します。

----

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
# Parameters can be specified after the module name.

snd-bcm2835
i2c-dev

----

設定が終わったら再起動します。

I2Cの確認

I2C Driverが有効になったかを確認します。

pi@raspberrypi ~ $ lsmod
Module                  Size  Used by
:

i2c_dev                 6027  0
:

i2c_bcm2708             4990  0
:

があれば有効になっています。

 

 

参考記事)日本語の設定

wide-snow.hatenablog.com

 

参考記事)raspi-configの項目について

wide-snow.hatenablog.com