AM2320をRaspberry Pi 3 Model Bに接続する
TOP > てきとうにこらむ > ゲーム作りとプログラミング日記 > AM2320をRaspberry Pi 3 Model Bに接続する
気温を記録したい
季節の変わり目で、Raspberry Piでセンサーの値を読み取っておきたいなと考えたのでAM2320センサーをつかう。
http://akizukidenshi.com/catalog/g/gM-08663/
I2Cで動く、温湿度センサー。超便利。
I2Cを有効にする
まずは、Raspberry PiでI2C使えるようにする
/etc/modulesにはっつけとく
# /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.
i2c-dev
i2c-bcm2708
I2CのRepeated Start Conditionの有効
これがないと値が一度しか読めないらしい。
$ cat /etc/modprobe.d/i2c.conf
options i2c_bcm2708 combined=1
接続して確認する
AM2320はアドレスが0x5cなので、50のcに5cと表示されてればだいじょぶ
pi@raspberrypi:~/Documents/am2320 $ sudo 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: -- -- -- -- -- -- -- -- -- -- -- -- 5c -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
Pythonコード
実行結果は以下のような感じになる。なんでInput/output errorになるのかしら?
$ python am2320.py
[Errno 5] Input/output error
['3', '4', '2', 'b3', '0', 'ec']
temp: 23.6 humidity: 69.1
https://github.com/youkidearitai/rpi-am2320
かんそう
おもったより楽だった。
今後の展望
- ブレッドボード上で構築してるのでユニバーサル基板にしたい。
- 今現在の時間がわからないため、基板上にLCDでもつけようかな