Подключение цифрового датчика пульса MAX30102 к Arduino

Сегодня расскажу о модуле MAX30102 с помощью которого можно измерить уровень насыщенности кислорода в крови и частоту сердечных сокращений, то есть пульс. Так же в датчик MAX30102 встроен датчик температуры, с помощью которого можно получить температуру окружающей среды.

Технические параметры

► Напряжение питания: 3.3 … 5 В;
► Номинальный ток: 1.2мА в режиме считывания, 10мкА в спящем режиме;
► Время считывания: 400 мкс;
► Частота внутреннего АЦП: 10 МГц;
► Длина волны светодиодов: 660нм, 880нм;
► Погрешность температурного датчика: ±1 °C;
► Интерфейс: I2C;
► Габариты: 14 х 14 х 4 мм;
► Вес: 1 грам.

Как работает пульсоксиметр.

Как мы знаем, кислород поступает в легкие, а затем попадает в кровь. Кровь доставляет кислород к различным органам нашего тела. Основным способом переноса кислорода в нашей крови является гемоглобин. Измерение кислорода в крови осуществляется с помощью небольшими устройствами (пульсоксиметр), похожее на зажим, которые одевается на палец, мочку уха или палец ноги.
Пульсоксиметр посылает небольшие пучки света, которые проходят через кровь в пальце и частично поглощается в насыщенном кислороде или дезоксигенированной крови. Насыщенная кислородом кровь поглощает больше инфракрасного света и пропускает больше красного света, в то время как деоксигенированная кровь поглощает красный свет и пропускает больше инфракрасного света. Излучаемый свет поглощается насыщенной кислородом кровью, а остальной свет отражается от пальца и попадает на детектор, выходные данные которого затем обрабатываются и считываются через микроконтроллер.

Описание датчика MAX30102

Основная микросхема модуля, это датчик MAX30102 которая способна измерять уровень кислорода в крови (SpO2) и частоту сердечного ритм (HR). Измерения осуществляется с помощью оптического датчика, который измеряет поглощение пульсаций крови через фотоприемник после излучения двух светодиодов — красного и инфракрасного цвета. Данные о частоте сердечных сокращений и содержании кислорода в крови передаются на микроконтроллеры через связь I2C.

Так же MAX30102 оснащен встроенным датчиком температуры для калибровки температурной зависимости SpO2. Разрешение датчика температуры составляет 0,0625°C. 

Конфигурация контактов MAX30102

► VIN — питание модуля 2,7 до 5,5 вольт;
► SCL — последовательные данные шины I2C (serial data);
► SDA — последовательное тактирование шины данных I2C (serial clock);
INT — вывод прерывания;
► GND — минус от источника.

Подключение модуля MAX30102 к Arduino

В примере приведу схему подключения датчика MAX30102 к плате Arduino UNO и напишем три скетча, в которых прочитаем показания кислорода в крови, частоту сердечных сокращений и температуру окружающий (все примеры взяты с библиотеки MAX30105). Все показания выведем на последовательной порт.

Необходимые компоненты.
► Arduino UNO R3 x 1 шт.
 Датчик пульса и содержания кислорода в крови MAX30102 x 1 шт.
► Провод DuPont, 2,54 мм, 20 см, F-M (Female — Male) x 1 шт.
► Кабель USB 2.0 A-B x 1 шт

Подключение.
Для подключения модуля MAX30102 к плате Arduino необходимо задействовать в общей сложности 4 провода. Подключаем контакты VIN и GND с MAX30102 к контактам 5 В и GND на Arduino UNO, а контакты SCL и SDA с MAX30102 к контактам A5 и A4 на Arduino UNO.

Установка библиотеки.
Для работы, будем использовать библиотеку «SparkFun MAX30105«, скачать ее можно с github или в конце статьи.

Для точных измерений, необходимо чтобы палец был в постоянном зафиксированном и давил на сенсор с постоянным давлением. Лучше всего воспользоваться канцелярской резинкой, изолентой и зафиксировать датчик с пальцем.

Программа №1 — Определения частоты сердечных сокращений
Открываем среду разработки Arduino IDE и загружаем первую программу в Arduino UNO.

Прикладываем датчик к пальцу с помощью канцелярской резинкой и открываем окно «Последовательного порта», где видим частоту сердечных сокращений.

Программа №2 — Определение температуры окружающей среды.

Открываем окно «Последовательного порта», где видим температуру в цельсиях и в фаренгейтах.

Программа №3 — Определение насыщенности кислорода в крови.

Прикладываем датчик к пальцу с помощью канцелярской резинкой, открываем окно «Последовательного порта» и отправляем любую команду, через время начнем получать показания.

Ссылки
  Библиотека SparkFun MAX3010x v.1.1.2

Купить на Aliexpress
  Контроллер Arduino UNO R3 на CH340G
  Контроллер Arduino UNO R3 на Atmega16U2
  Провода DuPont, 2,54 мм, 20 см
 Датчик пульса и содержания кислорода в крови MAX30102

Купить в Самаре и области
  Контроллер Arduino UNO R3 на CH340G
  Контроллер Arduino UNO R3 на Atmega16U2
  Провода DuPont, 2,54 мм, 20 см
  Датчик пульса и содержания кислорода в крови MAX30102

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *