单片机学习小组
直播中

卢表镜

7年用户 1016经验值
私信 关注

如何利用stm32的串口/蓝牙控制LED灯的开关和亮度?

如何利用STM32的串口/蓝牙控制LED灯的开关和亮度?

回帖(1)

张秀华

2022-2-18 10:24:20
效果视频演示

  串口控制oled灯的开关/亮度


硬件模块
单片机一块

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("offn");               
                                        break  ;
                                        case 1:  
                                    GPIO_SetBits(GPIOA,GPIO_Pin_8);
                    printf("onn");  
                                        break  ;
                                        case 2:
                                    TIM_SetCompare2(TIM3,1000);
                                        printf("亮度1n");
                                        break  ;
                                        case 4:
                                    TIM_SetCompare2(TIM3,800);
                                        printf("亮度2n");
                                        break;
                                        case 5:
                                    TIM_SetCompare2(TIM3,300);
                                        printf("亮度3n");
                                        break;
          }
       
        }
}
举报

更多回帖

发帖
×
20
完善资料,
赚取积分