Как я сделал пульсоксиметр на Raspberry Pi Pico, чтобы следить за своими

    0
    2


    Раньше отслеживание вашей основной жизненной статистики включало поездку в кабинет врача, где вас подвергали дорогостоящему оборудованию, которое вы даже не могли надеяться понять. Но теперь, с появлением модульной и комплектной электроники, вы можете собрать некоторые из этих устройств прямо на своем столе, используя микроконтроллер, такой как Arduino или Raspberry Pi Pico. С возвращением зимы и ростом респираторных заболеваний было бы полезно иметь легкодоступный пульсоксиметр. Конечно, вы не сможете получить точность медицинского уровня с помощью домашнего пульсоксиметра, но когда совершенство когда-либо мешало хорошему проекту? (У нас их довольно много, если вам интересно.)



    Связанный

    Вот 15 гениальных проектов, которые можно построить с помощью Arduino

    От самодельных 3D-принтеров до FPV-дронов — с микроконтроллером Arduino можно многое сделать.

    Что вам понадобится

    632771_223214_01_front_zoom Фон удален
    Малиновый Пи Пико

    Raspberry Pi Pico — это плата микроконтроллера стоимостью 4 доллара с собственным чипом RP2040 на базе ARM от Raspberry. Он программируется на C и MicroPython и имеет такие параметры ввода-вывода, как I2C, SPI и PIO.

    Собираем пульсоксиметр вместе

    Использование макета для создания пульсоксиметра

    Начните с размещения Raspberry Pi Pico на макете, располагая центральный канал так, чтобы порт micro USB был ближе к краю. Вам нужен порт на периферии, потому что вам понадобится легкий доступ к нему для подачи питания. Размещение его в середине края максимизирует количество отверстий, с которыми вы можете работать.

    Схема Raspberry Pi Pico на макетной плате
    Источник: Фрицинг


    Затем разместите OLED-дисплей и модуль пульсоксиметра. На самом деле не имеет значения, где вы их разместите, но некоторые места лучше, чем другие. OLED лучше всего размещается в самом нижнем ряду верхней половины платы, поэтому он получает поддержку и по-прежнему оставляет четыре ряда отверстий, поэтому соединительные провода не сжимаются. Модуль пульсоксиметра лучше располагать в нижней части платы, поскольку там легче обеспечить хороший контакт с пальцем.

    Raspberr Pi Pico и компоненты на макетной плате
    Источник: Фрицинг

    Теперь, когда все ваши компоненты на месте, пришло время их подключить. Это можно делать в любом порядке, но я предпочитаю начинать с мощности.

    1. Проложите переходной провод от контакта 3,3 В Pico к одной из положительных шин питания на краю макетной платы.
      Пико на макете с питанием по рельсам
      Источник: Фрицинг
    2. Подключите контакты питания на ваших компонентах к шине питания.
      Пико и компоненты, подключенные к питанию
      Источник: Фрицинг
    3. Проложите переходной провод от одного из контактов заземления вашего Pico к отрицательной шине питания.
      Pico с заземлением, подключенным к рельсу
      Источник: Фрицинг
    4. Подключите контакты заземления ваших компонентов к отрицательной шине питания.
      Пико и компоненты, подключенные к земле
      Источник: Фрицинг


    Когда дело доходит до управления данными от этих датчиков, мы собираемся использовать протокол I²C, который позволит нескольким устройствам обмениваться данными через одни и те же контакты GPIO, упрощая наши потребности в проводке. Чтобы использовать функциональность I²C, вам нужны два контакта: контакт данных (SDA) для входящей и исходящей информации и тактовый контакт (SCL) для координации времени разговора с каждым устройством. Давайте настроим это.

    1. Начните с подключения контактов SDA и SCL на вашем OLED к контактам 8 и 9 на Pico.
      OLED, подключенный к контактам Pico I2C
      Источник: Фрицинг
    2. Подключите контакты SDA и SCL на MAX30102 к соответствующему ряду над OLED.
      все компоненты подключены к контактам Pico I2C
      Источник: Фрицинг

    Вы могли бы подключить каждое устройство к своей собственной паре контактов I²C, но такой способ упростит вам жизнь, если вы когда-нибудь решите превратить это из проекта в устройство.


    В зависимости от качества и возраста вашего макета вам, возможно, придется повозиться с соединениями (я знаю, что делал).

    Сборка программного обеспечения для вашего пульсоксиметра

    Самый простой способ запустить программное обеспечение на Raspberry Pi Pico — загрузить Thonny, Python IDE с открытым исходным кодом. Thonny позволит вам без особых хлопот добавлять и удалять файлы с вашего Pico. После установки вы можете добавить необходимые файлы Python.

    Установка MicroPython на Raspberry Pi Pico

    1. Удерживая кнопку BOOTSEL, используйте кабель micro USB — USB-A, чтобы подключить Pico к компьютеру. Это заставит ваш Pico отображаться как USB-устройство и позволит вам взаимодействовать с ним через Thonny.
      Raspberry Pi Pico с выделенным BOOTSEL
      Источник: Малиновый Пи.
    2. Откройте Тонни и посмотрите в правый нижний угол окна. Он показывает, какую версию Python вы используете в данный момент. Нажмите на текст в этом углу и выберите Установить МикроПитон.
      Меню установки Thonny MicroPython
    3. Во всплывающем окне выберите пункт Raspberry Pi • Пико / Пико H вариант из вариант раскрывающийся список, затем нажмите Установить. Это установит прошивку MicroPython на ваш Pico через подключенный USB-кабель.
      Диалоговое окно установки Thonny MicroPython
    4. После завершения установки нажмите Закрывать.
    5. Дважды проверьте версию Python в правом нижнем углу. Должно быть установлено значение МикроПитон (Малина Пи Пико). Если это не так, измените его.


    MicroPython — это прошивка, которая будет запускать программы Python, установленные на Pico. Теперь, когда он у нас есть, давайте добавим к нему немного кода.

    Установка программного обеспечения пульсоксиметра на Raspberry Pi Pico

    1. Сначала вам необходимо добавить библиотеки Python, используемые для взаимодействия с компонентами дисплея и датчика. В меню в верхней части окна Тонни нажмите Инструментызатем выберите Управление пакетами из раскрывающегося списка.
      Подсветка меню инструментов Thonny Управление пакетами
    2. Для работы кода пульсоксиметра необходимы две библиотеки: micropython-max30102 и micropython-ssd1306. Входить микропитон-max30102 в строку поиска и нажмите Входить или нажмите Поиск по PyPI.
      Результаты поиска пакета Thonny для датчика MAX30102
    3. Верхний результат должен быть micropython-max30102. Нажмите на этот результат, затем нажмите Установить.
      Окно установки библиотеки Thonny micropython-max30102

      Если вы не установили версию Python MicroPython, установка завершится неудачно. Если это произойдет, дважды проверьте свою версию в правом нижнем углу и при необходимости измените ее.

    4. Повторите этот процесс, чтобы установить микропитон-ssd1306 библиотека.
    5. Загрузите файлpulse-oximeter.py с GitHub.
      Кодовая страница на GitHub с подсветкой кнопки загрузки
    6. Откройте файл с Тонни, выбрав Файл из меню, затем нажмите Открыть, затем выберите открыть из Этот компьютер.
    7. Выберите файл, который вы скачали, затем нажмите Открыть.
      Тонни открыть окно файла


    Если все детали собраны, вы можете запустить пульсоксиметр, нажав кнопку зеленая кнопка воспроизведениявыбрав Запустить текущий скрипт из Бегать меню или нажав F5. Наконец, если вы хотите, чтобы этот проект запускался без использования Thonny, сохраните этот сценарий как «main.py» на своем Pico.

    Меню Thonny Run с подсветкой Запустить текущий скрипт

    1. Выбирать Файл затем нажмите Сохранить как.
      Меню Thonny File с выделением Сохранить как
    2. На вопрос, куда сохранить, выберите Малиновый Пи Пико.
      Тонни Где сохранить в модальном формате?

      Если ваш скрипт все еще работает, вам придется остановить его, прежде чем вы сможете сохранить файл в Pico.

    3. Назовите свой файл «main.py» и выберите ХОРОШО.
      Тонни Сохранить как окно


    Теперь, когда вы включаете Pico, он запускает сценарий пульсоксиметра.

    Сделайте пульсоксиметр своим собственным

    Теперь, когда у вас есть работающий пульсоксиметр, вы можете покопаться в коде Python и сделать его самостоятельно. Одно из простых решений — изменить контакты, которые вы используете на Pico. Единственное ограничение заключается в том, что сигнал SDA должен поступать на вывод SDA, а сигнал SCL должен поступать на вывод SCL.

    Возможно, вы также захотите поработать с формулой SpO² (в коде вы можете увидеть, что я попробовал несколько формул). Измерение насыщения крови кислородом — это, по сути, жуткое искусство, и «правильную» калибровку невозможно выполнить самостоятельно в мастерской. Тем не менее, не позволяйте приличиям остановить вас, покопайтесь в коде и повеселитесь! И в конце концов вы получите ценную личную информацию о здоровье одним прикосновением пальца.

    Связанный

    Я сделал инфракрасную камеру слежения с помощью Raspberry Pi, чтобы видеть, что какает у меня на заднем дворе.

    Используйте возможности технологий, чтобы шпионить за природой

    Предыдущая статьяОснованный на руке Steam Deck выглядит возможным, и я никогда не был так взволнован
    Следующая статьяВы сможете начать “почти все, если не все” квесты в Obsidian’s
    Петр Григорин
    Интересуется софтом, разработкой и использование новых приложений, технология искусственного интеллекта. Этот писатель - человек с техническими знаниями, который увлечен разработкой программного обеспечения и использованием новых приложений. Его особенно интересуют технологии искусственного интеллекта и то, как они могут быть использованы для улучшения различных отраслей промышленности и повседневной жизни. Обладая прочной основой в области информатики и острым взглядом на инновации, этот писатель обязательно привнесет ценные идеи и соображения в любую дискуссию на эти темы. Пишет ли он о последних открытиях в области ИИ или исследует потенциал новых программных инструментов, его работа обязательно будет увлекательной и заставляющей задуматься.