基于STM32蓝牙控制的app智能台灯设计
创始人
2024-03-19 01:38:18
0

提示:记录毕设

文章目录

  • 前言
  • 一、任务书
        • 1.1设计(研究)目标:
        • 1.2设计(研究)内容:
  • 二、代码思路
  • 三、硬件设计
        • 3.1总体设计
        • 3.2蓝牙部分设计
  • 四、联系我们
  • 五、部分代码
  • 喜欢请点赞哦!

前言

基于STM32蓝牙控制的app智能台灯设计,主控使用STM32F103ZET6,在正点原子的精英板上开发(本人也在野火板子上测试成功)。


一、任务书

1.1设计(研究)目标:

针对台灯的个性化和智能化,设计了一套基于蓝牙的多功能台灯控制系统.首先用光敏传感器检测光照强度,用红外感应传感器检测是否有人,用超声波传感器检测使用者与台灯之间的距离,然后将这些检测信号传输到单片机,单片机将信号与设定值进行对比分析,再判断台灯的开/关状态,调节灯光亮度,对使用者的坐姿和使用时间作出语音提醒等.同时,相应参数实时显示在OLED屏和蓝牙终端,使用者通过蓝牙终端可以对台灯进行控制.与蓝牙的联机测试结果显示,系统功能强大,运行稳定
设计(研究)内容及具体要求:

1.2设计(研究)内容:

1、题目的意义;
2、各种传感器及设备的一般技术和特殊技术的学习:
3、精加车间环境的技术要求;
4、总体方案的选型设计:
5、STM32单片机及其外围设备的软硬件系统的技术开发:
6、系统的调试和总体运行原理
7、其他设计内容;具体要求:
1、硬件要求1张1号以上的大图:
2、软件以流程图方式表示:
3、有调试的说明。

二、代码思路

在这里插入图片描述

三、硬件设计

3.1总体设计

  • 基于蓝牙的多功能台灯控制系统是通过传感器检测周围环境,再利用微控制器进行分析处理,它不仅可以实现台灯的自动开/关、亮度调节功能,还可以根据使用者的坐姿和使用时间作出语音提醒.
  • 硬件设计框架如下:
    在这里插入图片描述

3.2蓝牙部分设计

  • 蓝牙HC05模块用来接收数据并将数据传输至单片机,再通过手机上的蓝牙串口助手发送数据.将蓝牙模块用TTL线与电脑连接,按模块上的按键再上电,进入AT模式.
  • 打开电脑串口调试器,设置好端口号、波特率,选择十六进制显示,就可以对蓝牙模块进行调试了.
  • 蓝牙控制App为现成的蓝牙串口助手,它有12个按键,选择其中4个按键作为台灯的控制按键,分别控制台灯开/关、灯光调亮、灯光调暗和自动/手动模式切换.将串口助手和蓝牙模块进行配对连接,模块上的LED灯由快闪变为2次/s的闪烁,表示连接成功.

四、联系我们

承接stm32单片机、STC系列单片机设计、嵌入式。咨询liaxi,
“2424644692”(qq)

五、部分代码

int main (void){volatile u8 t=0;volatile u8 i=0;volatile u8 key;	//按键volatile u16 led0pwmval = 499;//LED灯亮度值  0为最亮,499为最弱volatile u8 SD_Mode = 0;//手动模式volatile u16 adcx0;volatile u16 adcx1;NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2delay_init(168);      //初始化延时函数uart_init(115200);		//初始化串口波特率为115200LCD_Init();					//LCD初始化LED_Init();					//初始化LED KEY_Init(); 				//按键初始化Adc_Init(); 				//adc初始化TIM13_PWM_Init(500-1,84-1);	//84M/84=1Mhz的计数频率,重装载值500,所以PWM频率为 1M/500=2Khz.TIM_SetCompare1(TIM13,led0pwmval);	//修改比较值,修改占空比POINT_COLOR=RED; LCD_ShowString(30,50,200,16,16,"CANOE @ Light");	delay_ms(5000);
while(1)
{while (SD_Mode == 0)//自动模式{LCD_ShowString(30,70,200,16,16,"zidongmoshi");	LCD_ShowString(30,150,200,16,16,"LIGHT_VAL:");	key=KEY_Scan(0);		if(key==KEY0_PRES||key==WKUP_PRES)  //在自动模式下,如果检测到有按键按下,则退出自动模式进入手动模式{SD_Mode = 1;}TIM_SetCompare1(TIM13,499);adcx0=Get_Adc_Average(ADC_Channel_2,10);		//通过ADC1探测得到红外探测模块的输出值,当有人活动时会监测得到高电平  if (adcx0 >  1500)  //当探测得到高电平时,根据ADC通道3采集得到光敏电阻的值来调节亮度值{for(i=0;i<100;i++){adcx1=Get_Adc_Average(ADC_Channel_3,10);//采集得到光敏电阻的值,环境亮度越暗得到的值越小,亮度越高得到的值越大//adcx1的值处于1200~4000范围内led0pwmval = (adcx1 - 1200)/6;		TIM_SetCompare1(TIM13,led0pwmval);	//修改比较值,修改占空比POINT_COLOR=BLUE;//设置字体为蓝色 LCD_ShowxNum(110,150,(500-led0pwmval),4,16,0);     	   //显示 亮度值	delay_ms(100);	key=KEY_Scan(0);		if(key==KEY0_PRES||key==WKUP_PRES)  //在自动模式下,如果检测到有按键按下,则退出自动模式进入手动模式{SD_Mode = 1;i=100;}}}}led0pwmval = 300;while(SD_Mode == 1)  //手动模式下 按键增减LED亮度{LCD_ShowString(30,70,200,16,16,"shoudongmoshi");LCD_ShowString(30,90,200,16,16,"WK_UP:+  KEY0:-");	 POINT_COLOR=BLUE;//设置字体为蓝色      	 LCD_ShowString(30,150,200,16,16,"LIGHT_VAL:");	  t++;key=KEY_Scan(0);			  if(key==WKUP_PRES){		 if(led0pwmval<499)led0pwmval+=40;TIM_SetCompare1(TIM13,led0pwmval);	//修改比较值,修改占空比}else if(key==KEY0_PRES)	{if(led0pwmval>45)led0pwmval-=40;else led0pwmval=0;TIM_SetCompare1(TIM13,led0pwmval);	//修改比较值,修改占空比}	if(t==10||key==KEY0_PRES||key==WKUP_PRES) 	//WKUP/KEY1按下了,或者定时时间到了{LCD_ShowxNum(110,150,(500-led0pwmval),4,16,0);     	   //显示 亮度值LED0=!LED0;	   t=0;}delay_ms(10);	}}}

喜欢请点赞哦!

在这里插入图片描述

相关内容

热门资讯

东营区司法局:充电蓄能强本领,... 为进一步加强全区专职人民调解队伍建设,提升人民调解工作整体水平,东营区司法局于12月25日成功举办全...
捍卫品牌正当权益,比亚迪起诉自... 比亚迪起诉自媒体“龙哥讲电车”等账号一审胜诉,法院认定他们编造虚假信息、损害比亚迪声誉,判决其停止侵...
民进党当局对所谓“两岸关系条例... 12月26日,台湾《中国时报》报道,陆委会近日推动所谓“两岸人民关系条例”四项修正,包含:公务员赴陆...
住户养百余只猫引发邻里纠纷 北... 12月19日,随着住户曹某将100余只猫全部迁出,一场发生在北京石景山的邻里纠纷得以实质化解。 一住...
新修订的《河南省征兵工作条例》... 日前,省人大常务委员会发布公告,新修订的《河南省征兵工作条例》自2026年1月1日起施行。 据省征兵...
云南出台重要条例!明年1月1日... 《云南省县级人民代表大会常务委员会街道工作委员会工作条例》将于2026年1月1日起施行。12月26日...
第四批生态环境损害赔偿十大典型... 12月26日,生态环境部联合住房城乡建设部、水利部、农业农村部,共同发布第四批生态环境损害赔偿十大典...
海峡创新(300300)披露对... 截至2025年12月26日收盘,海峡创新(300300)报收于17.15元,较前一交易日上涨0.94...
年度“法规体检”报告亮相 备案... 中新社北京12月26日电 (记者 谢雁冰)督促纠正要求残疾人机动轮椅车登记应当具有本市常住户籍问题,...