AM2320/RaspberryPi Zero(RaspberryPiOS Bullseye)

2022/6/6


Raspberry Pi Zero WHにAM2320を接続

以前秋月電子で購入した温湿度センサAM2320をRaspberryPi ZeroWHに接続した。
残念なことに現在はAM2320は販売していない。AM2322やDHT20等を使用する際の参考にする。


install

どうもi2cdetectは、1回目は失敗するらしい。つづけてi2cdetectを実行するとAM2320がみつかる。
apt install i2c-tools python3-smbus libi2c-dev
i2cdetect -l
i2cdetect -y 1
!!; #---> 5cを発見

i2cget -y 1 0x5c 0x02;#-- Error: Read failed
!!; #0x00が読めた

software

AM2320をI2C接続で使いたい。 python系列とC言語系列があるらしい。
I2Cに適切なコマンドを送り、返信を適切に処理すればいいわけので言語はどれでもよいのだが。
wired.hとあるものはI2C接続でないので除外する。
RaspberryPiはI2C接続ができるはずだが、なぜかAM2320にはwired接続が多い。I2C関連のライブラリに何かあるのだろうか?
最終的にこちら(https://bokunimo.net/raspi/)にお世話になった。 I2Cを自前で制御?(I2C用タイミングを自分でプログラミング)している。
できるだけ早期にコンソールに温度湿度を表示したいので、このまま(https://github.com/bokunimowakaru/RaspberryPi/blob/master/gpio/raspi_am2320.c)借用した。 標準ライブラリのようなものを期待したが、後日検討しよう。

コンパイル

AM2320が見えているなら、たぶん動くと思う。
#同じディレクトリに 2320.c,soft_i2c.c,soft_i2c.hがあること
gcc 2320.c soft_i2c.c&&./a.out

ボクにもわかる I2C インタフェース方式 for Raspberry Pi (https://bokunimo.net/raspi/i2c.html)