大数跨境
0
0

零基础开发小安派-Eyes-DU之【PWM循环呼吸灯】

零基础开发小安派-Eyes-DU之【PWM循环呼吸灯】 安信可科技
2023-08-11
0
导读:上架催促中......

上周发布了新的开源硬件——小安派-Eyes-DU,DU板子亮点是什么?小安来解释下。



小安派-Eyes-DU支持USB OTG 功能,可以通过右侧的USB口外接SD卡或者摄像头等外设,来方便释放强大性能。




既然是开源硬件,那必然讲究一个DIY,今天小安亲自用小安派-Eyes-DU来制作一个PWM循环呼吸灯,来看看详细教程。





01

工程搭建



1.工程文件搭建


这里我建的文件夹名称是AiPi_Eyes_DU,刚建立的工程是没有工程文件的,我们需要进入芯片的SDK拉取examples中的demo文件来进行二次开发。本示例使用PWM来作为演示,所以我们需要拉取PWM的demo文件。

依次打开如下文件夹aithinker_Ai-M6X_SDK——>examples——>peripherals——>pwm_v2——>pwm_basic

复制pwm_basic下的所有文件,可以按住ctrl依次点击所有文件,复制并粘贴到我们刚刚建立的文件夹当中。


2.工程编译环境搭建


将工程文件复制过来只是第一步,还需要修改编译和烧录的工作路径。

(1)修改CmakeLists.txt

将project后面括号中的参数改成我们工程文件夹的名字

(2)修改flash_prog_cfg.ini

添加如下信息,注意[FW]中的编译名称,与工程文件夹一致

(3)修改Makefile

这一步最为关键,需要设置正确的编译路径到SDK,这里的路径要根据当前文件位置设置,在后期工程文件复杂的情况下,要确保能最终链接到芯片的SDK


至此,工程文件夹和编译环境就已经搭建完成了,我们的功能初始化和功能都在main文件中实现。







02

PWM呼吸灯功能实现



1.查看原理图和规格书

AiPi_Eyes_DU的原理图可以在嘉立创开源工程中查看:AiPi-Eyes-DU - 嘉立创EDA开源硬件平台

看到RGB三色灯分别由IO15、IO12和IO14控制。

在M61芯片的模组规格书中可以看到这三个IO口都支持PWM0

安信可官网Ai-M61-32S模组规格书:ai-m61-32s_v1.1.0.pdf


2.初始化PWM和GPIO


首先在头文件中添加bflb_gpio.h头文件


创建两个句柄为pwm和gpio,方便后续初始化函数的传参。

定义pwm_v2类型的结构体。


3.改变占空比,调节RGB灯亮度


先认识一个函数,该函数可以调节占空比,第一个参数为任务句柄,这里是"pwm",第二个参数为输出的通道,第三个参数为减数,设为0,方便后续调节百分比,第四个参数为被减数。该函数的作用是(被减数-减数)/计数值 * 100。如减数设置为0,被减数设置为500,计数值设置为1000,得到的占空比为(500-0)/1000 * 100%,为50%的占空比。

了解该函数后,可以在while里做逻辑处理实现呼吸灯效果。

这里附上完整的main.c代码。(可在下方更多资料中,点击原文链接复制







03

编译和烧录





04

更多资料


●安信可官网docs:https://docs.ai-thinker.com/du

●小安派-Eyes-DU嘉立创开源工程地址:https://oshwhub.com/ai-thiner_openteam/aipi-eyes-du

●原贴地址:安信可社区-零基础开发小安派-Eyes_DU之【PWM循环呼吸灯】














  热文回顾


1、10G微波雷达模组在智能家居中的应用

2、双85测试逐渐成为行业趋势,安信可Ai-WB2系列模组率先标配

3、安信可科技与矽典微达成战略合作






开发资料

https://docs.ai-thinker.com/

官方教程

安信可科技CSDN

安信可官网

https://www.ai-thinker.com





【声明】内容源于网络
0
0
安信可科技
全球领先的联网模组、智能家居等物联网硬件方案提供商。
内容 393
粉丝 0
安信可科技 全球领先的联网模组、智能家居等物联网硬件方案提供商。
总阅读94
粉丝0
内容393