- Published on
Raspberry Piに「APDS-9301」を接続し制御する
1270文字3分で読めます–––
閲覧数
- Authors
- Name
- 将 有坂
- short bio
- ラズパイやArduinoで電子工作をしてます。
はじめに
Raspberry Piは豊富なGPIOピンを備えたシングルボードコンピュータで、様々なセンサーを接続して利用することができます。本記事では、環境光センサーである「APDS-9301」をRaspberry Piに接続し、制御する手順について説明します。
※ センサー類を安く買うなら → AliExpress 🛒 早く届くのが良ければ → Amazon 🚚
1. APDS-9301環境光センサーの概要
APDS-9301はデジタル環境光センサーで、光の強さをデジタル値で出力します。I2C通信を使用してデータを送受信します。Raspberry Piに接続すると、室内照度や明るさの変化を検知するのに便利です。
2. APDS-9301の接続
APDS-9301は通常、VCC、GND、SDA、SCLの4つのピンがあります。これらをRaspberry Piに接続します。
- VCC(赤色): 3.3Vの電源
- GND(茶色): 接地
- SDA(緑色): I2Cデータライン
- SCL(青色): I2Cクロックライン
これらをRaspberry Piの対応するピンに接続します。
3. Raspberry Piの設定
Raspberry PiでI2Cを有効にする必要があります。以下の手順で有効化します。
- Raspberry Piを起動し、ターミナルを開きます。
sudo raspi-config
を実行します。- 「Interfacing Options」を選択し、「I2C」を有効にします。
- 再起動します。
4. Pythonコードの作成
APDS-9301をPythonで制御するには、smbus
ライブラリが必要です。以下は、APDS-9301からデータを読み取り、コンソールに表示する簡単なPythonコードの例です。
import smbus
import time
# I2Cアドレス
DEVICE_ADDRESS = 0x39
bus = smbus.SMBus(1) # Raspberry PiのI2Cバス番号によって変更
def read_lux():
data = bus.read_i2c_block_data(DEVICE_ADDRESS, 0x0C | 0x80, 2)
return (data[1] << 8) | data[0]
try:
while True:
lux_value = read_lux()
print(f"照度: {lux_value} lux")
time.sleep(1)
except KeyboardInterrupt:
print("プログラムを終了します")
5. コードの実行と確認
上記のPythonコードを新しいファイルに保存し、実行します。これにより、APDS-9301が検知した照度がコンソールに表示されます。
これで、Raspberry PiにAPDS-9301を接続し、Pythonを使用して簡単に制御する方法がわかりました。APDS-9301のデータを利用して、室内の照度に応じてライトやディスプレイの明るさを制御するなど、様々なプロジェクトに応用することができます。
※ センサー類を安く買うなら → AliExpress 🛒 早く届くのが良ければ → Amazon 🚚