备注: 本项目旨在开发一款医疗呼吸机 +STONE 串口屏 +STM32 系统。在该项目中,用户可选择语言和功能,并通过随机数触发方式绘制呼吸波形。当按下按键时,MCU检测到按键信号,并通过串口将波形数据传输至STVC101WT-01 TFT。LCD屏幕接收数据命令后,自动分析并通过波形控制在屏幕上显示。屏幕还具备参数调节功能、呼吸机参数显示、读取呼吸机波形以及语音播报功能。
简要
随着医疗呼吸机短缺的加剧,中国制造的医疗呼吸机已成为国际市场的“硬通货”。
因此,我也顺应潮流,决定在手持设备上采用TFT LCD串口屏作为呼吸机显示屏,这非常适合。
这是一个串口屏幕。与STONE串口屏配合使用非常方便。最重要的是它简单易用,无需过多复杂的操作说明。其优势在于能够快速开发项目并抓住市场机遇。
我使用STM32进行呼吸模拟,并采用stm32f103rct6进行开发。该模块支持串口或其他简单通信接口模式与STONE串口屏通信,并可实时绘制波形图。
医疗呼吸机+STONE串口屏 STM32项目功能
在此项目中,我们希望开发一款医疗设备——呼吸机。该项目可选择开发语言和功能,并通过随机数触发方式绘制呼吸波形。当按下按键时,MCU检测到按键信号,并通过串口将波形数据传输至HMI显示屏。LCD屏幕接收数据命令后,通过波形控制功能自动分析并显示在屏幕上。屏幕还具备调节功能和语音广播功能。
即以下功能
- 串口屏幕实现语言选择功能;
- 实现发送触摸命令和切换图片的功能;
- 单片微控制器实现数据命令上传功能;
- 实现实时波形显示功能。
功能确定后,选择模块型号
- STVC101WT-01用于屏幕端;
- stm32f103rct6用于单片微控制器;
- 语音广播模块。
硬件介绍与原理
扬声器
由于STONE串口HMI显示屏内置音频驱动器并预留了对应接口,可直接使用最常见的磁铁扬声器(俗称喇叭)。扬声器是一种将电信号转换为声信号的换能器。扬声器的性能对声音质量有重大影响。扬声器是音频设备中最薄弱的组件,但对于音频效果而言,它是最重要的组件。扬声器种类繁多,价格差异显著。音频电能通过电磁、压电或静电效应,使纸盆或振膜振动并与周围空气共振(共鸣)从而产生声音。
STONE 串口屏 STVC101WT-01
- 1英寸 1024×600 工业级 TFT 面板和 4 线电阻式串口屏;
- 亮度为 300cd/m²,LED 背光;
- RGB 色彩为 65K;
- 视觉区域为7mm × 125.3mm;
- 视觉角度为 70°/70°/50°/60°;
- 使用寿命为20000小时。32位Cortex-M4 200Hz CPU;
- CPLD EPM240 TFT-LCD控制器;
- 128MB(或1GB)闪存;
- USB接口(U盘)下载;
- 图形用户界面设计工具箱软件,简单强大的十六进制指令。
基本功能
- 串口屏控制/显示图像/显示文本/显示曲线/读写数据/播放视频和音频。适用于各种行业。
- UART 接口为 RS232/RS485/TTL;
- 电压为 6V-35V;
- 功耗为0W;
- 工作温度为 -20℃/+70℃;
- 空气湿度为60%~90%。
STVC101WT-01模块通过串口与MCU通信,本项目中需使用该模块。只需通过上层计算机的菜单栏选项将设计的GUI图片添加至按钮、文本框、背景图片及页面逻辑,生成配置文件后,最终下载至显示屏运行。
除数据手册外,还提供用户手册、常用开发工具、驱动程序、部分简单示例程序、视频教程及测试项目文件。
STM32F103RCT6 EVB
Stm32f103rct6 开发板为用户提供了丰富的接口。相关参数:
- Arm 32位Cortex-M3处理器,最高频率72MHz;
- 最高 64KB SRAM 空间;
- 64 引脚,256KB FLASH;
- 板载 USB-TTL 串口,下载调试通信三合一;
- 板载 EEPROM、红外、JTAG。
评估板块分布
评估板块的详细描述
评估板块分布如下:
键盘和串口示意图如下:
STM32F103RCT6
- 灵活的GPIO设计,32位MCU
- 最大主频72MHz
- 连接接口:CAN、I2C、IrDA、Lin、SPI、UART/USART、USB
- FLASH:256KB
- 400kSPS,12位,8通道辅助ADC
- 电压电源(VCC/VDD):2V~6V
STONE TOOLbox 开发步骤
大致分为三个步骤:
- 使用STONE Toolbox(GUI设计软件)进行上位机软件设计;
- 实现MCU与串口屏幕之间的通信;
- 导入音频文件、图片文件。
STONE TOOLBox 安装
软件界面如下:
Keil 安装
- 链接:https://www.keil.com/
- 下载后解压
- 解压后打开文件夹
双击 c51v900.exe 文件,在弹出对话框中点击“下一步”。一直点击“下一步”即可。
STONE Tool 2019界面设计
使用已安装的2019版本工具,点击左上角的“新建项目”,然后点击“确定”。
随后将生成一个默认项目,默认背景为蓝色。选中该项目并右键点击,选择“删除”以移除背景。然后右键点击图片文件并点击“添加”以添加自定义图片背景,如下所示:
制作开机图片
首先,将所需图片导入项目,然后在设置中添加对应图片的序列号
点击“确定”,随后需要添加视频控件,设置开机图片播放完毕后的跳转界面,并进行以下配置。
制作语言选择界面
在此处需添加一个弹出菜单控件,并将按钮效果设置为图片1,然后将图片2设置为弹出界面。接下来:
分别添加按钮控件,并将键值修改为1和2。此处的键值主要用于在屏幕上显示所选语言,然后继续在界面0上添加一个按钮控件:
设置变量图标的最小值和最大值,并配置对应图片以实现菜单选择功能。
添加音频文件
这里需要制作按键声音效果。首先需获取音频数据。已开启呼吸机的声音效果功能。
首先导入音频文件。
然后在红色框内添加按钮操作控件,并添加图片跳转和音频文件0。
制作曲线
由于需要动态显示心率波形,需使用最重要的控件——曲线控件。并需配置呼吸机设置
首先添加曲线控件,使其覆盖背景网格,然后根据网格像素宽度配置y轴中心位置和曲线通道。此处选择通道0。
因此,串口指令可按以下方式使用
0xA5, 0x5A, 0x06, 0x84, 0x01, 0x00, 0x05, 0x01, 0x05
擦除指令如下:
0xA5, 0x5A, 0x03, 0x80, 0xEB, 0x56
STM32F103RCT6开发
打开Keil并导入项目文件,如下所示:
在此处需配置闪存算法以使用下载程序。点击选项找到闪存下载。算法修改如下:
此处使用按钮和串口,因此修改代码如下:
#include "led.h"
#include "delay.h"
#include "sys.h"
#include "key.h"
#include "usart.h"
#include "stdbool.h"
#include "stdlib.h"
#define CMD_LEN 9//21
//uint8_t wave_cmd[CMD_LEN] = {0x00, 0x04, 0x00, 0x08, 0x00, 0x0C, 0x01, 0x00, 0x01, 0x04, 0x01, 0x08, 0x01, 0x0C, 0x02, 0x00};
//uint8_t wave_cmd[CMD_LEN] = {0x00, 0x04};
uint8_t wave_cmd[CMD_LEN] = {0xA5, 0x5A, 0x06, 0x84, 0x01, 0x00, 0x05, 0x01, 0x05};
uint8_t data_buf_bat[] = {0xA5, 0x5A, 0x05, 0x82, 0x00, 0x18, 0xAA, 0x66};
uint8_t clr_cmd[6] = {0xA5, 0x5A, 0x03, 0x80, 0xEB, 0x56};
int main(void)
{
u8 t=0, coutn= 0, wave_flag = 0, i, j;
如需完整流程,请联系我们:
https://www.stone-hmi.com//contact
我们将于24小时内回复您。
医疗呼吸机STONE串口屏STM32项目!!!