在智能衣柜中,使用异味传感器检测柜内异味值,当异味值大于设定值时会自动开启小风扇,小风扇起到一个排污去浊的功能,再加上温湿度传感器检测柜内的温度和湿度,当温湿度达到设定值时,加热片自动发热,起到一个降温除霉的作用。想要使小风扇和加热片自动开启或者关闭,就要使用继电器作为一个自动开关装置。
元器件链接:【淘宝】https://m.tb.cn/h.U6pnKbc?tk=dk7KdYCslzq CZ3457 「1 2 4 8路5V12V24V继电器模块带光耦隔离支持高低电平触发开发板」 点击链接直接打开 或者 淘宝搜索直接打开
元器件链接:【淘宝】https://m.tb.cn/h.UgZhnzy?tk=zBvfdYCxJBO CZ3457 「3D打印机 Makerbot 配件 挤出机小散热风扇4010 5/12/24V直流风扇」 点击链接直接打开 或者 淘宝搜索直接打开
元器件链接:【淘宝】https://m.tb.cn/h.UgZ75ZX?tk=QPgQdYCysp2 CZ0001 「小型PTC发热片5V12V24V电热芯陶瓷恒温LED灯珠拆换加热板烘干除潮」 点击链接直接打开 或者 淘宝搜索直接打开
继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用,可以用来控制5V的小风扇和加热片。

放一张继电器图,主要是让大家避避雷,我第一次使用的时候,一直没效果,上网搜索好多博客来看才明白输出端的线怎么接的,写在这里也是希望大家不用像我一样。
输入端口:外接5V电源,输入端哪里有个绿色框框,黑色跳帽可以控制继电器是高电平触发还是低电平触发。
输出端口:从左往右看,分别是NO1/NO2,COM1/COM2,NC1/NC2,代表常开,公共端,常闭三种状态。
继电器的两种状态,开和关,当继电器触发时,为打开状态,NOn口就会被使能,当继电器为关闭状态时,NCn口就会被使能,中间作为公共端连接输出。
元器件的线如何连接?
继电器为打开状态:小风扇红黑两根线子,红线接入继电器的NO1/NO2口,继电器的COM1/COM2拿一根公母杜邦线引出来接入5V电源,小风扇的黑线接STM32的GND口。
继电器为关闭状态:小风扇红黑两根线子,红线接入继电器的NC1/NC2口,继电器的COM1/COM2拿一根公母杜邦线引出来接入5V电源,小风扇的黑线接STM32单片机的GND口。连接图下图所示:
输入端:

输出端:

第一步:配置STM32单片机PC2,PC3口味GPIO_OUT输出

第二步:黑色跳帽插入H端,为高电平触发,在MCU上电时,初始化IO口为低电平输出,开漏输出,输出使能上拉电阻,并设置标签:FAN_IO,HOT_IO,如下图所示:

第三步:STM32Cubemaa生成keil代码。
第一步:因为加热片和小风扇的代码比较少和简单,就把他们合成一个文件去使用哦,在工程文件中添加小风扇和加热片.c和.h控制文件。

第二步:在fan&hot.h中添加以下代码:
#ifdef H_fan_HOT_H
#define H_fan_HOT_H
#include "main.h"
void FAN_Switch(uint8_t a);//¿ªÆô/¹Ø±Õ·çÉÈ
void HOT_Switch(uint8_t a);//¿ªÆô/¹Ø±Õ¼ÓÈÈÆ¬
#endif
第三步:在fan&hot.c中添加以下代码:
#include "fan&hot.h"
#include "gpio.h"
void FAN_Switch(uint8_t a)
{
if(a) //ÅжÏaÊÇ·ñÎªÕæÖµ
{
HAL_GPIO_WritePin(GPIOC,FAN_IO_Pin,GPIO_PIN_SET);
}
else
HAL_GPIO_WritePin(GPIOC,FAN_IO_Pin,GPIO_PIN_RESET); //ÉèÖÃPC8Òý½Å״̬Ϊ¸ßµçƽ
}
void HOT_Switch(uint8_t a)
{
if(a) //ÅжÏaÊÇ·ñÎªÕæÖµ
{
HAL_GPIO_WritePin(GPIOC,HOT_IO_Pin,GPIO_PIN_SET);
}
else
HAL_GPIO_WritePin(GPIOC,HOT_IO_Pin,GPIO_PIN_RESET); //ÉèÖÃPC8Òý½Å״̬Ϊ¸ßµçƽ
}
第四步:在main.c中加入新增.h文件:

第五步:在mian.c的while循环中打开/关闭小风扇,并在串口处打印输出。


看图可知,每隔5s打开/关闭小风扇,继电器控制小风扇/加热片成功。
继电器5s控制小风扇打开和关闭
看视频可知,小风扇5s打开,5s之后关闭的状态。
总结:上面部分我只是做了继电器控制小风扇的测试,如果想要做成达到预订异味值就开启风扇或加热片的效果,可以加上温度值进行判断,就是在while中加一个if 判断函数,就可以了哦。目前规划就是加紧把剩下的部分更新出来吧,争取1月之前更完。
有什么问题可以私信给我,我看到都会回的,当然直接要整个毕业设计的代码勿扰哈!
文章目录1.开发板选择*用到的资源2.串口通信(个人理解)3.代码分析(注释比较详细)1.主函数2.串口1配置3.串口2配置以及中断函数4.注意问题5.源码链接1.开发板选择我用的是STM32F103RCT6的板子,不过代码大概在F103系列的板子上都可以运行,我试过在野火103的霸道板上也可以,主要看一下串口对应的引脚一不一样就行了,不一样的就更改一下。*用到的资源keil5软件这里用到了两个串口资源,采集数据一个,串口通信一个,板子对应引脚如下:串口1,TX:PA9,RX:PA10串口2,TX:PA2,RX:PA32.串口通信(个人理解)我就从串口采集传感器数据这个过程说一下我自己的理解,
说在前面这部分我本来是合为一篇来写的,因为目的是一样的,都是通过独立按键来控制LED闪灭本质上是起到开关的作用,即调用函数和中断函数。但是写一篇太累了,我还是决定分为两篇写,这篇是调用函数篇。在本篇中你主要看到这些东西!!!1.调用函数的方法(主要讲语法和格式)2.独立按键如何控制LED亮灭3.程序中的一些细节(软件消抖等)1.调用函数的方法思路还是比较清晰地,就是通过按下按键来控制LED闪灭,即每按下一次,LED取反一次。重要的是,把按键与LED联系在一起。我打算用K1来作为开关,看了一下开发板原理图,K1连接的是单片机的P31口,当按下K1时,P31是与GND相连的,也就是说,当我按下去时
LL库和HAL库简介LL:Low-Layer,底层库HAL:HardwareAbstractionLayer,硬件抽象层库LL库和hal库对比,很精简,这实际上是一个精简的库。LL库的配置选择如下:在STM32CUBEMX中,点击菜单的“ProjectManager”–>“AdvancedSettings”,在下面的界面中选择“AdvancedSettings”,然后在每个模块后面选择使用的库总结:1、如果使用的MCU是小容量的,那么STM32CubeLL将是最佳选择;2、如果结合可移植性和优化,使用STM32CubeHAL并使用特定的优化实现替换一些调用,可保持最大的可移植性。另外HAL和L
本人是音乐爱好者,从小就特别喜欢那个随着音乐跳动的方框效果,就是这个:arduino上一大把对,我忍你很久了,我就想用mpy做,全网没有,行我自己研究。果然兴趣是最好的老师,我之前有篇博客专门讲音频,有兴趣的可以回顾一下。提到可视化频谱,必然绕不开fft,大学学过这玩意,当时一心玩,老师讲的一个字都么听进去,网上教程简略扫了一下,大该就是把时域转频域的工具,我大mpy居然没有fft函数,奶奶的,先放着。音频信息如何收集?第一种傻瓜式的ADC,模拟转数字,原始粗暴,第二种,I2S库,我之前博客有讲过,数据是PCM编码。然后又去学PCM编码,一学豁然开朗,舒服,以代码为例:audio_in=I2S
本文代码使用HAL库。文章目录前言一、MCP4017的重要特性二、MCP4017计算RBW阻值三、MCP4017地址四、MCP4017读写函数五、CubeMX创建工程(利用ADC测量MCP4017电压)、对应代码:总结前言一、MCP4017的重要特性蓝桥杯板子上的是MCP4017T-104ELT,如图1。MCP4017是一个可编程电阻,通过写入的数值可以改变电阻的大小。重点在于6引脚(W),5引脚(B
STM32OTA应用开发——通过USB实现OTA升级目录STM32OTA应用开发——通过USB实现OTA升级前言1环境搭建2功能描述3BootLoader的制作4APP的制作5烧录下载配置6运行测试结束语前言什么是OTA?百度百科:空中下载技术(Over-the-AirTechnology;OTA),是通过移动通信的空中接口实现对移动终端设备及SIM卡数据进行远程管理的技术。经过公网多年的应用与发展,已十分成熟,网络运营商通过OTA技术实现SIM卡远程管理,还能提供移动化的新业务下载功能。实际上,现在我们所说的OTA比百度百科的定义还要更广泛,OTA的形式已经不再局限于手机和SIM卡,只要涉及
目录SPI总线SPI总线概述 SPI总线分类SPI优点及缺点SPI接口硬件原理SPI四种工作模式 74HC595应用74HC595芯片概述74HC595封装及管脚功能74HC595工作原理 编辑 74HC595串行转并行点亮LED灯 程序实现 Proteus运行结构示意图SPI总线SPI总线概述 SPI(SerialPeripheralinterface):串行外围设备接口 用途:用来在微控制器与外围设备芯片之间实现数据交换 特点:高速、全双工、同步 SPI总线分类四线制全双工SPI(同时收发)MISO 主机输入/从机输出MOSI 主机输出/从机输入SCLK 串行时钟CS或
文章目录1简介2绪论2.1课题背景与目的3系统设计详细设计描述3.2硬件部分温度测量电路其他电路部分3.3软件部分主程序子系统程序温湿度程序流程键盘显示子程序3.4实现效果3.5部分相关代码4最后1简介Hi,大家好,这里是丹成学长,今天向大家介绍一个单片机项目基于单片机的智能温控农业大棚系统大家可用于课程设计或毕业设计单片机-嵌入式毕设选题大全及项目分享:https://blog.csdn.net/m0_71572576/article/details/1254090522绪论2.1课题背景与目的近年来我国的温室控制取得了长足的进步,首先在温室群控制方面,进行了初步的探索和理论研究,其次在温室
一、概述在之前的一篇博文中,记录了AT24C01、AT24C02芯片的读写驱动,先将之前的相关文章include一下:1.IIC驱动:4位数码管显示模块TM1637芯片C语言驱动程序2.AT24C01/AT24C02读写:AT24C01/AT24C02系列EEPROM芯片单片机读写驱动程序本文记录分享AT24C04、AT24C08、AT24C16芯片的单片机C语言读写驱动程序。二、芯片对比介绍型号容量bit容量byte页数字节/页器件寻址位可寻址器件数WordAddress位数/字节数备注AT24C044k5123216A2A149/1WordAddress使用P0位AT24C088k1024
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录一、设计原理1.DS1302介绍2.闹钟音乐播放原理二、程序设计1.DS1302.h2.ds1302.c3.music.h4.main.c三、电路图四、运行结果1.proteus仿真2.开发板实验五、总结六、附件提示:以下是本篇文章正文内容,下面案例可供参考一、设计原理1.DS1302介绍DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.0V~5.5V。该芯片采用普通32.768kHz晶振,DS1302工作时功耗很