使用PKE8720DF-C13-F10(AMB26)开发板——板载LED呼吸灯效果实现(基于PWM实验)

目录

1. PWM基本知识和原理介绍

2. 呼吸灯效果原理介绍

3.  板载LED介绍

4. PKE8720DF-C13-F10(AMB26)引脚图和功能

5. 板载LED呼吸灯效果实现(基于PWM实验)

(1)材料准备

(2)代码修改

(3)线路连接

(4)实验结果


本文主要介绍如何基于PKE8720DF-C13-F10(AMB26)开发板的PWM功能来实现板载LED呼吸灯效果。实验开始前,还需要用户阅读使用PKE8720DF-C13-F10(AMB26)开发板——周期性点亮LED灯这篇文章,详细了解PKE8720DF-C13-F10(AMB26)开发板的特性、Linux编译环境准备、SDK code下载与编译生成bin文件、使用自带Image tool将bin文件烧到板子里面。

首先介绍一下PWM基本原理和呼吸灯原理。

1. PWM基本知识和原理介绍

PWM:Pulse Width Modulation,脉冲宽度调制,主要应用于测量、通信、功率控制与变换等方面。

占空比:一个脉冲周期内,高电平保持的时间与该PWM的时钟周期的时间之比。公式为:

D(占空比)=τ(电信号不为“0”的时间)/T(电信号为“0”的时间+电信号不为“0”的时间)*100%

例如一个PWM的频率是1000Hz,那么其时钟周期是1/1000Hz=1ms=1000us,如果高电平出现的时间是200us,占空比就是200:1000=20%。

2. 呼吸灯效果原理介绍

一般人眼睛对于75Hz以上的刷新率基本感觉不到闪烁,而对于85Hz以上的刷新频率完全没有闪烁感。平时所用的LED,当其亮灭频率大于50Hz时,人眼会产生视觉暂留效果,基本看不到闪烁,而是感觉灯的亮度有变化。例如对于LED灯的亮灭频率为100Hz的情况,时钟周期为1/100Hz=10ms,如果5ms开且5ms关,这时候人眼感受到的灯的亮度只有完全点亮时候的一半,也即可以理解成占空比为50%。所以,频率越高,占空比越大,LED越亮;占空比越小,LED越暗。通过改变占空比来改变LED灯的亮度,以达到呼吸灯的效果。下图展示实际光通量和人眼感觉的亮度与占空比的曲线图:

 

3.  板载LED介绍

 上图红色框内就是板载LED,由G、R、B三种LED组成,分别由PA12(Green),PA13(Red),PA14(Blue)三个pin控制。本文我们用的是PA12(Green)这个pin做的实验。

4. PKE8720DF-C13-F10(AMB26)引脚图和功能

由上图了解到,PA12使用的是PWM Channel 0,也可以看到下面的code里面也是这么用的。

5. 板载LED呼吸灯效果实现(基于PWM实验)

(1)材料准备

  • 1 块 PKE8720DF-C13-F10开发板
  • 1 根 USB转type-C数据线

(2)代码修改

本实验的代码位于~\ambd_sdk\project\realtek_amebaD_va0_example\example_sources\TIMER\raw\pwm\src\main.c,只需要修改64行和76行如下:

 

修改之后替换/project/realtek_amebaD_va0_example/src/src_hp里面的main.c,make all生成3个bin文件:

km0_boot_all.bin

km4_boot_all.bin

km0_km4_image2.bin

之后download image到板子。

(3)线路连接

用USB转type-C数据线连接开发板到PC上。

(4)实验结果

按开发板上的reset按键重置并启动板子,可以看到结果如以下视频显示:

手机拍摄有点模糊,但是还是可以通过视频看到板载LED变化过程为:灭-->渐亮-->最亮->渐暗-->灭......循环往复

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值