
Arduino入門
環境設定: Arduino IDE 入門ガイド を参照して IDE をインストールし、使用する開発ボードに応じたボードパッケージと必要なドライバライブラリをインストールしてください。
必要なライブラリ:
使用するハードウェア製品:

G9 (SCL)、G10 (SDA) です。#include "M5Unified.h"
#include "MAX30100.h"
#define SAMPLING_RATE MAX30100_SAMPRATE_100HZ
#define IR_LED_CURRENT MAX30100_LED_CURR_24MA
#define RED_LED_CURRENT MAX30100_LED_CURR_27_1MA
#define PULSE_WIDTH MAX30100_SPC_PW_1600US_16BITS
#define HIGHRES_MODE true
MAX30100 sensor; // MAX30100 センサクラスのインスタンス
void setup()
{
M5.begin();
M5.Power.begin(); // 電源初期化
Serial.print("Initializing MAX30100..");
while (!sensor.begin()) { // センサ初期化
M5.Lcd.setCursor(50, 100);
M5.Lcd.println("Sensor not found");
delay(1000);
}
M5.Lcd.setRotation(3);
M5.Lcd.fillScreen(BLACK);
M5.Lcd.setFont(&fonts::FreeMonoBold12pt7b);
M5.Lcd.setTextSize(1.5);
// パラメータ設定
sensor.setMode(MAX30100_MODE_SPO2_HR);
sensor.setLedsCurrent(IR_LED_CURRENT, RED_LED_CURRENT);
sensor.setLedsPulseWidth(PULSE_WIDTH);
sensor.setSamplingRate(SAMPLING_RATE);
sensor.setHighresModeEnabled(HIGHRES_MODE);
}
void loop()
{
uint16_t ir, red;
sensor.update(); // センサデータ更新
if (sensor.getRawValues(&ir, &red)) { // データ取得時
M5.Lcd.setCursor(5, 20);
M5.Lcd.printf("IR: %d", ir);
M5.Lcd.setCursor(5, 70);
M5.Lcd.printf("RED: %d", red);
}
delay(100); // 適切なディレイ
M5.Lcd.fillScreen(BLACK);
}
