基于51单片机 智能风扇 设计

系统采用51单片机+DS18B20温度传感器+风扇+LCD1602液晶。

实现DS18B20采集温度,LCD1602液晶显示当前温度以及上下限值,风扇档位情况。
系统设置为三个档位,利用单片机PWM调速。
当温度低于下限时风扇停止转动。
当温度介于上下限之间时,风扇处于1档以50%速度转动。
当温度高于上限时,风扇处于2档全速转动。

可增加人体感应模块 检测到人体 风扇启动以及红外遥控功能 通过红外遥控替代按键设置功能
可增加手动模式在原有基础功上  用户可以自行控制风扇转速
可增加时间显示功能 年月日 时分秒 星期 按键也可以修改日期
可增加蓝牙模块  用户可以通过手机端app连接蓝牙控制风扇 开关以及相应档位
可增加蓝牙模块  用户不光以上功能,还可以查看到档位温度设置的上限下限值

可提供源码 原理图  材料清单  开题报告 参考文档 等

        /*QQ 2696472421     
  时间 2022年4月6日 00:34:04*/
/****************主函数***************/
void main()
{
	uchar value;
	time_init();                                    //初始化定时器 
	temperature = read_temp();	                    //先读出温度的值
	delay_1ms(750);	
	temperature = read_temp();	                    //先读出温度的值
	while(1)
	{		
		key();					                               //按键程序
		if(key_can > 0)
 			key_with();		    	                         //设置温度	
 		if(flag_300ms == 1)	                            //300ms 处理一次程序
		{	   
			flag_300ms = 0;	
			temperature = read_temp();	                   //先读出温度的值
			if(menu_1 == 0)
			{
	 			dis_smg[0] = smg_du[temperature % 10];	           //取温度的小数显示
				dis_smg[1] = smg_du[temperature / 10 % 10] & 0xdf; //取温度的个位显示  0xdf是显示小数点
				dis_smg[2] = smg_du[temperature / 100 % 10] ;	   //取温度的十位显示
				dis_smg[3] = 0xFF;	                        //不显示 
			}   
 			fengshan_kz();                               //风扇控制函数
			value ++;
			if(value >= 4)
			{
				value = 0;
				if(miao != 0)
				{
					miao --;                              //时间减1
				}
				if(miao == 0)
					flag_en = 0;
			}
			if(hw == 1)                             //感应到人
			{
				miao = 30;	                         //重新计时30秒
				flag_en = 1;
			}
		}
		display();		//数码管显示函数
		delay_1ms(1);
	}
}


 

  • 4
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值