Raspberry PiにI2C温度センサーSHT-21をつないで温度・湿度を表示させるまで
カテゴリー:Beaglebone・Raspberry Pi(記事数:25)

2015/08/19

Raspberry PiにI2C温度センサーSHT-21をつないで温度・湿度を表示させるまで




I2CってのはInter-Integrated Circuitの略で、この規格に乗っ取ってシリアルデジタル通信で情報をやりとり出来るチップがあるらしい、Raspberry PiはGPIO2とGPIO3がI2C用に設計されていて、ここに並列で何個でもI2Cデバイスを接続出来るらしい。

★Wifiの省電力モードをOFFに
cat /sys/module/8192cu/parameters/rtw_power_mgnt
と入力するとWiFiドングルのパワーマネジメントの状態が出る(0 は省電力管理無効、1 は最小限の電力管理、2 は最大限の電力管理)
sudo nano /etc/modprobe.d/8192cu.conf
して、
options 8192cu rtw_power_mgnt=0 rtwenusbss=1 rtw_ips_mode=1
を追記

これをしないと、放置するとWifiドングルが動作をさぼり、キーボードを連打したりしないと動作を再開しなくなる。

★I2Cを有効化し、パッケージをインストール
I2C有効化(step1):2015年度から方式が下記のように変わったらしい。
sudo raspi-config
.参考:最近の Raspberry Pi で I2C を有効化 - Rabbit Note 10 users1イイネ 1 Tweet

I2C有効化(step2)
sudo nano /etc/modules
し、次の2行を追加
i2c-bcm2708
i2c-dev

i2c-bcm2708はいらない説もあり。

パッケージをインストール
sudo apt-get install i2c-tools

★I2C制御で、精度の高いらしい温度センサーをRaspberry Piに接続
Raspberry Piのピン配置温度センサー接続参考:
とりあえずプレップボード上で組んでます。4か所ほどハンダ付け。3.3VとGNDつないで、I2C通信のためのSCL(信号タイミング)とSDA(データ部分)をつなぐ
接続したら再起動
★モジュールのアドレス取得
i2cdetect -y 1
とすると40の値が取得出来るようになる。

これが接続した温度センサーのアドレス、2つつなげば2つ表示される?
からsht21.pyをダウンロードする。
wget https://raw.githubusercontent.com/jaques/sht21_python/master/sht21.py
とか。

nano temp.py
というファイルを作り
--------------------------------
import sht21
with sht21.SHT21(1) as sht21:
print "Temperature: %s"%sht21.read_temperature()
print "Humidity: %s"%sht21.read_humidity()
--------------------------------
って書く。
python temp.py
で温度が表示される。あれ?「40」を指定して無いけど、sht21.pyで自動検出でもしているのかな?生まれて初めてpythonって言語を使う。インデント自体がブロックの意味を持つらしい。

Category:Beaglebone・Raspberry Pi


■ ■ ■ コメント ■ ■ ■

いいっすね!=8
001 [08/20 20:16]M002@So-net:自分は I2C にキャラクタディスプレイを、USB に温度計・湿度計・Wi-Fi を付けてます。ひたすら CSV にデータを書き出して…いつか何かに使う…ハズ。
002 [08/20 23:21]Aガット:スレーブアドレスが0b1000000固定だから、違うアドレスのI2Cデバイスなら並列で繋げられます。ただ、I2Cバスは本来同一基板内で使う信号なので、あまり長く配線は伸ばせないです。
003 [08/20 23:51]Aガット:http://www.ishikawa-lab.com/RasPi_lightning.html 雷センサーをLANケーブルで1mぐらい伸ばしている人はいますね。

名前 ↑B

コメント(※改行は省略されます)

※3回以上の連続書き込み不可
この記事の総アクセス数(最後の書き込みまで):412


→カテゴリー:Beaglebone・Raspberry Pi(記事数:25) (コメント数)