Мой GY-MAX30100 пульсоксиметр проблема с Arduino Uno

Я подключил фиолетовый оксиметр (GY-MAX30100) к Arduino Uno со следующими подключениями.

OXIMETER       ARDUINO UNO
VIN              5V
GND              GND
SCL              SCL
SDA              SDA
INT              D2

Он показывает мне неточные измерения.

13:16:02.851 -> Pulse oxymeter test!
13:16:02.851 -> BEAT
13:16:02.851 -> BPM: 8616.35 | SaO2: 92.01%
13:16:03.055 -> BEAT
13:16:03.055 -> BPM: 4313.73 | SaO2: 92.66%
13:16:03.089 -> BEAT
13:16:03.089 -> BPM: 1209.15 | SaO2: 92.74%

Я использовал этот скетч из github https://github.com/xcoder123/MAX30100/blob/master/max30100.ino

Это датчик

ПРАВКА

Я запустил сканер I2C, и вот результат: устройство I2C найдено по адресу 0x57. В библиотеке жестко закодирован один и тот же адрес.

, 👍1

Обсуждение

Вы можете включить ссылку на библиотеку, которую использует скетч. Учитывая, насколько специфичен ваш вопрос, вы можете не получить здесь большой помощи. (Ваш потенциальный пул помощи будет состоять из людей, которые использовали тот же датчик, с той же библиотекой, используя тот же скетч.) Я бы посоветовал связаться с автором скетча., @Duncan C

Кстати, а как работает этот датчик? Каждый датчик пульс-быка, который я когда-либо видел, светит красным светом через палец или другую часть тела и помещает датчик с другой стороны. Этот датчик, по-видимому, не имеет отдельных частей излучателя и датчика., @Duncan C

@DuncanC - Этот датчик имеет встроенный светодиод видимого света, ИК-светодиод и фотодиод :), @VE7JRO

Хорошо, но в нем нет щели, в которую можно было бы просунуть палец. Излучает ли он свет в ваше тело, а затем измеряет отраженный обратно свет?, @Duncan C

@DuncanC - Все, что вам нужно сделать, это положить палец на датчик. https://datasheets.maximintegrated.com/en/ds/MAX30100.pdf, @VE7JRO


1 ответ


0

Есть 2 новые библиотеки, которые вы можете попробовать. Я использовал оба с MAX30102, и они работают.

Первый из них находится здесь: SparkFun_MAX3010x_Sensor_Library. В комплект входит несколько скетчей, и этот сработал для меня: Example5_HeartRate.

Другая библиотека, с которой я добился успеха, - это эта: Protocentral. В нем есть тестовый скетч, который записывает данные в последовательный порт, но вы можете добавить к нему инструкции Serial.println (), чтобы проверить, "имеют ли данные смысл".

,

По-прежнему ничего, я проверил соединения..., @Janko Pjer

Каков результат **примера 5_сердечного** скетча?, @VE7JRO

Извините за поздний ответ, там просто написано " Инициализация...`, @Janko Pjer

Круто, давайте попробуем снизить скорость I2C. В строке 47 измените скорость с " I2C_SPEED_FAST на I2C_SPEED_STANDARD. Если это не сработает, нам нужно заглянуть в библиотеку, потому что мы не выполняем строку 52. Следующим шагом является обработка ошибок в строке 164 файла". cpp". Он ищет "PartID" readPartID()`. Вы могли бы попробовать прокомментировать "вернуть ложь", но это решение я оставляю на ваше усмотрение., @VE7JRO