毕业设计 基于STM32单片机无线ZIGBEE智能大棚土壤湿度光照检测

news2024/10/7 6:47:05

基于STM32单片机无线ZIGBEE智能大棚土壤湿度光照检测

  • 1、项目简介
    • 1.1 系统构成
    • 1.2 系统功能
  • 2、部分电路设计
    • 2.1 STM32F103C8T6核心系统电路设计
    • 2.2 光敏采集电路设计
    • 2.3 温度采集电路设计
  • 3、部分代码展示
    • 3.1 读取DS18B20温度值
    • 3.2 定时器初始化

1、项目简介

  • 选题指导,项目分享: https://gitee.com/lighter-z/embedded-base/tree/master
  • 点击查看详细资料

1.1 系统构成

  • 本系统由主机和从机组成。主从机通过zigbee模块CC2530实现数据通讯。
  • 主机由STM32F103C8T6单片机、光照采集、DS18B20温度检测、土壤湿度采集、zigbee模块组成。
  • 从机由STM32F103C8T6单片机、LCD1602液晶显示、zigbee模块组成。

1.2 系统功能

  • 1、主机检测温度、光照(0-100)和土壤湿度(0-100),然后通过zigbee模块将数据传输给从机。
  • 2、在从机接收到数据后,在液晶上实时显示温度、光照(0-100)和土壤湿度(0-100)。
  • 3、液晶显示具有实时性,如果主机停止发送数据,从机液晶将显示xx表示数据无效链接断开。

2、部分电路设计

2.1 STM32F103C8T6核心系统电路设计

STM32F103C8T6单片机最小系统电路由复位电路、时钟电路和电源电路。拥有这三部分电路后,单片机即可正常工作。

单片机最小系统原理图如下图所示:

实物图:

2.2 光敏采集电路设计

其具体电路原理图如下图所示:

实物图如下图所示:

2.3 温度采集电路设计

DS18B20是一款常用的高精度的单总线数字温度测量芯片。具有体积小,硬件开销低,抗干扰能力强,精度高的特点。

  • 电路设计
  • 实物图

3、部分代码展示

3.1 读取DS18B20温度值

short DS18B20_Get_Temp(void)
{
    u8 temp;
    u8 TL,TH;
	short tem;
    DS18B20_Start ();                    // ds1820 start convert
    DS18B20_Rst();
    DS18B20_Check();	 
    DS18B20_Write_Byte(0xcc);// skip rom
    DS18B20_Write_Byte(0xbe);// convert	    
    TL=DS18B20_Read_Byte(); // LSB   
    TH=DS18B20_Read_Byte(); // MSB  
	    	  
    if(TH>7)
    {
        TH=~TH;
        TL=~TL; 
        temp=0;//温度为负  
    }else temp=1;//温度为正	  	  
    tem=TH; //获得高八位
    tem<<=8;    
    tem+=TL;//获得底八位
    tem=(float)tem*0.625;//转换     
	if(temp)return tem; //返回温度值
	else return -tem;    
} 

3.2 定时器初始化

void TIM3_Int_Init(u16 arr,u16 psc)
{
  TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
	NVIC_InitTypeDef NVIC_InitStructure;

	RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); //时钟使能

	TIM_TimeBaseStructure.TIM_Period = arr; //设置在下一个更新事件装入活动的自动重装载寄存器周期的值	 计数到5000为500ms
	TIM_TimeBaseStructure.TIM_Prescaler =psc; //设置用来作为TIMx时钟频率除数的预分频值  10Khz的计数频率  
	TIM_TimeBaseStructure.TIM_ClockDivision = 0; //设置时钟分割:TDTS = Tck_tim
	TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //TIM向上计数模式
	TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); //根据TIM_TimeBaseInitStruct中指定的参数初始化TIMx的时间基数单位
 
	TIM_ITConfig(  //使能或者失能指定的TIM中断
		TIM3, //TIM2
		TIM_IT_Update ,
		ENABLE  //使能
		);
	NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn;  //TIM3中断
	NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;  //先占优先级0级
	NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;  //从优先级3级
	NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道被使能
	NVIC_Init(&NVIC_InitStructure);  //根据NVIC_InitStruct中指定的参数初始化外设NVIC寄存器

	TIM_Cmd(TIM3, ENABLE);  //使能TIMx外设
							 
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Learning Typescript and React in ts

目录 Basic typescript What is typescript? Configuring the TypeScript Compiler Fundamental build in types TypeScript Simple Types TypeScript Special Types Type: unknown Type: never Type: undefined & null Arrays Tuple Enums functions Ob…

Java集合专题

文章目录框架体系CollectionListArrayListLinkedListVectorSetHashSetLinkedHashSetTreeSetMapHashMapHashtableLinkedHashMapTreeMapPropertiesCollections框架体系 1、集合主要分了两组&#xff08;单列集合&#xff0c;双列集合&#xff09; 2、Collection接口有两个重要的子…

2.SpringSecurity认证

2.1登录校验流程 2.2认证原理 *源码流程: *自定义认证流程: *校验流程: *认证和校验连接: 2.3思路分析 *登录:

SQLI-Labs通关(2)5-7关

跟之前一样首先传参&#xff0c;然后查看注入点以及闭合 用and 11 and 12都没问题&#xff0c;接下来测试单引号 利用 and 12的时候会报错 利用order by来判断列数 得出一共三列 接下来就是联合查询 但是这个并不会回显 那么就利用盲注或者报错注入 在这里我们利用报错来测…

Vue3的生命周期函数

文章目录&#x1f31f; 写在前面&#x1f31f; 生命周期钩子函数&#x1f31f; 组合式API生命周期&#x1f31f; 写在最后&#x1f31f; 写在前面 专栏介绍&#xff1a; 凉哥作为 Vue 的忠实 粉丝输出过大量的 Vue 文章&#xff0c;应粉丝要求开始更新 Vue3 的相关技术文章&am…

OPPO 数据恢复:如何从 OPPO 手机恢复已删除的文件?

Oppo 手机以其精美的外观和拍摄的精美照片和视频而闻名。如果您不小心丢失了 OPPO 手机中珍贵的照片、视频等重要文件&#xff0c;并且为如何找回而苦恼&#xff0c;那么您来对地方了。我们其实有很多OPPO数据恢复方案&#xff0c;现在最重要的是尽快尝试这些方法&#xff0c;防…

Git 相关内容

目录 Git 相关流程和常用命令 Git workflow Git hooks Git 相关流程和常用命令 Git远程操作详解 - 阮一峰的网络日志 Git 使用规范流程 - 阮一峰的网络日志 常用 Git 命令清单 - 阮一峰的网络日志 Git workflow 啥玩意&#xff1a; 就是一个工作流程。可以比喻成一个河流…

用逻辑回归制作评分卡

目录 一.评分卡 二.导库&#xff0c;获取数据 三.探索数据与数据预处理 1.去除重复值 2.填补缺失值 3.描述性统计处理异常值 4.为什么不统一量纲&#xff0c;也不标准化数据分布 5.样本不均衡问题 6.分训练集和测试集 三.分箱 1.分多少个箱子才合适 2.分箱要达成什么…

Antlr4: 为parser rule添加label

1. parser rule中的label 1.1 简介 Antrl4语法文件Calculator.g4&#xff0c;stat和expr两个parser rule含有多个rule element&#xff0c;我们这两个parse rule的每个rule element添加了Alternative labels&#xff08;简称label&#xff09; 按照Antlr4的语法规则&#xff…

2022年显卡性能跑分排名表

2022年显卡性能跑分排名表&#xff08;数据来源于快科技&#xff09;这个版本的电脑显卡跑分榜第一的是NVIDIA GeForce RTX 3090 Ti显卡。由于显卡跑分受不同的测试环境、不同的显卡驱动版本以及不同散热设计而有所不同&#xff0c;所以显卡跑分会一直变化。 前二十名的台式电…

Linux(进程概念详解)

进程是如今编程领域非常重要的一个概念&#xff0c;进程是比较抽象的&#xff0c;不容易直接理解。因为进程与操作系统息息相关&#xff0c;因此在介绍进程之前&#xff0c;笔者打算先简易讲一下操作系统的工作流程&#xff0c;理解操作系统是如何管理软件和硬件的&#xff0c;…

垃圾收集器和内存分配(第五章)

《实战Java虚拟机&#xff1a;JVM故障诊断与性能优化 (第2版)》 Java 平台&#xff0c;标准版热点虚拟机垃圾回收调优指南 垃圾收集器虽然看起来数量比较多&#xff0c;但其实总体逻辑都是因为硬件环境的升级而演化出来的产品&#xff0c;不同垃圾收集器的产生总体可以划分为几…

智能优化算法应用:基于蚁狮优化算法的工程优化案例-附代码

智能优化算法应用&#xff1a;基于蚁狮算法的工程优化案例 文章目录智能优化算法应用&#xff1a;基于蚁狮算法的工程优化案例1.蚁狮算法2.压力容器设计问题3.三杆桁架设计问题4.拉压弹簧设计问题5.Matlab代码6.python代码摘要&#xff1a;本文介绍利用蚁狮搜索算法&#xff0c…

191、【动态规划】AcWing —— 900. 整数划分:完全背包解法+加减1解法(C++版本)

题目描述 参考文章&#xff1a;900. 整数划分 解题思路 因为本题中规定了数字从大到小&#xff0c;其实也就是不论是1 2 1 4&#xff0c;还是2 1 1 4&#xff0c;都会被看作是2 1 1 4这一种情况&#xff0c;因此本题是在遍历中不考虑结果顺序。 背包问题中只需考虑…

AcWing:并查集

并查集理论基础并查集的作用是什么&#xff1a;将两个集合合并。询问两个元素是否在一个集合当中。如果不使用并查集&#xff0c;要完成上述两个操作&#xff0c;我们需要&#xff1a;创建一个数组来表示某个元素在某个集合之中&#xff0c;如belong[x] a&#xff0c;即x元素在…

0201基础-组件-React

1 组件和模块 1.1 模块 对外提供特定功能的js程序&#xff0c;一般就是一个js文件 为什么拆分模块呢&#xff1f;随着业务逻辑增加&#xff0c;代码越来越多&#xff0c;越来越复杂。作用&#xff1a;复用js&#xff0c;简化js&#xff0c;提高js运行效率 1.2 模块化 当应用…

用gdb.attach()在gdb下断点但没停下的情况及解决办法

在python中&#xff0c;如果导入了pwntools&#xff0c;就可以使用里面的gdb.attach(io)的命令来下断点。 但是这一次鼠鼠遇到了一个情况就是下了断点&#xff0c;但是仍然无法在断点处开始运行&#xff0c;奇奇怪怪。 这是我的攻击脚本 我们运行一下。 可以看到其实已经运行起…

计算机网络模型、协议

ARP&#xff08;IP->MAC&#xff09;RARP&#xff08;MAC->IP&#xff09;TFTPHTTPDHCPNATARP&#xff08;IP->MAC&#xff09; 主机建立自己的ARP缓冲区存ARP列表 广播ARP请求&#xff0c;单播ARP响应 RARP&#xff08;MAC->IP&#xff09; 用于无盘工作站&am…

Java分布式全局ID(一)

随着互联网的不断发展&#xff0c;互联网企业的业务在飞速变化&#xff0c;推动着系统架构也在不断地发生变化。 如今微服务技术越来越成熟&#xff0c;很多企业都采用微服务架构来支撑内部及对外的业务&#xff0c;尤其是在高 并发大流量的电商业务场景下&#xff0c;微服务…

[1.#]第一章 计算机系统概述——知识回顾

第一章 计算机系统概述 知识回顾 &#xff08;对于考研408而言&#xff09; 这个章节主要以选择题形式考察。 总的来说&#xff0c;这个章节考察的深度、难度不会太大。另外&#xff0c;这个章节的分值占比是比较低的。 不过&#xff0c;对第一章的学习&#xff0c;有助于我们…