Arduino入門

2. デバイス&サンプル

5. 拡張モジュール&サンプル

アクセサリー

6. アプリケーション

Unit DLight Arduino チュートリアル

1. 準備

2. 注意事項

ピン互換性
ホストデバイスごとにピン構成が異なります。M5Stack 公式のピン互換性表を確認し、実際のピン接続に合わせてサンプルプログラムを変更してください。

3. サンプルプログラム

  • 本チュートリアルでは、Basic V2.7 と Unit DLight を使用します。Unit DLight は I2C 通信を使用し、デフォルトアドレスは 0x23 です。接続後に使用するピンは G21 (SDA)G22 (SCL) です。
説明
Unit DLight は BH1750FVI 照度センサーを内蔵し、1 ~ 65535 lx の照度検出に対応します。このサンプルでは、連続高解像度モードで周囲光の照度を測定します。
cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
#include <M5Unified.h>
#include <M5_DLight.h>

M5Canvas canvas(&M5.Display);

M5_DLight sensor;
uint16_t lux;

void setup() {
    M5.begin();
    canvas.setTextDatum(MC_DATUM);
    canvas.setColorDepth(1);
    canvas.setFont(&fonts::Orbitron_Light_24);
    canvas.setTextSize(2);
    canvas.createSprite(M5.Display.width(), M5.Display.height());
    canvas.setPaletteColor(1, ORANGE);
    Serial.begin(115200);
    Serial.println("Sensor begin.....");
    sensor.begin(&Wire, SDA, SCL);

    // CONTINUOUSLY_H_RESOLUTION_MODE
    // CONTINUOUSLY_H_RESOLUTION_MODE2
    // CONTINUOUSLY_L_RESOLUTION_MODE
    // ONE_TIME_H_RESOLUTION_MODE
    // ONE_TIME_H_RESOLUTION_MODE2
    // ONE_TIME_L_RESOLUTION_MODE
    sensor.setMode(CONTINUOUSLY_H_RESOLUTION_MODE);
}

char info[40];

void loop() {
    lux = sensor.getLUX();
    sprintf(info, "lux: %d", lux);
    canvas.fillSprite(BLACK);
    canvas.drawString(info, 160, 120);
    canvas.pushSprite(0, 0);
    Serial.println(info);
    delay(100);
}

4. コンパイルとアップロード

  • 上記のサンプルコードをプロジェクトのコード領域に貼り付け、デバイスポートを選択します。詳細はプログラムのコンパイルと書き込みを参照してください。Arduino IDE 左上のコンパイルおよびアップロードボタンをクリックし、プログラムのコンパイルとデバイスへのアップロードが完了するまで待ちます。

5. 周囲光照度の測定

  • プログラムの実行後、画面とシリアルモニターには、Unit DLight が測定した周囲光の照度が 100ms ごとに lx 単位で更新表示されます。センサー表面に当たる光の強さを変えると、照度値の変化を確認できます。
Page Tools
PDF
On This Page