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

【单片机毕业设计选题24017】-基于STM32的禽舍环境监测控制系统(蓝牙版)

系统功能:

系统分为主机端和从机端,主机端主动向从机端发送信息和命令,从机端

收到主机端的信息后回复温湿度氨气浓度和光照强度等信息。

主要功能模块原理图:

电源时钟烧录接口:

单片机和按键输入电路:

主机部分电路:

从机部分电路:

资料获取地址

主从机部分代码:

初始化代码: 

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

//蓝牙模块上报系统数据
 

void UpdateBleData(void){static uint8_t bleCnt = 0;bleCnt++;if(bleCnt>=BLE_UPDATE_INTER){bleCnt = 0;//显示从机地址编号 printf("SlaverAddr:01\r\n");//显示温湿度  printf("Temp:%02d Humi:%02d\r\n", getTempVal1, getHumiVal1);//显示甲烷和光照值printf("CH4:%04d Light:%04d\r\n", getCH4Val1, getLightVal1);//显示从机地址编号 printf("SlaverAddr:02\r\n");//显示温湿度  printf("Temp:%02d Humi:%02d\r\n", getTempVal2, getHumiVal2);//显示甲烷和光照值printf("CH4:%04d Light:%04d\r\n", getCH4Val2, getLightVal2);}}

主机请求从机数据:

//主机发送请求数据给从机void uart2SendData(void){ static uint8_t sendCnt = 0;sendCnt++;if(sendCnt>=2){sendCnt = 0;//分时读取两从机数据switch(uart2AddrIndex){case SLAVER_ADDR_1:       uart2TxBuff[0] = UART2_HEADER_DEF;uart2TxBuff[1] = SLAVER_ADDR_1;uart2TxBuff[2] = 0x00;uart2TxBuff[3] = uart2TxBuff[0]+uart2TxBuff[1]+uart2TxBuff[2];uart2SendPacket(uart2TxBuff, 4);uart2AddrIndex = SLAVER_ADDR_2;break;case SLAVER_ADDR_2:uart2TxBuff[0] = UART2_HEADER_DEF;uart2TxBuff[1] = SLAVER_ADDR_2;uart2TxBuff[2] = 0x00;uart2TxBuff[3] = uart2TxBuff[0]+uart2TxBuff[1]+uart2TxBuff[2];uart2SendPacket(uart2TxBuff, 4);uart2AddrIndex = SLAVER_ADDR_1;   break;default:break;}}}

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

通信协议等资料:

http://www.lryc.cn/news/377296.html

相关文章:

  • 每天一个数据分析题(三百七十八)- 系统聚类
  • 守护系统稳定性的关键技术之看门狗
  • 【Linux】进程间通信上 (1.5万字详解)
  • 测试用例设计:提升测试覆盖率的策略与方法
  • 【微服务】什么是Hystrix?一文带你入门Hystrix
  • AI学习指南机器学习篇-支持向量机超参数调优
  • 掉电安全文件系统分析
  • React-Redux学习笔记(自用)
  • 【机器学习】:线性回归模型学习路线
  • C++设计模式——Flyweight享元模式
  • Github 2024-06-19 开源项目日报 Top10
  • 【ARM】如何通过Keil MDK查看芯片的硬件信息
  • elasticsearch的安装和配置
  • 华为云下Ubuntu20.04中Docker的部署
  • 1、C++编程中的基本运算 - 课件
  • Java动态代理详解
  • Python基础学习文档
  • 数据结构与算法笔记:基础篇 - 分治算法:谈一谈大规模计算框架MapReduce中的分治思想
  • 如何清除anaconda3缓存?
  • 智慧校园发展趋势:2024年及未来教育科技展望
  • 【Python机器学习系列】针对特定数据构建管道流水线进行机器学习预测(案例+源码)
  • Python 学习 第三册 第12章 图的最优化问题
  • 建筑工程乙级资质与工程质量控制体系的构建
  • kafka学习笔记07
  • MQTTfx连接阿里云(详细版)
  • Vue3使用provide和inject实现孙组件给爷组件传递数据
  • 昇思25天学习打卡营第1天|基本介绍及快速入门
  • C#.Net筑基-类型系统②常见类型
  • 【人机交互 复习】第5章 交互式系统的需求
  • 知识的补充