当前位置: 首页 > news >正文

【单片机毕业设计选题24095】-基于手机端的电池电压采集系统

系统功能:

系统上电后,OLED显示三组18650锂电池电压。

第一行显示第一组锂电池电压

第二行显示第二组锂电池电压

第三行显示第三组锂电池电压

第四行显示电压设定阈值

短按B4按键增加电压设定阈值

短按B5按键减小电压设定阈值

如果任意一组电池电压小于电压设定阈值则蜂鸣器报警

蓝牙连接后,手机可收到系统上报的信息。

主要功能模块原理图:

电源时钟烧录接口:

单片机和按键输入电路:

传感器采集电路:

继电器输出电路:

资料获取地址

系统主要功能模块代码

初始化代码:

  /* 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_ADC1_Init();/* USER CODE BEGIN 2 *///在HAL库初始化串口1后调用HAL_Delay(100);SetUart1RxToInput();HAL_Delay(50);//uart1打开接收中断HAL_UART_Receive_IT(&huart1, (uint8_t*)&uart1RecBuff, 1);InitOled();InitOledDisp();/* USER CODE END 2 */

系统控制代码;
 

//系统信息更新void SystemControl(void){static uint8_t updateCnt = 0;updateCnt++;   if(updateCnt>=SYSTEM_UPDATE_INTER){updateCnt = 0;UpdateBleData();} ReadVoltageVal();}

系统显示:
 

//显示第一页面的温湿度和火焰传感器状态void SystemDisplay(void){char textBuf[20];//第一行显示电池1电压值sprintf(textBuf,"Bat1:%5.1f", battery1Vol);OledShowString(0, 0, (uint8_t*)textBuf, OLED_FONT_8X16); //测试8*16字符//第二行显示电池2电压值sprintf(textBuf,"Bat2:%5.1f", battery2Vol);OledShowString(0, 2, (uint8_t*)textBuf, OLED_FONT_8X16); //测试8*16字符//第三行显示电池3电压值sprintf(textBuf,"Bat3:%5.1f", battery3Vol);OledShowString(0, 4, (uint8_t*)textBuf, OLED_FONT_8X16); //测试8*16字符//第四行显示电压设定值sprintf(textBuf,"SetVal:%2d", setBatVal);OledShowString(0, 6, (uint8_t*)textBuf, OLED_FONT_8X16); //测试8*16字符}

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【一对一模型讲解】SABO-Transformer-LSTM多变量回归预测(减法平均算法)
  • LeetCode题练习与总结:第N高的薪水--177
  • 蓝桥杯 Python 研究生组-2023-省赛-工作时长
  • 【传输层协议】UDP和TCP协议
  • 3年亏11亿元,博泰车联网没沾上汽车智能化的光?
  • 互联网医院系统源码与医保购药APP开发的完整技术指南
  • 常见离线语音识别模块功能说明——天问ASR;机芯智能;海凌科;轻语音
  • 【AI绘画】fal/AuraFlow-v0.2出现 delete the irrelevant ones 错误
  • Javaweb项目|ssm基于web的健身中心管理系统的的设计与实现jsp
  • media-server-代码解析-语法篇-01
  • 测试面试宝典(四十三)—— 接口测试流程
  • 代码随想录算法训练营第三十四天 | 62.不同路径、63. 不同路径 II、343. 整数拆分、96. 不同的二叉搜索树
  • MySQL是如何实现数据排序的
  • 预测各种开发语言的市场占比
  • 【过题记录】 8.2 hddx
  • #Java异常处理
  • 【391天】每日项目总结系列128(2018.03.03)
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • Electron入门介绍
  • IOS评论框不贴底(ios12新bug)
  • JAVA 学习IO流
  • Linux CTF 逆向入门
  • npx命令介绍
  • python 装饰器(一)
  • Python学习之路16-使用API
  • React系列之 Redux 架构模式
  • 阿里云Kubernetes容器服务上体验Knative
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 分布式事物理论与实践
  • 关于Java中分层中遇到的一些问题
  • 计算机常识 - 收藏集 - 掘金
  • 前端代码风格自动化系列(二)之Commitlint
  • 如何合理的规划jvm性能调优
  • 事件委托的小应用
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • 数据库巡检项
  • ​力扣解法汇总946-验证栈序列
  • #大学#套接字
  • $L^p$ 调和函数恒为零
  • (04)odoo视图操作
  • (4)事件处理——(2)在页面加载的时候执行任务(Performing tasks on page load)...
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第5节(封闭类和Final方法)
  • (Redis使用系列) Springboot 整合Redisson 实现分布式锁 七
  • (第一天)包装对象、作用域、创建对象
  • (附源码)spring boot校园健康监测管理系统 毕业设计 151047
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (论文阅读32/100)Flowing convnets for human pose estimation in videos
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (一)十分简易快速 自己训练样本 opencv级联haar分类器 车牌识别
  • (转)菜鸟学数据库(三)——存储过程
  • .form文件_SSM框架文件上传篇
  • .md即markdown文件的基本常用编写语法
  • .NET 8 中引入新的 IHostedLifecycleService 接口 实现定时任务
  • .net core 6 集成和使用 mongodb