[其他ST产品]

基于stm32串口/蓝牙控制LED灯经验分享

[复制链接]
228|12
手机看帖
扫描二维码
随时随地手机跟帖
flycamelaaa|  楼主 | 2023-5-4 10:18 | 显示全部楼层 |阅读模式
硬件模块
单片机一块




USB转ttl接口一只







手动焊接LED灯两个(分别用于开关和亮度,引脚用排针引出更方便接线)




理论支持


1.串口通信(最常用且最基础的通讯,这里不展开)


2,PWM脉宽调制


脉冲宽度调制脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。


脉冲宽度调制是一种模拟控制方式,其根据相应载荷的变化来调制晶体管栅极或基极的偏置,来实现开关稳压电源输出晶 体管或晶体管导通时间的改变,这种方式能使电源的输出电压在工作条件变化时保持恒定,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。


程序思路


开启串口接收中断,变量保存接受到的数据,数据定义标志位,主函数switch函数走不同的结果


主函数代码


小贴士


本项目使用的串口测试,如需用蓝牙测试,只需要把rx,tx脚连到对应的蓝牙引脚即可


测试可使用商店的串口软件即可
  • int main(void)
  • {
  •         delay_init();                     //延时函数初始化
  •         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
  •         uart_init(9600);         //串口初始化为9600
  •         TIM3_PWM_Init(899,0);
  •         TIM_SetCompare2(TIM3,1000);
  •         LED_Init();
  •         while(1)
  •         {
  •             switch(flag)
  •          {
  •                                         case 0:
  •                                     GPIO_ResetBits(GPIOA,GPIO_Pin_8);
  •                     printf("off\n");
  •                                         break  ;
  •                                         case 1:
  •                                     GPIO_SetBits(GPIOA,GPIO_Pin_8);
  •                     printf("on\n");
  •                                         break  ;
  •                                         case 2:
  •                                     TIM_SetCompare2(TIM3,1000);
  •                                         printf("亮度1\n");
  •                                         break  ;
  •                                         case 4:
  •                                     TIM_SetCompare2(TIM3,800);
  •                                         printf("亮度2\n");
  •                                         break;
  •                                         case 5:
  •                                     TIM_SetCompare2(TIM3,300);
  •                                         printf("亮度3\n");
  •                                         break;
  •           }
  •         }
  • }

复制代码


使用特权

评论回复
童雨竹| | 2024-3-22 08:02 | 显示全部楼层

让PCB顶层和底层一样,将它们通过一些过孔(或通孔)连接

使用特权

评论回复
Wordsworth| | 2024-3-22 09:05 | 显示全部楼层

孔璧里头必须经过电镀

使用特权

评论回复
Clyde011| | 2024-3-22 10:08 | 显示全部楼层

需要将阻焊漆(阻焊油墨)覆盖在最外层的PCB设计布线上

使用特权

评论回复
公羊子丹| | 2024-3-22 11:01 | 显示全部楼层

电源中都有一个交流电压最大的节点

使用特权

评论回复
万图| | 2024-3-22 12:04 | 显示全部楼层

做多层板可将做好的两块双面板用特制的粘合剂“压合”起来

使用特权

评论回复
Uriah| | 2024-3-22 13:07 | 显示全部楼层

清除与电镀动作都会在化学过程中完成

使用特权

评论回复
帛灿灿| | 2024-3-22 15:03 | 显示全部楼层

将整个表面铺上一层薄薄的铜箔,并且把多余的部份给消除

使用特权

评论回复
Bblythe| | 2024-3-22 16:06 | 显示全部楼层

在开始电镀之前,必须先清掉孔内的杂物。

使用特权

评论回复
周半梅| | 2024-3-22 18:02 | 显示全部楼层

电容工作在额定的纹波电流下

使用特权

评论回复
Pulitzer| | 2024-3-22 19:05 | 显示全部楼层

在孔璧内部作金属处理后,可以让内部的各层线路能够彼此连接。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

519

主题

1699

帖子

0

粉丝