logo
Published on

Arduinoに「TSL2561」を接続し制御する

Authors
  • avatar
    Name
    Shou Kawakami / 川上翔
    Twitter

はじめに

「TSL2561」は、光センサーモジュールであり、環境の明るさや光の強度を測定するのに利用されます。この記事では、ArduinoにTSL2561を接続し、制御する方法について解説します。

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

1. TSL2561光センサーの概要

TSL2561は、広範囲な照度レベルを測定できるI2C通信対応のデジタル光センサーです。可視光線と赤外線の2つの光センサーが組み合わさっており、高い精度で環境の明るさを計測することができます。

2. TSL2561の接続

TSL2561はI2C通信を使用するため、Arduinoとの接続は非常に簡単です。通常、以下のような接続が行われます。

  • VCC(赤色): 3.3Vまたは5Vの電源
  • GND(茶色): 接地
  • SDA(白色または黄色): ArduinoのSDAピン(Analog 4)
  • SCL(緑色または青色): ArduinoのSCLピン(Analog 5)

3. Arduinoコードの作成

TSL2561をArduinoで制御するには、まずI2C通信を扱うためのライブラリをArduino IDEに追加する必要があります。ライブラリの追加方法はArduino公式サイトなどを参考にしてください。

以下は、TSL2561を使用して環境の明るさをシリアルモニターに表示する簡単な例です。

#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_TSL2561_U.h>

Adafruit_TSL2561_Unified tsl = Adafruit_TSL2561_Unified(TSL2561_ADDR_FLOAT, 12345);

void setup(void) {
  Serial.begin(9600);
  
  if(!tsl.begin()) {
    Serial.println("Couldn't find TSL2561 sensor");
    while(1);
  }
  
  Serial.println("Connected to TSL2561 sensor");
}

void loop(void) {
  sensors_event_t event;
  tsl.getEvent(&event);

  if (event.light) {
    Serial.print("光の強度: ");
    Serial.print(event.light);
    Serial.println(" lux");
  } else {
    Serial.println("光の強度の取得に失敗しました");
  }

  delay(1000);
}

4. コードのアップロードと動作確認

Arduino IDEで上記のコードをアップロードし、シリアルモニターを開いてTSL2561が正しく動作しているか確認します。明るい場所にセンサーを置くと、シリアルモニターに光の強度が表示されるはずです。

これで、ArduinoにTSL2561を接続し、環境の明るさを測定する基本的な手順が完了しました。この光センサーを活用して、自動照明制御や環境モニタリングなどのプロジェクトを構築することができます。