今回は先日購入したCO2センサであるCCS811と気圧センサであるBME280のセンサをI2CでRaspberyy Piと接続してみました。
センサーは先日STMのNucleoで動作確認したものです。
センサ接続のための準備
まず、接続できるようにユニバーサル基盤にセンサを取り付ける下準備をします。
家に余っているピンソケットでかろうじてラズパイのピンをさせるようにします。
配線は結構汚いですがどうせ室内で固定だし「ヨシッ!」
余った基板部分はリューターで切ってみました。
結構硬いユニバーサル基盤ですが、意外と綺麗に切断できました。
固定穴はドリルで拡張して開けました。
テキトーに足をつけて、完成!(と思ったらプルアップ抵抗つけ忘れてて後付け)
これで下準備は完了。
接続確認
次に接続確認をしていきます。
まずRaspberyy PiでI2C通信を有効化します。
sudo raspi-config
メニューからI2Cを有効化します。
そしたら以下のコマンドで同じI2Cライン上のデバイスを検出します。
i2cdetect -y 1
以下のように表示されます。
見方は列で下位4bitの値、行で上位3bitの値を示しています。
I2Cのアドレスは7bitなので行の数字が70までしかないということです。
今回はCCS811のアドレスが0x5b、BME280のアドレスが0x77なので正しく接続できていることが分かります。
恐らく、このコマンドで全アドレスにリクエストを送ってレスポンスあるアドレスが表示されているのですかね。(めんどくさいので詳しくは調べませんが(笑))
とりあえずI2Cで接続できたことを確認できたので今回はここまでです。
次回は実際のセンサ値を読み込んで色々したいと思います。