51单片机的智能晾衣架

  设计功能

(1)电机的转动是通过继电器控制的。实际应用中继电器可以接其他负载;
(2)开机初始时为智能模式,通过光敏自动识别光线强弱(白天或夜晚),采用DHT11温湿度传感器检测空气的湿度,数码管显示湿度值;
(3)当湿度小于80%时,电机会相应的白天伸出或夜晚收回衣架,碰触相应的限位行程开关,停止转动。如果外面的湿度达到80%以上时,即使是白天衣架也会自动收回。
(4)在实际应用中行程开关安装在晾衣架的上下限位处,当晾衣架上升或下降到极限时,会碰触行程开关(设计中只是模拟,需要用手碰触),行程开关会给单片机信号,从而防止过卷,安全无误;
(5)当按下遥控板上的切换按键,实现智能模式与手动模式的切换。手动模式按一下伸出或收回键电机相应的转动,再按一下停止,晾衣架到限位即手动碰触行程开关会停止转动。

原理图:

原理图绘制软件采用AD2013。主要由51单片机+最小系统+无线收发模块+编码解码模块+电机模块+限位开关模块+数码管显示模块+湿度检测模块+光敏检测模块+继电器驱动模块+蜂鸣器模块+LED指示灯模块+按键模块等构成;

其总体硬件原理图如图所示。

仿真设计

仿真软件采用Protues7.8。

程序设计

程序采用C作为编程语言,使用Keil5作为编程软件,仅展示一部分;

void main()//主函数 
{
	uc testnum;
	light=0;
	buzz=1;
	led_zhishi=0;
	Timer0_Init();
	while(1)//进入死循环
	{
		work();//调用工作函数 
		display();
		if (FlagStartRH == 1)	 //温湿度转换标志检查
		{
            testnum = RH();
 			FlagStartRH = 0;
			humidity = U8RH_data_H;	 //读出湿度,只取整数部分
			if(humidity>=80)
			flag_HH=1;
			else 
			flag_HH=0;
			TR0 = 1;
		}
		display();
	}
}

//定时器0中断
void Timer0_ISR (void) interrupt 1 using 0
{
	ui RHCounter;
	TL0 = 0xb0;
	TH0 = 0x3c;     //定时器赋予初值

	//每5秒钟启动一次温湿度转换
    RHCounter ++;
    if (RHCounter >= 20)
    {
       FlagStartRH = 1;
	   RHCounter = 0;
	   TR0=0;
    }
}

关注公众号-单片机实例设计,发送“晾衣架”获取资料;

下载地址

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值