2015年04月14日

Raspberry Piで気温を測ってみた【BMP180を使用】


【今日のゴール】
Raspberry PiにBMP180 気圧センサ(気温センサ付き)をつなげて、気温を測ってみる。

【用意するもの】
今回は、BMP180 という、気圧・気温センサーを使います。

大気圧センサーモジュール BMP180 Arduino、Raspberry Piに

また、RaspberryPiとBMP180を接続するために、「ブレッドボード」「ピンヘッダー」「ジャンパー(オスメス)×4本」を用意しします。

サンハヤト SAD-101 ニューブレッドボード



ジャンパワイヤ(オス〜メス) 10本セット



ピンヘッダピンソケット詰め合わせパック



I2Cの有効化

まずは、I2C(Inter-Integrated Circuit)を使えるよう、RaspberryPiの設定をします。
まずは、raspi-configから設定します。
$ sudo raspi-config

「8 Advanced Options」>「A7 I2C」
すべて「YES(はい)」にします。

I2C toolsのインストール

まず、/etc/modulesを編集します。
$ sudo vi /etc/modules
最後の行に「i2c-bcm2708」「i2c-dev」を追加します。
snd-bcm2835
i2c-bcm2708
i2c-dev
次に、i2c-toolsをインストールします。
$ sudo apt-get install i2c-tools libi2c-dev 

piユーザーをi2cグループに追加する

piユーザーをi2cグループに追加して、sudoなしでもアクセスできるようにします。
$ sudo gpasswd -a pi i2c

接続する

RaspberryPi - - - - - - -BMP180
「1:3.3V」 - - - - - - - - - -「VIN」
「6:GND」 - - - - - - - - - -「GND」
「3:I2C1_SDA」 - - - - - -「SDA」
「5:I2C1_SCL」 - - - - - -「SCL」


上記のようにつながるようにします。
RaspberryPiのGPIOのピン名は以下の図のとおりです。

GPIO.jpg

ピンヘッダーを4つ分切り取り、ピンヘッダーを介してBMP180とブレッドボードをつなぎます。
ちゃんと固定したい場合はハンダ付けをしてください。
また、ちゃんと接触していないと認識してくれませんのでご注意ください。

以下のようにつないだら準備完了です。
FullSizeRender.jpg

計測する

まずは、BPMがI2Cでつながっているか確認をします。
$ i2cdetect -y 1
以下のように、77が表示されればOKです。
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- 77                         
今回は、Pythonのモジュールを利用して計測します。

まず、PythonからI2Cをコントロールするための「python-smbus」をインストールします。
$ sudo apt-get install python-smbus

続いてAdafruitが提供しているライブラリをgitからcloneします。
$ git clone https://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code.git
サンプルを動かし、計測します。
$ cd Adafruit-Raspberry-Pi-Python-Code
$ cd Adafruit_BMP085
$ ./Adafruit_BMP085_example.py
Temperature: 27.10 C
Pressure:    1009.77 hPa
Altitude:    29.43

無事計測出来ました



posted by Raspberry Pi at 10:01 | Raspberry Pi | このブログの読者になる | 更新情報をチェックする