/a/センサー
Published on

Raspberry Piに「APDS-9301」を接続し制御する

1270文字3分で読めます–––
閲覧数
Authors
  • avatar
    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を有効にする必要があります。以下の手順で有効化します。

  1. Raspberry Piを起動し、ターミナルを開きます。
  2. sudo raspi-config を実行します。
  3. 「Interfacing Options」を選択し、「I2C」を有効にします。
  4. 再起動します。

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 🚚
avatar

将 有坂

電子部品専門家 / ラズベリーパイのプロ / 数多くのセンサーやモジュールの導入実績
ラズベリーパイやArduinoの電子工作に関わるソフトウェアエンジニア。これまで100種類以上のセンサーやモジュールの導入を行い、その知識と経験を活かして、多くの人々に電子工作の楽しさを伝えることを使命としている。

タグ ->