🧪 Novos tutoriais em andamento — do braço robótico ao sensor
Ir para o conteúdo
Compre este produtoLoja oficialSite oficial

PC · Execução em Python ​

Índice ​

  1. Preparação de hardware
  2. Ligação de hardware
  3. Configuração do ambiente de software
  4. Executar o programa de exemplo
  5. Perguntas frequentes

Preparação de hardware ​

Materiais necessários ​

MaterialDescrição
Sensor JUXI_HeartRate_SPO2Módulo de frequência cardíaca e SpO2
Módulo USB para TTLCH340 / CP2102 / FT232, etc.
Cabos jumper4 (fêmea-fêmea)
Computador WindowsWin7/Win10/Win11

Ligação de hardware ​

Modo de ligação ​

Pino do sensorPino do módulo USB para TTLDescrição
VCC3.3V ou 5VPolo positivo da alimentação
GNDGNDPolo negativo da alimentação
TXRXSensor envia → módulo recebe
RXTXSensor recebe → módulo envia

Diagrama

⚠️ Aviso importante:

  1. Chave seletora do módulo na posição UART!!!
  2. TX e RX têm de ser ligados de forma cruzada!
  3. O sensor suporta 3.3V e 5V; não ligue à tensão errada
  4. Ligue todos os cabos primeiro e só depois insira o USB no computador

Diagrama de ligação ​

text
传感器        USB转TTL模块
┌──────┐      ┌──────────┐
│ VCC  │──────│ 3.3V/5V  │
│ GND  │──────│ GND      │
│ TX   │──────│ RX       │  ← 交叉连接
│ RX   │──────│ TX       │  ← 交叉连接
└──────┘      └──────────┘

Configuração do ambiente de software ​

Instalar o controlador ​

Instale o controlador correspondente de acordo com o modelo do chip USB para TTL:

Depois de instalar, insira o módulo USB para TTL.

Verificar a porta COM ​

Método 1: Gestor de Dispositivos ​

  1. Prima Win + X e selecione «Gestor de Dispositivos»
  2. Expanda «Portas (COM e LPT)»
  3. Veja o número da porta COM correspondente ao seu USB para TTL (por exemplo, COM3)

Método 2: deteção automática pelo programa ​

Ao executar o programa de exemplo, todas as portas série disponíveis são listadas automaticamente.

Instalar as dependências do Python ​

Abra o Prompt de Comandos (CMD) ou o PowerShell e execute:

bash
pip install pyserial

Executar o programa de exemplo ​

Descarregue e descompacte o ficheiro JUXI_HeartRate_SPO2.zip

Localização dos ficheiros ​

text
JUXI_HeartRate_SPO2/python/windows/
├── gain_heartbeat_SPO2.py  ← 主程序(直接运行这个)
├── JUXI_HeartRate_SPO2_Windows.py
├── JUXI_RTU_Windows.py
└── README_CN.md        ← 本文件
└── README.md

Passos de execução ​

  1. Confirme se a ligação do hardware está correta
  • VCC → 3.3V/5V
  • GND → GND
  • TX → RX (cruzado)
  • RX → TX (cruzado)
  1. Insira o USB no computador
  2. Execute o programa
bash
cd D:\JUXI_HeartRate_SPO2\python\windows
bash
python gain_heartbeat_SPO2.py
  1. Siga as instruções apresentadas
  • O programa lista todas as portas série disponíveis
  • Introduza o número da sua porta COM (por exemplo, COM3)
  • O programa deteta automaticamente o sensor e inicia a medição

Saída esperada ​

python
==================================================
JUXI Blood Oxygen Sensor - Windows Test
==================================================
Available serial ports:
  COM3

Please enter the COM port number (e.g., COM3):

Connecting to COM3 at 9600 baud...
Initializing sensor...
Sensor initialized successfully!

Starting data collection...
Sensor LED should be ON now!

Place your finger on the sensor...

SPO2 (血氧): 97 %
Heart Rate (心率): 82 BPM
Temperature (温度): 26.5 °C
SPO2 (血氧): 98 %
Heart Rate (心率): 78 BPM
Temperature (温度): 26.6 °C
...

Pressione Ctrl + C para parar o programa.


Descrição das funcionalidades do programa ​

API principal ​

bash
# 创建传感器对象
sensor = BloodOxygenSensor("COM3", 9600)

# 初始化传感器
sensor.begin()

# 开始采集(LED亮起)
sensor.sensor_start_collect()

# 读取心率血氧
sensor.get_heartbeat_SPO2()
print(f"SPO2: {sensor.SPO2}%")
print(f"Heart Rate: {sensor.heartbeat} BPM")

# 读取温度
temp = sensor.get_temperature_c()

# 停止采集(LED熄灭)
sensor.sensor_end_collect()

# 关闭串口
sensor.close()

Perguntas frequentes ​

P1: o que fazer se a porta COM não for encontrada? ​

R:

  1. Verifique se o USB para TTL está bem inserido
  2. Reinstale o controlador
  3. Experimente outra porta USB
  4. Verifique no Gestor de Dispositivos se existe algum «Dispositivo desconhecido»

P2: o que fazer se a inicialização do sensor falhar? ​

R:

  1. Verifique a cablagem:
  • VCC e GND estão ligados corretamente?
  • TX e RX estão ligados de forma cruzada? (problema mais comum)
  1. Confirme se o débito em bauds é 9600
  2. Verifique se o módulo USB para TTL funciona corretamente
  3. Desligue e volte a ligar o USB

P3: o que fazer se os dados continuarem a apresentar -1? ​

R:

  1. Confirme se o dedo está corretamente colocado sobre o sensor (cobrindo completamente a área do LED)
  2. Mantenha o dedo estável, sem se mover
  3. Aguarde alguns segundos para os dados estabilizarem
  4. Verifique se o LED do sensor está aceso

P4: o LED não acende, mas a comunicação funciona? ​

R:

  • Pode ser um problema de hardware do LED, mas o sensor funciona normalmente
  • Se os dados estiverem normais, pode ignorar o problema de o LED não acender

P5: o que fazer se a porta série estiver ocupada? ​

R:

  1. Feche outros programas de porta série (assistente de porta série, Arduino IDE, etc.)
  2. Verifique se existe outro programa Python em execução
  3. Desligue e volte a ligar o USB

P6: o que fazer se os dados estiverem imprecisos? ​

R:

  1. Certifique-se de que o dedo cobre completamente a área ótica do sensor
  2. Mantenha o ambiente tranquilo durante a medição; não fale nem se mova
  3. Aguarde mais de 30 segundos para os dados estabilizarem
  4. Faça várias medições e calcule a média

Especificações técnicas ​

ParâmetroEspecificação
Modo de comunicaçãoUART (nível TTL)
Débito9600 bps (predefinido)
Formato de dados8N1 (8 bits de dados, sem paridade, 1 bit de paragem)
Tensão de alimentação3.3V / 5V
Faixa de medição de SpO235% - 100%
Faixa de medição da frequência cardíaca30 - 250 BPM
Endereço do dispositivo Modbus0x20

Descrição dos registos Modbus ​

Endereço do registoFunçãoDescrição
0x02ID do dispositivoLeitura: devolve 0x0020
0x06-0x09Dados de frequência cardíaca e SpO2Leitura: SpO2 + frequência cardíaca
0x0ATemperaturaLeitura: temperatura da placa
0x10Controlo de recolhaEscrita: 0x0001=iniciar, 0x0002=parar