272-基于stm32单片机智能晾衣杆控制系统(程序+原理图+元器件清单)
·
一:功能介绍
1、实物组成部分:采用stm32f103c8t6核心板+DHT11温湿度传感器+DS1302时钟模块+光敏传感器+蜂鸣器+LCD1602+LED+独立按键;
2、采用DHT11传感器采集温湿度数据;
3、采用光敏传感器检测光照值;
4、LCD1602显示温湿度、光照值、时分秒、光照阈值、湿度阈值;
5、通过独立按键设置光照阈值和湿度阈值;
6、当采集湿度值大于设置值,蜂鸣器报警提醒(下雨提醒),LED灭掉(模拟晾衣架关闭状态);
7、当光照值大于设置值并且湿度低于设置阈值,LED打开(模拟晾衣架打开状态);
二:实物演示视频
272-基于stm32单片机智能晾衣杆控制系统(程序+原理图+元器件清单)
三:程序代码预览(采用keil5编写,使用的C语言,程序有中文注释,新手容易看懂)
特别注意:下载资料包以后一定要先解压! !!(建议解压到桌面上,文件路径太深会导致程序打开异常),解压后再用keil5打开。


void Display(void){char xxx=0,yyy=0;//T1 温度WrByte1602(0,0,'T'); //.WrByte1602(0,1,'='); //.WrByte1602(0,2,AsciiCode[wendu%100/10]);WrByte1602(0,3,AsciiCode[wendu%10]);WrByte1602(0,4,' ');//T2 湿度WrByte1602(0,5,'H'); //.WrByte1602(0,6,'='); //.WrByte1602(0,7,AsciiCode[shidu%100/10]);WrByte1602(0,8,AsciiCode[shidu%10]);WrByte1602(0,9,' ');//T3 光强WrByte1602(0,10,'G'); //.WrByte1602(0,11,'='); //.WrByte1602(0,12,AsciiCode[guangqiang%1000/100]);WrByte1602(0,13,AsciiCode[guangqiang%100/10]);WrByte1602(0,14,AsciiCode[guangqiang%10]);WrByte1602(0,15,' ');xxx=0;yyy=1;WrByte1602(yyy,xxx++,AsciiCode[shi%100/10]);WrByte1602(yyy,xxx++,AsciiCode[shi%10]);WrByte1602(yyy,xxx++,':');WrByte1602(yyy,xxx++,AsciiCode[fen%100/10]);WrByte1602(yyy,xxx++,AsciiCode[fen%10]);WrByte1602(yyy,xxx++,':');WrByte1602(yyy,xxx++,AsciiCode[miao%100/10]);WrByte1602(yyy,xxx++,AsciiCode[miao%10]);WrByte1602(yyy,xxx++,' ');WrByte1602(yyy,xxx++,'G');WrByte1602(yyy,xxx++,AsciiCode[gz%100/10]);WrByte1602(yyy,xxx++,AsciiCode[gz%10]);WrByte1602(yyy,xxx++,' ');WrByte1602(yyy,xxx++,'S');WrByte1602(yyy,xxx++,AsciiCode[sd%100/10]);WrByte1602(yyy,xxx++,AsciiCode[sd%10]);WrByte1602(yyy,xxx++,' ');}int main(void){float vol;//ADC电压值//时钟配置SystemInit();SystemCoreClockUpdate();//引脚配置GPIO_Configuration();//LCD1602初始化Init1602();NVICConfig();//RCC时钟开启RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);DS1302_Init();ADC_Set();delay_ms(300);//DS1302_Write_Time();DS1302_Get_Time(time_data); //读取时间shi=time_data[9]*10+time_data[10];fen=time_data[11]*10+time_data[12];miao=time_data[13]*10+time_data[14];DHT11_receive(&shidu,&wendu);while (1){delay_ms(10);//计算光强vol = ADC_GetConversionValue(ADC1);vol = 100-(vol)*(3.3/4096)*30;;//根据阻值计算光强guangqiang =vol;//读取温湿度DHT11_receive(&shidu,&wendu);DS1302_Get_Time(time_data); //读取时间shi=time_data[9]*10+time_data[10];fen=time_data[11]*10+time_data[12];miao=time_data[13]*10+time_data[14];//显示全部参数Display();//按键扫描anjiansaomiao();if(shidu>sd ){PAout(8)=0;//蜂鸣器打开PBout(10)=0;//关闭晾衣架}else PAout(8)=1;//蜂鸣器关闭if(guangqiang>gz&&shidu<=sd )//光强大于设置值 湿度低于等于设置值 打开晾衣架{PBout(10)=1;}else PBout(10)=0;//否则关闭}}
四:原理图展示(源文件采用Altium Designer打开,公众号有安装包)


五:实物图展示


六:元器件清单展示

7:资料清单展示(文件中包含的相关资料)

更多推荐



所有评论(0)