あきらぼ

テック系ブログ

RaspberryPi3でI2Cセンサを接続する。

今回は先日購入したCO2センサであるCCS811と気圧センサであるBME280のセンサをI2CでRaspberyy Piと接続してみました。

センサーは先日STMのNucleoで動作確認したものです。

aki-lab.hatenadiary.com




センサ接続のための準備

まず、接続できるようにユニバーサル基盤にセンサを取り付ける下準備をします。

家に余っているピンソケットでかろうじてラズパイのピンをさせるようにします。

f:id:AKIRA_san:20220417141857j:plain

配線は結構汚いですがどうせ室内で固定だし「ヨシッ!」
f:id:AKIRA_san:20220417142012j:plain

余った基板部分はリューターで切ってみました。
結構硬いユニバーサル基盤ですが、意外と綺麗に切断できました。

f:id:AKIRA_san:20220417142159j:plainf:id:AKIRA_san:20220417142207j:plain

固定穴はドリルで拡張して開けました。

テキトーに足をつけて、完成!(と思ったらプルアップ抵抗つけ忘れてて後付け)

f:id:AKIRA_san:20220417142409j:plainf:id:AKIRA_san:20220417142417j:plain

これで下準備は完了。

接続確認

次に接続確認をしていきます。

まずRaspberyy PiでI2C通信を有効化します。

sudo raspi-config

メニューからI2Cを有効化します。

f:id:AKIRA_san:20220417143608p:plainf:id:AKIRA_san:20220417143633p:plain

そしたら以下のコマンドで同じI2Cライン上のデバイスを検出します。

i2cdetect -y 1

以下のように表示されます。

f:id:AKIRA_san:20220417143836p:plain

見方は列で下位4bitの値、行で上位3bitの値を示しています。
I2Cのアドレスは7bitなので行の数字が70までしかないということです。

今回はCCS811のアドレスが0x5b、BME280のアドレスが0x77なので正しく接続できていることが分かります。
恐らく、このコマンドで全アドレスにリクエストを送ってレスポンスあるアドレスが表示されているのですかね。(めんどくさいので詳しくは調べませんが(笑))

とりあえずI2Cで接続できたことを確認できたので今回はここまでです。

次回は実際のセンサ値を読み込んで色々したいと思います。