STM32 Proteus仿真OLED温度湿度DHT11控制系统-0006

STM32 Proteus仿真OLED温度湿度DHT11控制系统-0006

Proteus仿真小实验:

STM32 Proteus仿真OLED温度湿度DHT11控制系统-0006

功能:

硬件组成:STM32F103R6单片机 +OLED显示器+DHT11温度湿度+多个按键+4个继电器对应(加热、制冷、加湿、干燥)+24c02存储器

1.通过DHT11获取温度和湿度。

2.通过按键设定温度湿度目标值,温度低于目标值加热、高于制冷;湿度低于目标加湿、高于干燥。

3.个继电器对应(加热、制冷、加湿、干燥)。

4.OLED显示温度湿度 温度湿度目标值。通过按键配合显示器设置目标值。

有功能视频哦:

可以哔哩哔哩B站搜索UP主“单片机仿真汇”。在其空间中搜索关键词“OLED温度湿度”即可找到对应详细功能视频和介绍。

电路图:

部分源代码:

//初始化EEPROM

I2C_INIT();

//读取保存的设定值

duqusheding();

//初始化控制

PBout(13)=1;

PBout(13)=1;

PBout(14)=1;

PBout(15)=1;

PCout(8)=1;

PCout(9)=1;

PCout(10)=1;

PCout(11)=0;//一直开启空气循环风扇

PBout(5)=1;

//OLED初始化

UG_OLED_Init();

NVICConfig();

//RCC时钟开启

RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);

//定时器配置

TimerConfig(TIM3,10);//10mS定时器

TimerSW(TIM3, ENABLE);

while(1)

{

//读取温度和湿度

DHT11_receive(&dangqianshidu,&dangqianwendu);

//显示刷新

xianshishuaxing(dangqianwendu,dangqianshidu,mubiaowendu,mubiaoshidu,mode);

//温度湿度的控制以及报警

//若温度高于设定温度1度以上

if( dangqianwendu>(mubiaowendu+1) )

{

//则驱动温度循环风扇和制冷

PBout(13)=0; //开启温度循环

PBout(15)=0; //开启制冷

PBout(14)=1; //关闭加热

}

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值