https://simblo.net/u/bdynFG/post/143923からリンク。投稿先ではコードブロックの処理がエラーになるので投稿できなかったため。
#include <M5AtomS3.h>
#include <M5_DLight.h>
#include <M5_DLight.h>
M5_DLight sensor;
uint16_t lux;
void setup() {
AtomS3.begin(true);
AtomS3.dis.setBrightness(100); // set brightness: 0~255, default:100
//Serial.begin(9600);
//Serial.println("Sensor begin.....");
USBSerial.begin(9600);
USBSerial.println("Sensor begin.....");
sensor.begin(&Wire, (uint8_t)2, (uint8_t)1); // I2Cの割り当てピンの設定。SDA=2, SDL=1に設定する。デフォルトSDA=38, SDL=39らしい。
sensor.setMode(CONTINUOUSLY_H_RESOLUTION_MODE);
}
AtomS3.begin(true);
AtomS3.dis.setBrightness(100); // set brightness: 0~255, default:100
//Serial.begin(9600);
//Serial.println("Sensor begin.....");
USBSerial.begin(9600);
USBSerial.println("Sensor begin.....");
sensor.begin(&Wire, (uint8_t)2, (uint8_t)1); // I2Cの割り当てピンの設定。SDA=2, SDL=1に設定する。デフォルトSDA=38, SDL=39らしい。
sensor.setMode(CONTINUOUSLY_H_RESOLUTION_MODE);
}
char info[40];
CRGB dispColor( uint8_t r, uint8_t g, uint8_t b) {
return ( CRGB)( ( r << 16 ) | ( g << 8 ) | b);
}
void loop() {
lux = sensor.getLUX();
sprintf(info, "lux: %d", lux);
// luxが100を超えたら、LEDを白点灯、それより下なら青点灯。
if ( lux > 100 ) {
AtomS3.dis.drawpix(dispColor( 255, 255, 255)); // WHITE
} else {
AtomS3.dis.drawpix(dispColor( 0, 0, 255)); // BLUE
}
AtomS3.update();
USBSerial.println(info); // 現在のlux値をUSBシリアルポートに出力。
delay(500);
}
return ( CRGB)( ( r << 16 ) | ( g << 8 ) | b);
}
void loop() {
lux = sensor.getLUX();
sprintf(info, "lux: %d", lux);
// luxが100を超えたら、LEDを白点灯、それより下なら青点灯。
if ( lux > 100 ) {
AtomS3.dis.drawpix(dispColor( 255, 255, 255)); // WHITE
} else {
AtomS3.dis.drawpix(dispColor( 0, 0, 255)); // BLUE
}
AtomS3.update();
USBSerial.println(info); // 現在のlux値をUSBシリアルポートに出力。
delay(500);
}