GY-302は、BH1750センサーに基づく光強度センサーモジュールです。正確なルクス(光強度)測定値を提供し、スマート照明、気象モニタリング、写真などのアプリケーションに最適です。このガイドでは、Raspberry PiでGY-302をセットアップして使用する方法について説明します。
あなたが必要とするもの
- Raspberry Pi (GPIOサポートを備えたモデル、例えばPI 3、PI 4)
- GY-302ライトセンサーモジュール
- ブレッドボードとジャンパーワイヤ
- Raspberry Piまたは接続されたキーボードとモニターへのSSHアクセスを備えたコンピューター
- Raspberry PiにインストールされたPython
ステップ1:GY-302をRaspberry Piに配線します
GY-302は、I2Cプロトコルを使用してRaspberry PIと通信します。
接続(I2Cモード)
GY-302ピン | ラズベリーPIピン |
---|---|
VCC | 3.3V(ピン1) |
GND | グラウンド(ピン6) |
SDA | SDA(ピン3、GPIO2) |
SCL | SCL(ピン5、GPIO3) |
ステップ2:RaspberryPiでi2cインターフェイスを有効にします
- Raspberry Pi構成ツールを開きます。
sudo raspi-config
- に移動します インターフェイスオプション> i2c そしてそれを有効にします。
- RaspberryPiを再起動します:
sudo reboot
ステップ3:必要なライブラリをインストールします
- RaspberryPiを更新します:
sudo apt update && sudo apt upgrade -y
- I2CツールとPythonライブラリをインストールします。
sudo apt install -y i2c-tools python3-smbus python3-pip
- GY-302がI2Cバスで検出されていることを確認してください。
デバイスアドレスが表示されます(通常、sudo i2cdetect -y 1
0x23
)出力内。
ステップ4:GY-302のデータを読む
次のPythonスクリプトは、GY-302の光強度(LUX)データを読み取る方法を示しています。
Pythonコードの例
import smbus2
import time
# Define I2C address and commands
BH1750_ADDRESS = 0x23
CONTINUOUS_HIGH_RES_MODE = 0x10
# Initialize I2C bus
bus = smbus2.SMBus(1)
def read_light():
data = bus.read_i2c_block_data(BH1750_ADDRESS, CONTINUOUS_HIGH_RES_MODE, 2)
lux = (data[0] << 8) | data[1]
return lux / 1.2
try:
while True:
light_level = read_light()
print(f"Light Intensity: {light_level:.2f} lux")
time.sleep(1)
except KeyboardInterrupt:
print("Exiting...")
ステップ5:GY-302のアプリケーション
- スマート照明: 周囲の光レベルに基づいて照明を調整します。
- 天気監視: 気象観測所の一部として光強度を測定します。
- 写真: カメラシステムの露出制御に使用します。
- IoTプロジェクト: 光強度データを自動化システムに統合します。
トラブルシューティング
-
検出されていないデバイス:
- SDAおよびSCL接続を確認します。
- Raspberry PiでI2Cインターフェイスが有効になっていることを確認してください。
-
不正確な測定値:
- 外部光源からの干渉を確認してください。
- センサーが適切に接続され、方向付けられていることを確認してください。
-
I2Cエラー:
- I2Cバスに矛盾するデバイスがないことを確認してください。
結論
GY-302ライトセンサーモジュールは、ラズベリーPIを使用して光強度を測定するためのシンプルで効果的な方法を提供します。このガイドに従うことにより、センサーをセットアップして、スマートホームシステムからIoTプロジェクトまで、さまざまなアプリケーションに統合できます。さまざまなシナリオを試して、その可能性を最大限に発揮してください!