/a/センサー
Published on

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

1319文字3分で読めます–––
閲覧数
Authors
  • avatar
    Name
    将 有坂
    short bio
    ラズパイやArduinoで電子工作をしてます。

はじめに

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

※ センサー類を安く買うなら → AliExpress 🛒 早く届くのが良ければ → Amazon 🚚

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

※ センサー類を安く買うなら → AliExpress 🛒 早く届くのが良ければ → Amazon 🚚
avatar

将 有坂

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

タグ ->