1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

🌿 ラズパイを活用した『社内環境(温湿度)見える化システム』をつくる④【センサー半田付け〜動作テスト編】

Last updated at Posted at 2025-05-07

はじめに

こんにちは、piyovateです🐣✨

前回の記事では『Raspberry Pi Pico WH』のセットアップを行い、LEDを点滅させるところまで成功しました!

今回は、購入した温湿度センサー『BME280』を半田付けして、ラズパイPico WHと接続し、実際に温度・湿度・気圧を取得する動作テストを行います。


📌 今回の目標

  • BME280センサーの半田付け
  • ラズパイPico WHとの配線(I2C接続)
  • MicroPythonを使ってセンサーデータを取得

🔧 Step1:人生初!半田付けにチャレンジ

BME280センサーを使うためにはピンヘッダの半田付けが必要でした。

はじめての半田付けでドキドキしましたが、なんとかピンヘッダを基板に固定することができました!

少し斜めになったりもしましたが、接触は問題なさそう。次の配線へ進みます。


🔌 Step2:配線(ジャンパーワイヤ+ブレッドボード)

半田付け後、ジャンパーワイヤとブレッドボードを使って以下の配線を行いました。

BME280のピン Pico WHのピン
Vio 3.3V(36番ピン)
GND GND(38番ピン)
SCK GP1(2番ピン・SCL)
SDI GP0(1番ピン・SDA)

この時、SDOピンは何も繋げていませんでした。


📥 MicroPython用のBME280ドライバを追加

BME280センサーのデータを簡単に取得するため、MicroPython用のドライバを導入しました。使用したのは以下のGitHubリポジトリのドライバです。

上記リポジトリからbme280_float.pyファイルをダウンロードし、Raspberry Pi Pico WHのMicroPython環境にbme280.pyという名前で保存しました。

※外部リポジトリの利用は自己責任で行ってください。

これでBME280のデータ取得が簡単に行えるようになりました。


⚠️ 通信がなぜか不安定に...

実際に以下のコードを動かしてみました。

from machine import Pin, I2C
import bme280
import time

i2c = I2C(0, sda=Pin(0), scl=Pin(1))
sensor = bme280.BME280(i2c=i2c)

while True:
    try:
        temperature, pressure, humidity = sensor.values
        print('温度:', temperature)
        print('湿度:', humidity)
        print('気圧:', pressure)
        print('-------------------')
    except OSError as e:
        print("通信エラーが発生しました。再試行します...", e)
    time.sleep(2)

すると...

OSError: [Errno 5] EIO

通信エラーが頻発。時々データが取得できるものの、かなり不安定でした💦


🔍 原因発見!I2Cアドレスが固定されていなかった!

調べてみたところ、センサーのI2Cアドレスが、通信のたびに0x76と0x77の間で変化していました。

原因は 「SDOピンが浮遊状態(未接続)」 であったためでした。


✅ 対策(SDOピンをGNDに接続して解決!)

問題を解決するために、BME280のSDOピンを以下のように接続しました。

BME280のピン Pico WHのピン
SDO GND(33番ピン)

これで、センサーのI2Cアドレスが常に0x76に固定され、通信が安定しました✨


🎉 最終的な結果(成功!)

以下のように安定してデータを取得できるようになりました。

温度: 24.50C
湿度: 25.13%
気圧: 1011.34hPa
-------------------
温度: 24.51C
湿度: 25.08%
気圧: 1011.35hPa
-------------------
温度: 24.51C
湿度: 25.10%
気圧: 1011.37hPa
-------------------
温度: 24.52C
湿度: 25.08%
気圧: 1011.35hPa
-------------------

湿度が25%…加湿器買いましょう!😂


🔜 次回の予定

次回は、今回取得した温度・湿度・気圧のデータをブラウザで確認できるよう、Raspberry Pi Pico WHで簡単なWebサーバーを立ち上げます!

センサーデータをAPIのように配信し、最終的には弊社のホームページでいつでも確認できるようにする予定です✨

次回もぜひお楽しみに🐣✨

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?