HowToJP

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

### はじめに Arduinoは様々なセンサーやモジュールと組み合わせて利用できるマイコンボードです。この記事では、光センサーである「BH1750」をArduinoに接続し、制御する方法について解説します。 ### 1. BH1750光センサーの概要 BH1750は、I2C通信を利用して光の強さを測定するセン

将 有坂

将 有坂

ラズパイやArduinoで電子工作をしてます。

はじめに

Arduinoは様々なセンサーやモジュールと組み合わせて利用できるマイコンボードです。この記事では、光センサーである「BH1750」をArduinoに接続し、制御する方法について解説します。

1. BH1750光センサーの概要

BH1750は、I2C通信を利用して光の強さを測定するセンサーです。非常に小型で使いやすく、照度をデジタル値で取得できる特長があります。Arduinoと組み合わせることで、簡単に照度のモニタリングや制御を行うことができます。

2. BH1750の接続

BH1750は、通常、VCC、GND、SDA、SCLの4本のピンを持っています。これらをArduinoに接続します。

  • VCC(赤色): 5Vの電源
  • GND(茶色): 接地
  • SDA(緑色または青色): I2Cデータライン
  • SCL(黄色または白色): I2Cクロックライン

これらのピンを対応するArduinoのピンに接続します。

3. Arduinoライブラリのインストール

BH1750をArduinoで利用するには、BH1750用のライブラリをArduino IDEにインストールする必要があります。IDEの「スケッチ -> ライブラリをインクルード -> ライブラリマネージャ」から「BH1750」を検索し、インストールします。

4. Arduinoコードの作成

BH1750を制御するための基本的なArduinoコードを以下に示します。

#include <Wire.h>
#include <BH1750.h>

BH1750 lightMeter;

void setup() {
  Serial.begin(9600);
  lightMeter.begin();
}

void loop() {
  uint16_t lux = lightMeter.readLightLevel();
  Serial.print("照度: ");
  Serial.print(lux);
  Serial.println(" lx");
  delay(1000);  // 1秒ごとに照度を取得
}

このコードは、BH1750から照度の値を読み取り、シリアルモニターに表示するものです。適宜、取得した照度値を利用して様々な制御を行うことができます。

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

最後に、書いたコードをArduinoにアップロードし、シリアルモニターで照度の値が正しく表示されるか確認します。これで、ArduinoにBH1750を接続し、簡単な光センシングを行うための基本的な手順が完了しました。

光センサーを利用することで、照明制御や環境モニタリングなど、様々なアプリケーションを開発することができます。

将 有坂

電子部品専門家 / ラズベリーパイのプロ / 数多くのセンサーやモジュールの導入実績

ラズベリーパイやArduinoの電子工作に関わるソフトウェアエンジニア。これまで100種類以上のセンサーやモジュールの導入を行い、多くの人々に電子工作の楽しさを伝えることを使命としています。