【单片机毕业设计选题24042】-基于无线传输的老人健康监护系统

系统功能:

系统操作说明:

上电后OLED显示 “欢迎使用健康监护系统请稍后”,两秒后显示Connecting...表示

正在连接阿里云,正常连接阿里云后显示第一页面,如长时间显示Connecting...请

检查WiFi网络是否正确。

第一页面第一行显示“体温阈值设定”,第二行显示获取到的体温值,第三行显示设定

的体温值,第四行显示体温高低状态。

第一页面下的按键操作:

短按B4按键可切换到第二页面。

短按B5按键增加体温设定阈值。

短按B6按键减小体温设定阈值。

短按B7按键语音播报体温值。

第二页面第一行显示“心率阈值设定”,第二行显示获取到的心率值,第三行显示设定的

心率值,第四行显示心率高低状态。

第二页面下的按键操作:

短按B4按键可切换到第三页面。

短按B5按键增加心率设定阈值。

短按B6按键减小心率设定阈值。

短按B7按键语音播报心率值。

第三页面第一行显示“压力阈值设定”,第二行显示获取到的压力,第三行显示设定的

压力,第四行显示压力高低状态。

第三页面下的按键操作:

短按B4按键可切换到第四页面

短按B5按键增加压力设定阈值

短按B6按键减小压力设定阈值

短按B7按键语音播报压力值

第四页面第一行显示“位置数据采集”,第二行显示检测到经度值,第三行显示检测到

的纬度值。

第四页面下的按键操作:

短按B4按键可切换到第一页面

短按B7按键语音播报经纬度信息

B3按键语音播报“紧急呼叫”

登录阿里云平台可以查看到系统上报的数据信息。

主要功能模块原理图:

电源时钟烧录接口:

单片机和按键输入电路:

传感器电路:

资料获取地址

系统主要功能模块代码

初始化代码:

  /* USER CODE BEGIN 1 */


  /* USER CODE END 1 */


  /* MCU Configuration--------------------------------------------------------*/


  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */

  HAL_Init();


  /* USER CODE BEGIN Init */

    InitVar();

  /* USER CODE END Init */


  /* Configure the system clock */

  SystemClock_Config();


  /* USER CODE BEGIN SysInit */


  /* USER CODE END SysInit */


  /* Initialize all configured peripherals */

  MX_GPIO_Init();

  MX_USART1_UART_Init();

  MX_USART2_UART_Init();

  MX_USART3_UART_Init();

  MX_ADC1_Init();

  /* USER CODE BEGIN 2 */

//uart2打开接收中断

    HAL_UART_Receive_IT(&huart2, (uint8_t*)&uart2RecBuff, 1);

//uart3打开接收中断

    HAL_UART_Receive_IT(&huart3, (uint8_t*)&uart3RecBuff, 1);

    

    InitOled();

    InitOledDisp();

//初始化ESP8266

    ESP8266_Init();  

    HAL_Delay(100);

    OledFill(0x00);     //全屏熄灭  


    if(InitDS18B20()==0)

    {

//        printf("%s", "DS18B20初始化成功");

//DS18B20在上电第一次读取时显示温度为85℃,这是正常的。

//85℃是DS18B20在上电复位后在温度寄存器内的对应数字量,

//这里DS18B20初始化成功后读一次值,避免出现85℃

        DS18B20GetTemp_SkipRom();

    }   

  /* USER CODE END 2 */

系统显示:
 

//处理OLED显示内容

void SystemDisplay(void)

{

    static uint8_t dispCnt = 0;


    dispCnt++;

    if(dispCnt>=DISP_UPDATE_INTER)

    {

        dispCnt = 0;

//显示不同页面

        if(dispPageIndex==DISP_PAGE_1)

        {

            OledDispPage1();

        }

        else if(dispPageIndex==DISP_PAGE_2)

        {

            OledDispPage2();

        }

        else if(dispPageIndex==DISP_PAGE_3)

        {

            OledDispPage3();

        }  

        else if(dispPageIndex==DISP_PAGE_4)

        {

            OledDispPage4();

        }         

    }

}

此设计提供的资料包含原理图PCB(包含PDF,AD,立创EDA三个版本),源代码,系统框图,主程序流程图,物料清单(包含使用到的器件手册),功能操作说明等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/763682.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

机器人入门路线及参考资料(机器人操作方向)

机器人(操作方向)入门路线及参考资料 前言1 数理基础和编程2 机器人学理论3 计算机视觉4 机器人实操5 专攻方向总结Reference: 前言 随着机器人和具身智能时代的到来,机器人越来越受到大家的重视,本文就介绍了机器人(…

方正小标宋简体、仿宋GB2312、楷体GB2312字体

文章目录 下载地址所有的文件wps使用方正小标宋简体、仿宋GB2312、楷体GB2312 字体用途方正小标宋简体仿宋GB2312楷体GB2312 下载地址 【金山文档 | WPS云文档】 方正小标宋简体、仿宋GB2312、楷体GB2312 https://kdocs.cn/l/cksgHDLneqDk 所有的文件 wps使用 方正小标宋简体…

一场前端框架的“武林大会”,三大主流框架之间的性能比较!!!

大家好,我是CodeQi! 在前端开发的江湖中,Vue.js、React 和 Angular 可谓是三大门派,个个身怀绝技,堪称“武林三杰”。 我,作为一名勤奋的代码侠士,决定深入研究这三大门派的奥义,探讨它们在性能方面的表现。且听我细细道来。 什么是 Vue? Vue.js 是由尤雨溪创建的前…

【Python机器学习】模型评估与改进——打乱划分交叉验证

打乱划分交叉验证是一种非常灵活的交叉验证策略。 在打乱划分交叉验证中,每次划分为训练集取样train_size个点,为测试集取样test_size个不相交的点。将这一划分方法重复n_iter次。 举例: import matplotlib.pyplot as plt import mglearnm…

2007年上半年软件设计师【上午题】试题及答案

文章目录 2007年上半年软件设计师上午题--试题2007年上半年软件设计师上午题--答案2007年上半年软件设计师上午题–试题

高优先线程

你开发的时候有么有遇到过一个问题:服务器的一个服务线程过几个小时断连一次,断连之后会马上重连这种情况。这是由于CPU负载较高,线程调度时将处理数据的线程挂起了一段时间导致的。 因此,我有考虑到把cpu的核心进行分散开来,就类…

【stm32】大一上学期笔记复制

砌墙单片机 外设是什么? ipage 8 nx轴 128 X0-127 y0-63 PWM脉冲宽度调制 PWM脉冲宽度调制 2023年10月13日 基本特性:脉冲宽度调制PWM是一种对模拟信号进行数字编码的方法。广泛引用于电机控制,灯光的亮度调节,功率控制等领域…

【C++】——【 STL简介】——【详细讲解】

目录 ​编辑 1. 什么是STL 2. STL的版本 3. STL的六大组件 1.容器(Container): 2.算法(Algorithm): 3.迭代器(Iterator): 4.函数(Function): 5.适配器(Adapter): 6.分配器(Allocator): 4. STL的…

Java开发者如何使用RunFlow内置的QLExpress

原文发表于 solo独立开发者社区《Java开发者如何使用RunFlow内置的QLExpress》 效率工具RunFlow完全手册之Java开发者篇 本文是为Java开发者写的手册,如果您不是Java开发者可以阅读我们的开发者篇手册,当然如果您感兴趣也可以继续阅读。 输入 qe 进入QL…

2024年注册安全工程师报名详细流程

一、用户注册 1.1全国专业技术人员资格考试报名服务平台 注册登录网址http://zg.cpta.com.cn/examfront/login/initLogin.html 1.2填写资料 1.3进入照片维护,上传证件照。 需要使用【照片审核处理工具】 将照片处理成符合要求的大小格式。 ①下载照片处理工具http:/…

CTFHUB-SSRF-FastCGI协议

本题需要用到: 在线编码网址:https://icyberchef.com/ gopherus工具:https://mp.csdn.net/mp_blog/creation/editor/139440201 开启题目,页面空白 使用gopherus工具,进入到gopherus工具目录 ./gopherus.py --explo…

【软件测试】 性能测试 JMeter脚本开发!

一、JMeter脚本开发实战 实例:查询一个城市的天气预报 使用抓包工具观察请求所产生的请求列表,筛选最核心API。 A、获取城市代码 http://toy1.weather.com.cn/search?cityname西安 B、获取天气 http://www.weather.com.cn/weather1d/101110101.sht…

【学习笔记】Redis学习笔记——第5章 跳跃表

第5章 跳跃表 有序集合,ZSet关键组成部分,时间复杂度媲美平衡树,且实现简单。 5.1 跳跃表的实现 可以简单理解为每个节点会有一些指向后面跨越N个节点的指针,比如说Node1不仅有指向Node2的指针,还可以有Node5的&…

尚硅谷k8s 2

p54-56 k8s核心实战 service服务发现 Service:将一组 Pods 公开为网络服务的抽象方法。 #暴露Deploy,暴露deploy会出现在svc kubectl expose deployment my-dep --port8000 --target-port80#使用标签检索Pod kubectl get pod -l appmy-depapiVersion: v1 kind: Service metad…

使用Python实现钉钉Stream模式服务开发及内部程序通信

1、什么是Stream模式 Stream 模式是钉钉开放平台提供的一种集成方式,它可以监听机器人回调、事件订阅回调和注册卡片回调。使用 Stream 模式接入,钉钉开放平台将通过 Websocket 连接与应用程序通讯,Stream 模式将极大降低接入门槛和资源依赖…

Android- Framework 非Root权限实现修改hosts

一、背景 修改system/etc/hosts,需要具备root权限,而且remount后,才能修改,本文介绍非root状态下修改system/etc/hosts方案。 环境:高通 Android 13 二、方案 非root,system/etc/hosts只有只读权限&…

工业智能网关的功能特点有哪些?工业智能网关在工业企业的应用-天拓四方

随着工业4.0时代的到来,数字化转型已成为工业企业提升竞争力、实现可持续发展的必经之路。在这一过程中,工业智能网关以其强大的连接、数据处理和安全防护能力,成为推动工业数字化转型的关键力量。本文将深入探讨工业智能网关的功能特点、应用…

基于Java中的SSM框架实现大学生就业预测系统项目【项目源码+论文说明】计算机毕业设计

基于Java中的SSM框架实现大学生就业预测系统演示 摘要 科技不断飞速发展,人类文明走向一个又一个的高峰。在科技进步的浪潮中,计算机技术得到了巨大的发展,随着技术的完善,生产成本的降低,计算机走进千家万户。计算机…

API-Window对象

学习目标: 掌握Window对象 学习内容: BOM(浏览器对象模型)定时器-延时函数JS执行机制location对象navigation对象history对象 BOM(浏览器对象模型): BOM是浏览器对象模型。 window对象是一个全…

Outlook 2021 LTSC for Mac v16.86.2中文正式版

Outlook 2021是微软公司推出的一款电子邮件、日历、联系人管理器和任务管理器应用程序。它是Microsoft 365套件的一部分,适用于Windows、macOS以及iOS和Android移动设备。Outlook 2021在界面设计、功能性和性能方面进行了多项改进,以帮助用户更有效地管理…