毕业设计 基于stm32舞台彩灯控制器设计app控制系统

简介: 毕业设计 基于stm32舞台彩灯控制器设计app控制系统

0、毕业设计选题原则说明(重点)

  • 选题之前,同学们要弄明白一件事情,做毕业设计是干什么用的!
  • 这里我告诉大家,毕业设计对于你来说,不是让你去搞研究,掌握运用所学知识的,也不是让你去比谁做的毕业设计多么牛逼,多么厉害。
  • 说白点,它的作用就是一个,让你顺利毕业,能够拿到学位证,毕业证而已!!!
  • 当你明白这一点后,作毕业设计的要求就是在满足老师的要求后,越简单越好,这样不但容易去做,而且你自己也容易去理解,掌握,同样也能花最少的钱!!!
  • 满足老师的要求,这个没办法,毕竟他是决定你是否能通过答辩的人。
  • 每年都有很多同学找到我的时候,后悔当初为什么要把功能写的那么复杂,后悔没有提前找我咨询一下!所以在这里提醒同学们,提交开题报告之前一定要多想想,咨询下以往的学长学姐,不要自己随便写一堆提交上去!!!
  • 大家找不到学长学姐的话,也可以找我咨询,我可以给大家一些建议
  • 点击此处即可咨询

1、项目简介

1.1 系统构成

本设计由STM32F103C8T6单片机核心板电路+蓝牙模块+RGB彩灯电路+舵机+红外检测电路组成。

1.2 系统功能

  • 1、基于stm32舞台彩灯控制器设计app控制系统有两种模式,自动模式与手动模式。
  • 2、手动模式下可以通过手机APP对RGB彩灯进行控制。
  • 3、可以通过APP控制RGB彩灯的颜色,旋转角度,亮度。
  • 4、自动模式下根据RGB彩灯会根据人体位置自动旋转。

2、部分电路设计

2.1 STM32F103C8T6核心系统电路设计

STM32F103C8T6单片机最小系统电路由复位电路、时钟电路和电源电路。拥有这三部分电路后,单片机即可正常工作。

单片机最小系统原理图如下图所示:

实物图:

2.2 WS2812RGB彩灯电路设计

其具体电路原理图如下图所示:

实物图如下图所示:

3、部分代码展示

3.1 控制WS2812显示颜色

void WS2812_send(uint8_t (*color)[3], uint16_t len)
{
  uint8_t i;
  uint16_t memaddr;
  uint16_t buffersize;
  buffersize = (len*24)+43; // number of bytes needed is #LEDs * 24 bytes + 42 trailing bytes
  memaddr = 0;        // reset buffer memory index
  while (len)
  { 
    for(i=0; i<8; i++) // GREEN data
    {
      LED_BYTE_Buffer[memaddr] = ((color[0][1]<<i) & 0x0080) ? TIMING_ONE:TIMING_ZERO;
      memaddr++;
    }
    for(i=0; i<8; i++) // RED
    {
        LED_BYTE_Buffer[memaddr] = ((color[0][0]<<i) & 0x0080) ? TIMING_ONE:TIMING_ZERO;
        memaddr++;
    }
    for(i=0; i<8; i++) // BLUE
    {
        LED_BYTE_Buffer[memaddr] = ((color[0][2]<<i) & 0x0080) ? TIMING_ONE:TIMING_ZERO;
        memaddr++;
    }
    len--;
 }

3.2 设置RGB灯的颜色,角度,亮度

void Set_Light_Color_Angle()
{
  //亮度量
  switch(USART_RX_BUF[4])
  {
    case Light_one: Light_Number = 5; break;
    case Light_two: Light_Number = 10; break;
    case Light_three: Light_Number = 15; break;
    case Light_fore: Light_Number = 20; break;
    case Light_five: Light_Number = 26; break;
  }
//  //颜色量
  switch(USART_RX_BUF[5])
  {
    case Color_black: Color_Number = 0; break;
    case Color_Red: Color_Number = 1; break;
    case Color_Orange: Color_Number = 2; break;
    case Color_Yellow: Color_Number = 3; break;
    case Color_Green: Color_Number = 4; break;
    case Color_Ching: Color_Number = 5; break;
    case Color_Blue: Color_Number = 6; break;
    case Color_Purple: Color_Number = 7; break;
  }
  //角度量
  if(Angle_Add == USART_RX_BUF[6])
  {
    Angle_Number += 10;               
    if(Angle_Number >= 1900)
    {
      Angle_Number = 1900;
    }
  }
  else if(Angle_Down == USART_RX_BUF[6])
  {
    Angle_Number -= 10;
    if(Angle_Number <= 1750)
    {
      Angle_Number = 1750;
    }
  }
  /*
    发送设置好的亮度与颜色数据
  */
  switch(Color_Number)
  {
    case 0: WS2812_send(rgb0,7); break;
    case 1: WS2812_send(&rgb_Red[Light_Number],7); break;
    case 2: WS2812_send(&rgb_Orange[Light_Number],7); break;
    case 3: WS2812_send(&rgb_Yellow[Light_Number],7); break;
    case 4: WS2812_send(&rgb_Green[Light_Number],7); break;
    case 5: WS2812_send(&rgb_Ching[Light_Number],7); break;
    case 6: WS2812_send(&rgb_Blue[Light_Number],7); break;
    case 7: WS2812_send(&rgb_Purple[Light_Number],7); break;
  }
}

实物图

相关文章
|
14天前
|
芯片
STM32F103标准外设库——中断应用/事件控制器(七)
STM32F103标准外设库——中断应用/事件控制器(七)
71 0
STM32F103标准外设库——中断应用/事件控制器(七)
|
14天前
|
传感器 编解码 数据处理
毕业设计|基于STM32单片机的水位浑浊度检测设计
毕业设计|基于STM32单片机的水位浑浊度检测设计
535 0
|
14天前
|
芯片
毕业设计|基于stm32单片机的app视频遥控抽水灭火小车设计
毕业设计|基于stm32单片机的app视频遥控抽水灭火小车设计
|
14天前
|
人工智能 前端开发 JavaScript
APP开发毕业设计|ssm爱心小屋公益机构智慧管理APP(二)
APP开发毕业设计|ssm爱心小屋公益机构智慧管理APP
APP开发毕业设计|ssm爱心小屋公益机构智慧管理APP(二)
|
14天前
|
人工智能 安全 搜索推荐
单片机毕业设计|基于stm32智能快递箱设计
单片机毕业设计|基于stm32智能快递箱设计
|
14天前
|
传感器 内存技术
毕业设计 江科大STM32的智能温室控制蓝牙声光报警APP系统设计
毕业设计 江科大STM32的智能温室控制蓝牙声光报警APP系统设计
|
14天前
|
机器学习/深度学习 传感器 语音技术
毕业设计|基于STM32单片机的语音识别控制智能停车场设计
毕业设计|基于STM32单片机的语音识别控制智能停车场设计
100 0
|
14天前
|
传感器 存储 编解码
毕业设计|基于STM32的酒精酒驾检测设计
毕业设计|基于STM32的酒精酒驾检测设计
165 0
|
14天前
|
传感器
毕业设计 基于STM32的单片机智能门禁热释人体感应报警设计
毕业设计 基于STM32的单片机智能门禁热释人体感应报警设计
|
14天前
|
移动开发 小程序
如何让uni-app开发的H5页面顶部原生标题和小程序的顶部标题不一致?
如何让uni-app开发的H5页面顶部原生标题和小程序的顶部标题不一致?