logo
Published on

Raspberry Piに「BH1750」を接続し制御する

Authors
  • avatar
    Name
    Shou Kawakami / 川上翔
    Twitter

はじめに

Raspberry Piは豊富なGPIOピンを備えたシングルボードコンピュータで、様々なセンサーやモジュールと組み合わせて利用することができます。この記事では、環境光センサー「BH1750」をRaspberry Piに接続し、制御する方法について解説します。

※モジュールの価格を比較 ▶ TemuAliExpress楽天メルカリ

1. BH1750環境光センサーの概要

BH1750はデジタル式の環境光センサーであり、非常に広い範囲の照度を測定することができます。このセンサーはI2C通信を使用しており、Raspberry Piと簡単に接続できます。

2. BH1750の接続

BH1750をRaspberry Piに接続するためには、以下の手順に従います。

  • BH1750のVCCをRaspberry Piの3.3Vに、GNDをGNDに接続します。
  • SDAをRaspberry PiのGPIO2(SDA)に、SCLをGPIO3(SCL)に接続します。

3. Pythonコードの作成

次に、Pythonコードを使ってBH1750を制御します。まず、Raspberry Pi上で以下のコマンドを実行して必要なライブラリをインストールします。

pip install smbus2

そして、以下はBH1750を使用するための簡単なPythonコードの例です。

import smbus2
import time

# BH1750のI2Cアドレス
BH1750_I2C_ADDR = 0x23

# 初期化
bus = smbus2.SMBus(1)

# 連続モードで照度を取得する関数
def get_light_intensity():
    data = bus.read_i2c_block_data(BH1750_I2C_ADDR, 0x20)
    light_level = (data[1] + (256 * data[0])) / 1.2
    return light_level

try:
    while True:
        light_intensity = get_light_intensity()
        print(f"照度: {light_intensity} lx")
        time.sleep(1)

except KeyboardInterrupt:
    pass

finally:
    bus.close()

4. コードの実行と確認

以上のコードを保存して実行すると、ターミナルに照度が表示されます。照度の値は光の強さを表し、外部環境の明るさに応じて変化します。

これで、Raspberry PiにBH1750を接続し、Pythonコードを使用して照度を測定する基本的な手順が完了しました。この情報を活用して、照明制御や環境モニタリングなどのプロジェクトを進めることができます。