今回私はI2C接続での値取得に挑戦する。
まず、回路を作りラズパイを起動したところ、下記のようなエラーが出てきてうまく起動できませんでした。
このエラーの原因としては、回路がしっかりとできていないということでした。もう一度、回路を見直してみると、配線がしっかりと刺さっていませんでした。(笑)
回路図は参考の2にあるものを使いました。私が、実際に作成した回路図が下記のものです。
では、さっそく作業に入っていきます。
I2C を有効化にする
ラズビアンマーク(applications manu)→設定→RaspberryPiの設定→インターフェース
I2Cを有効にする。
質問に対しては、 Yes で、再起動まで行います。
開発準備
i2c-toolsとpython-smbusをインストールする。
私はI2Cを有効化でpython-smbusをインストール済みなので、i2c-toolsのみをインストールしました。一応、下記に両方のインストールコマンドをのせておきます。
I2C接続がされているか、確認するため下記のコマンドで確かめます。
76とあれば、接続が出来ています。ちなみに説明書によると、I2Cアドレス:0×76(SDO:GND) です。
値取得
値を取得するためにはpythonでソースを書かなければなりませんが、githubから、ソースを頂き開発を行います。SWITCH SCIENCEさんありがとうございます。
ダウンロードは右上のClone or downloadをクリックしzipファイルをダウンロードします。
zipを解凍して \BME280-master\Python27 の bme280.sample.py をラズパイ内の home/pi に移動する。移動方法としては、USBメモリーを用いてファイルを移した。
下記のコマンドを実行すると、温度、湿度、気圧が表示される。
しかし、私は、
というエラーになってしまった。
原因としては、pythonのimport文に誤りがありました。
bme280_sample.pyの修正した箇所
の2(赤字)を削除したところ下記のような結果が帰ってきた。
の2(赤字)を削除したところ下記のような結果が帰ってきた。
pythonのエラー修正に時間をかけすぎたので、今日はここまでにします。
参考
0 件のコメント:
コメントを投稿