Índice:

Freqüência cardíaca no LCD STONE: 7 etapas
Freqüência cardíaca no LCD STONE: 7 etapas
Anonim
Frequência cardíaca no LCD STONE
Frequência cardíaca no LCD STONE

Há algum tempo, encontrei um módulo sensor de frequência cardíaca MAX30100 em compras online. Este módulo pode coletar dados de oxigênio no sangue e frequência cardíaca dos usuários, o que também é simples e conveniente de usar.

De acordo com os dados, descobri que existem bibliotecas do MAX30100 nos arquivos da biblioteca do Arduino. Ou seja, se eu usar a comunicação entre o Arduino e o MAX30100, posso chamar diretamente os arquivos da biblioteca do Arduino sem ter que reescrever os arquivos do driver. Isso é uma coisa boa, então comprei o módulo do MAX30100. Decidi usar o Arduino para verificar a frequência cardíaca e a função de coleta de oxigênio no sangue do MAX30100.

Etapa 1: Função

Função
Função

Link de compra do módulo MAX30100:

item.taobao.com/item.htm?spm=a230r.1.14.69.c0c56556o8wH44&id=559690766124&ns=1&abbucket=2#detail

Nota: este módulo por padrão apenas com comunicações MCU de nível de 3,3 V, porque o padrão é usar o pino IIC para puxar a resistência de 4,7 K para 1,8 V, portanto, não há comunicação com o Arduino por padrão, se você quiser se comunicar com o Arduino e dois 4,7 K do resistor pull-up do pino IIC conectado ao pino VIN, esse conteúdo será apresentado no final do capítulo.

Atribuições funcionais

Antes de iniciar este projeto, pensei em alguns recursos simples: dados de frequência cardíaca e dados de oxigênio no sangue foram coletados

Os dados de frequência cardíaca e oxigênio no sangue são exibidos em uma tela LCD

Esses são os dois únicos recursos, mas se quisermos implementá-los, precisamos fazer mais

pensamento:

Qual MCU mestre é usado?

Que tipo de displayer LCD?

Como mencionamos anteriormente, usamos Arduino para o MCU, mas este é um projeto de display LCD Arduino, portanto, precisamos escolher o módulo de display LCD apropriado. Pretendo usar a tela LCD com uma porta serial. Eu tenho um displayer STONE STVI070WT aqui, mas se o Arduino precisar se comunicar com ele, MAX3232 será necessário para fazer a conversão de nível. Em seguida, os materiais eletrônicos básicos são determinados da seguinte forma:

1. Placa de desenvolvimento Arduino Mini Pro

2. Módulo sensor de frequência cardíaca e oxigênio no sangue MAX30100

3. Módulo de exibição de porta serial LCD STONE STVI070WT

4. Módulo MAX3232

Etapa 2: Introdução ao Hardware

MAX30100

O MAX30100 é uma solução integrada de sensor de oximetria de pulso e monitor de freqüência cardíaca. Ele combina dois LEDs, um fotodetector, óptica otimizada e processamento de sinal analógico de baixo ruído para detectar sinais de oximetria de pulso e frequência cardíaca. O MAX30100 opera com fontes de alimentação de 1,8 V e 3,3 V e pode ser desligado por meio de software com corrente de espera insignificante, permitindo que a fonte de alimentação permaneça conectada o tempo todo. Formulários

● Dispositivos vestíveis

● Dispositivos Fitness Assistant

● Dispositivos de monitoramento médico

Benefícios e recursos

1 、 Oxímetro de pulso completo e sensor de frequência cardíaca Solução simplifica o projeto

LEDs integrados, fotossensor e extremidade dianteira analógica de alto desempenho

Minúsculo 5,6 mm x 2,8 mm x 1,2 mm 14 pinos opticamente aprimorado em pacote

2 、 A operação de energia ultrabaixa aumenta a vida útil da bateria para dispositivos vestíveis

Taxa de amostragem programável e corrente de LED para economia de energia

Corrente de desligamento ultrabaixa (0,7 µA, típico)

3 、 Funcionalidade avançada melhora o desempenho da medição

SNR alto fornece resiliência robusta do artefato de movimento

Cancelamento de luz ambiente integrado

Capacidade de alta taxa de amostragem

Capacidade de saída rápida de dados

Etapa 3: Princípio de detecção

Princípio de Detecção
Princípio de Detecção
Princípio de Detecção
Princípio de Detecção
Princípio de Detecção
Princípio de Detecção

Basta pressionar o dedo contra o sensor para estimar a saturação de oxigênio do pulso (SpO2) e o pulso (equivalente ao batimento cardíaco).

O oxímetro de pulso (oxímetro) é um miniespetrômetro que USA os princípios de diferentes espectros de absorção de hemácias para analisar a saturação de oxigênio do sangue. Este método de medição rápido e em tempo real também é amplamente utilizado em muitas referências clínicas. Não vou apresentar muito o MAX30100, pois esses materiais estão disponíveis na Internet. Amigos interessados podem pesquisar as informações desse módulo de teste de frequência cardíaca na Internet e ter uma compreensão mais profunda de seu princípio de detecção.

STONE STVI070WT-01

Introdução ao displayer

Neste projeto, usarei STONE STVI070WT para exibir os dados de frequência cardíaca e oxigênio no sangue. O chip do driver foi integrado na tela do monitor e há software para uso dos usuários. Os usuários só precisam adicionar botões, caixas de texto e outra lógica por meio das imagens da interface do usuário projetadas e, em seguida, gerar arquivos de configuração e baixá-los na tela de exibição para executar. O display do STVI070WT se comunica com o MCU por meio do sinal uart-rs232, o que significa que precisamos adicionar um chip MAX3232 para converter o sinal RS232 em um sinal TTL para que possamos nos comunicar com o Arduino MCU.

Se você não tiver certeza de como usar o MAX3232, consulte as seguintes imagens:

Se você acha que a conversão de nível é muito problemática, você pode escolher outros tipos de exibidores de STONE, alguns dos quais podem emitir diretamente o sinal uart-ttl. O site oficial tem informações detalhadas e introdução: https://www.stoneitech.com/ Se você precisa de tutoriais em vídeo e tutoriais para usar, também pode encontrá-los no site oficial.

Etapa 4: etapas de desenvolvimento

Etapas de Desenvolvimento
Etapas de Desenvolvimento
Etapas de Desenvolvimento
Etapas de Desenvolvimento
Etapas de Desenvolvimento
Etapas de Desenvolvimento

Três etapas de desenvolvimento da tela STONE:

Projete a lógica de exibição e a lógica de botão com o software STONE TOOL e baixe o arquivo de design para o módulo de exibição.

O MCU se comunica com o módulo de display STONE LCD por meio da porta serial.

Com os dados obtidos na etapa 2, o MCU realiza outras ações.

Instalação do software STONE TOOL

Baixe a versão mais recente do software STONE TOOL (atualmente TOOL2019) do site e instale-o. Após a instalação do software, a seguinte interface será aberta:

Clique no botão "Arquivo" no canto superior esquerdo para criar um novo projeto, que discutiremos mais tarde.

ArduinoArduino é uma plataforma de protótipo eletrônico de código aberto fácil de usar e fácil de usar. Inclui a parte do hardware (várias placas de desenvolvimento que estão em conformidade com a especificação do Arduino) e a parte do software (IDE do Arduino e kits de desenvolvimento relacionados). A parte de hardware (ou placa de desenvolvimento) consiste em um microcontrolador (MCU), memória Flash (Flash) e um conjunto de interfaces universais de entrada / saída (GPIO), que você pode considerar como uma placa-mãe de microcomputador. A parte do software é composta principalmente de Arduino IDE no PC, pacote de suporte de nível de placa relacionado (BSP) e rica biblioteca de funções de terceiros. Com o Arduino IDE, você pode facilmente baixar o BSP associado à sua placa de desenvolvimento e as bibliotecas de que precisa para escrever seus programas. Arduino é uma plataforma de código aberto. Até agora, houve muitos modelos e muitos controladores derivados, incluindo Arduino Uno, Arduino Nano, ArduinoYun e assim por diante. Além disso, o IDE do Arduino agora não só oferece suporte às placas de desenvolvimento da série Arduino, mas também adiciona suporte para placas de desenvolvimento populares, como como Intel Galileo e NodeMCU pela introdução do BSP. O Arduino detecta o ambiente por meio de uma variedade de sensores, controlando luzes, motores e outros dispositivos para retroalimentar e influenciar o ambiente. O microcontrolador na placa pode ser programado com uma linguagem de programação Arduino, compilado em binários e gravado no microcontrolador. Programação para Arduino é implementado com a linguagem de programação Arduino (baseada em Wiring) e o ambiente de desenvolvimento Arduino (baseado em Processing). Projetos baseados em Arduino podem conter apenas Arduino, bem como Arduino e outro software em execução no PC, e eles se comunicam com cada um outro (como Flash, Processing, MaxMSP).

ambiente de desenvolvimentoO ambiente de desenvolvimento do Arduino é o Arduino IDE, que pode ser baixado da Internet. Faça login no site oficial do Arduino e baixe o software https://www.arduino.cc/en/Main/Software?setlang=cn Após instalar o IDE do Arduino, a seguinte interface aparecerá quando você abrir o software:

O IDE do Arduino cria duas funções por padrão: a função de configuração e a função de loop. Existem muitas introduções ao Arduino na Internet. Se você não entende alguma coisa, pode acessar a Internet para encontrá-la.

Etapa 5: Processo de implementação do projeto Arduino LCD

Processo de implementação do projeto Arduino LCD
Processo de implementação do projeto Arduino LCD
Processo de implementação do projeto Arduino LCD
Processo de implementação do projeto Arduino LCD
Processo de implementação do projeto Arduino LCD
Processo de implementação do projeto Arduino LCD

conexão de hardware

Para garantir que a próxima etapa na escrita do código ocorra sem problemas, devemos primeiro determinar a confiabilidade da conexão de hardware. Apenas quatro peças de hardware foram usadas neste projeto:

1. Placa de desenvolvimento pro Arduino Mini

2. STONE STVI070WT tela de exibição tft-lcd

3. MAX30100 frequência cardíaca e sensor de oxigênio no sangue

4. MAX3232 (rs232-> TTL) A placa de desenvolvimento Arduino Mini Pro e a tela do display STVI070WT tft-lcd são conectadas por meio de UART, o que requer conversão de nível por MAX3232, e então a placa de desenvolvimento Arduino Mini Pro e o módulo MAX30100 são conectados por meio da interface IIC. Depois de pensar com clareza, podemos desenhar a seguinte imagem de fiação:

Certifique-se de que não haja erros na conexão do hardware e prossiga para a próxima etapa.

Design da interface do usuário LCD-TFT Em primeiro lugar, precisamos projetar uma imagem de exibição da IU, que pode ser projetada pelo PhotoShop ou outras ferramentas de design de imagem. Depois de projetar a imagem de exibição da IU, salve a imagem no formato JPG. Abra o software STONE TOOL2019 e crie um novo projeto:

Remova a imagem que foi carregada por padrão no novo projeto e adicione a imagem da IU que projetamos. Adicione o componente de exibição de texto, projete o dígito de exibição e o ponto decimal, obtenha o local de armazenamento do componente de exibição de texto no exibidor. O efeito é o seguinte:

endereço do componente de exibição de texto: Conexão sta: 0x0008

Frequência cardíaca: 0x0001

Oxigênio no sangue: 0x0005

O conteúdo principal da interface da IU é o seguinte:

Status da conexão

Mostrador de freqüência cardíaca

Oxigênio no sangue mostrou

Etapa 6: Gerar Arquivo de Configuração

Gerar arquivo de configuração
Gerar arquivo de configuração
Gerar arquivo de configuração
Gerar arquivo de configuração
Gerar arquivo de configuração
Gerar arquivo de configuração
Gerar arquivo de configuração
Gerar arquivo de configuração

Assim que o design da IU estiver concluído, o arquivo de configuração pode ser gerado e baixado para o display do STVI070WT.

Primeiro, execute a etapa 1 e, em seguida, insira a unidade flash USB no computador e o símbolo do disco será exibido. Em seguida, clique em "Download to u-disk" para baixar o arquivo de configuração para a unidade flash USB e, em seguida, insira a unidade flash USB no STVI070WT para concluir a atualização.

MAX30100MAX30100 se comunica via IIC. Seu princípio de funcionamento é que o valor ADC da freqüência cardíaca pode ser obtido através de irradiação de LED infravermelho. O registro MAX30100 pode ser dividido em cinco categorias: registro de estado, FIFO, registro de controle, registro de temperatura e registro de ID. lê o valor da temperatura do chip para corrigir o desvio causado pela temperatura. O registro de ID pode ler o número de ID do chip.

O MAX30100 é conectado à placa de desenvolvimento do Arduino Mini Pro por meio da interface de comunicação IIC. Como existem arquivos de biblioteca MAX30100 prontos no IDE do Arduino, podemos ler os dados de frequência cardíaca e oxigênio no sangue sem estudar os registros do MAX30100. Para aqueles que estão interessados em explorar o registro MAX30100, consulte a folha de dados do MAX30100.

Modifique o resistor de pull-up IIC MAX30100

Deve-se observar que a resistência de pull-up de 4,7 k do pino IIC do módulo MAX30100 está conectada a 1,8 V, o que não é um problema em teoria. No entanto, o nível de lógica de comunicação do pino IIC do Arduino é de 5 V, portanto, ele não pode se comunicar com o Arduino sem alterar o hardware do módulo MAX30100. A comunicação direta é possível se o MCU for STM32 ou outro MCU de nível lógico de 3,3 V. Portanto, o seguinte mudanças precisam ser feitas:

Remova os três resistores de 4,7k marcados na imagem com um ferro de solda elétrico. Em seguida, solde dois resistores de 4,7k nos pinos de SDA e SCL ao VIN, para que possamos nos comunicar com o Arduino. Arduino Abra o IDE do Arduino e encontre o seguinte botões:

Pesquise por "MAX30100" para encontrar duas bibliotecas para MAX30100 e clique em baixar e instalar.

Após a instalação, você pode encontrar a demonstração do MAX30100 na pasta da biblioteca LIB do Arduino:

Clique duas vezes no arquivo para abri-lo.

Esta demonstração pode ser testada diretamente. Se a conexão do hardware estiver ok, você pode baixar a compilação do código na placa de desenvolvimento Arduibo e ver os dados do MAX30100 na ferramenta de depuração serial.

Etapa 7: O efeito pode ser visto na seguinte imagem:

O efeito pode ser visto na imagem a seguir
O efeito pode ser visto na imagem a seguir
O efeito pode ser visto na imagem a seguir
O efeito pode ser visto na imagem a seguir

Para saber mais sobre o projeto clique aqui.

Entre em contato conosco se precisar de um código completo:

Eu responderei a você dentro de 12 horas.

Recomendado: