提示:记录毕设

文章目录

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

前言

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


一、任务书

1.1设计(研究)目标:

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

1.2设计(研究)内容:

  • 题目的意义;
    1、各种传感器及设备的一般技术和特殊技术的学习:
    2、总体方案的选型设计:
    3、STM32单片机及其外围设备的软硬件系统的技术开发:
    4、系统的调试和总体运行原理
  • 其他设计内容;具体要求:
    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);  }}}

喜欢请点赞哦!

基于STM32蓝牙控制的app智能台灯设计相关推荐

  1. 基于51单片机与ESP8266的智能台灯设计

    一.硬件设计 1. 硬件选型 主控芯片:选用STC89C52RC,单片机通过串口与EPS866模块通信. LDO: 选用AMS1117-3.3V,ESP8266模块需要使用3.3V电源,使用1117- ...

  2. 【毕业设计】基于STM32的智能台灯设计 物联网 电子信息 APP远程控制

    文章目录 一.项目简介 二.项目组成 三.原理图设计 四.源码设计 五.APP设计 六.成品展示 视频教程 1.项目开题 2.原理图讲解 3.程序讲解 4.实物展示 一.项目简介 本设计是基于一款ST ...

  3. 基于STM32与OneNet平台的智能家居系统设计(代码开源含自制APP代码)

     前言:本文为手把手教学的基础物联网开发设计,项目包含对下位机(MCU对外设数据读取与控制)和上位机(包含服务平台和APP端)的设计.下位机选取STM32作为MCU,外设有LED灯和DHT11温湿度传 ...

  4. 基于STM32蓝牙智能手环脉搏心率计步器体温显示设计

    基于STM32蓝牙智能手环脉搏心率计步器体温显示设计 本设计由STM32F103C8T6单片机核心板电路+ADXL345传感器电路+心率传感器电路+温度传感器+lcd1602电路组成. 1.通过重力加 ...

  5. 基于单片机病房呼叫系统数码管显示房号设计-基于单片机工业生产现场的光照强度控制设计-基于单片机多功能智能台灯设计-基于单片机二维码LCD显示设计-基于单片机多功能时钟闹钟万年历控制系统设计【毕设分享】

    1641基于单片机病房呼叫系统数码管显示房号设计 设计思路:此设计实现的功能通过按键模拟房号,当按键按下时会将房号编号发送到数目管上进行显示,并通过声光进行提示.包含的电路有:数码管显示电路.按键电路 ...

  6. STM32毕业设计——基于STM32+MQTT+WiFi技术的智能家居系统设计与实现(毕业论文+程序源码)——智能家居系统

    基于STM32+MQTT+WiFi技术的智能家居系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于STM32+MQTT+WiFi技术的智能家居系统设计与实现,文章末尾附有本毕业设计的论文 ...

  7. STM32蓝牙控制循迹避障小车——2.循迹模块

    STM32蓝牙控制循迹避障小车源代码--2.循迹模块 注意-所需模块: 接线:四个循迹模块(从左到右分别为1,2,3,4) B4–第1个循迹模块的D0 B5–第2个循迹模块的D0 B6–第3个循迹模块 ...

  8. “药药切克闹”系列-基于STM32触摸屏的超级无敌智能电子密码锁(仿手机键盘26键设计,密码支持英文大写+英文小写+数字)

    项目名称:"药药切克闹"系列-基于STM32触摸屏的超级无敌智能电子密码锁(密码支持英文大写+英文小写+数字) CSDN:YANG-03                      ...

  9. STM32蓝牙控制循迹避障小车源代码——4.蓝牙控制

    STM32蓝牙控制循迹避障小车源代码--4.蓝牙控制 注意-所需模块: 蓝牙模块 接线: 串口通信 A2–RX A3–TX 所有的代码都是直接从工程里面复制的,实测是没有问题的. 蓝牙控制原理: 设计 ...

最新文章

  1. mysql 存储过程月单拆天单_MySQL之存储过程按月创建表
  2. 解决 mybatis-generator-maven-plugin 中 overwrite 配置无效的问题
  3. 编写代码,移除未排序的链表中的重复节点
  4. Java中getMessage()和printStackTrace方法
  5. 网络运维现状及发展趋势分析
  6. CVPR 2017 SANet:《SANet: Structure-Aware Network for Visual Tracking》论文笔记
  7. 分分钟一键部署Zabbix Server
  8. java虚拟机的生命周期
  9. troubleshoot之:GC调优到底是什么
  10. 【云周刊】第128期:支撑千亿营收背后秘密——首届阿里巴巴研发效能嘉年华...
  11. 吴恩达机器学习之逻辑回归理论部分
  12. C++---set/multiset用法介绍
  13. [渝粤教育] 西南科技大学 英语(A)2-在线考试复习资料
  14. BZOJ4025 : 二分图
  15. poj3274 找平衡数列(哈希加一点数学思维)
  16. 数据字典怎么写_做数据分析,我只会同环比,谁能教我怎么写结论?
  17. PC常见故障及解决思路汇总(系统方面)
  18. 趋肤效应实验报告_GB/T 4857.2
  19. springboot高校教室排课系统的设计与实现毕业设计-附源码221556
  20. css 取偶数节点_CSS选择器:奇偶匹配nth-child(even)

热门文章

  1. Docker容器---dockerfile简介
  2. 透明表——ABAP程序创建透明表
  3. 全球第二款3D打印药物!三迭纪产品获美国FDA新药临床试验批准
  4. 织梦cms教程:自定义表单添加提交时间
  5. react总结之jsx是什么,jsx语法规则
  6. 源NAT,目的NAT和PAT以及端口映射的区别?
  7. 我们这一代人的困惑 - 转载
  8. Java代码实现MD5加密的两种方式
  9. 下载更多动态壁纸为莫哈韦沙漠,或使自己的
  10. C语言项目-精忠报国-第二天-COORD windows.h头文件/conio.h getch()函数/game.c showMap()函数 文字突出/怪物计数与打印/随机攻击力 stblib.h