0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于Eyes-DU板子制作一个PWM循环呼吸灯

安信可科技 来源:安信可科技 2023-08-11 17:50 次阅读

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

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

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

01

工程搭建

1.工程文件搭建

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

0e26b04a-382b-11ee-9e74-dac502259ad0.png

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

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

0e386ff6-382b-11ee-9e74-dac502259ad0.png

0e4b7632-382b-11ee-9e74-dac502259ad0.png

2.工程编译环境搭建

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

(1)修改CmakeLists.txt

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

0e619412-382b-11ee-9e74-dac502259ad0.png

(2)修改flash_prog_cfg.ini

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

0e8c123c-382b-11ee-9e74-dac502259ad0.png

0e9f0cb6-382b-11ee-9e74-dac502259ad0.png

(3)修改Makefile

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

0eab567e-382b-11ee-9e74-dac502259ad0.png

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

02

PWM呼吸灯功能实现

1.查看原理图和规格

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

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

0eb7c8dc-382b-11ee-9e74-dac502259ad0.png

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

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

0edc63b8-382b-11ee-9e74-dac502259ad0.png

2.初始化PWM和GPIO

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

0f031364-382b-11ee-9e74-dac502259ad0.png

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

定义pwm_v2类型的结构体。

0f132c72-382b-11ee-9e74-dac502259ad0.png

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

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

0f284f1c-382b-11ee-9e74-dac502259ad0.png

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

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

0f334f16-382b-11ee-9e74-dac502259ad0.png0f479462-382b-11ee-9e74-dac502259ad0.png0f646d8a-382b-11ee-9e74-dac502259ad0.png

03

编译和烧录

0f85a86a-382b-11ee-9e74-dac502259ad0.png






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • PWM
    PWM
    +关注

    关注

    114

    文章

    5140

    浏览量

    213359
  • RGB
    RGB
    +关注

    关注

    4

    文章

    798

    浏览量

    58376
  • OTG
    OTG
    +关注

    关注

    2

    文章

    146

    浏览量

    45383
  • GPIO
    +关注

    关注

    16

    文章

    1196

    浏览量

    51896
  • 呼吸灯
    +关注

    关注

    10

    文章

    110

    浏览量

    42703

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

文章出处:【微信号:安信可科技,微信公众号:安信可科技】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

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

    性能。 既然是开源硬件,那必然讲究DIY,今天小安亲自用小安派-Eyes-DU制作
    的头像 发表于 08-14 15:37 744次阅读
    零基础开发小安派-<b class='flag-5'>Eyes-DU</b>之【<b class='flag-5'>PWM</b><b class='flag-5'>循环</b><b class='flag-5'>呼吸</b><b class='flag-5'>灯</b>】

    超级简单的呼吸制作

    用LED做一个呼吸常用的思路是利用PWM,随时间调整P
    发表于 10-16 16:56

    PWM实现呼吸效果

    ){ analogWrite(11,a); delay(8);//当前亮度的维持的时间,单位毫秒 }delay(800);//完成循环后等待的时间,单位毫秒}很简单很简单的几句代码就能实现
    发表于 07-20 15:03

    关于呼吸亮度变化的问题

    各位大神,我用飞思卡尔g128写了简单的呼吸程序, 当将for循环PWM_LOW=199
    发表于 01-20 21:32

    PWM输出制作呼吸

    PWM:脉冲宽度调制(Pulse width modulation)。PWM输出实验,制作呼吸
    发表于 08-18 07:10

    如何利用STM32制作呼吸

    如何利用STM32制作呼吸
    发表于 11-22 06:27

    如何制作呼吸

    Stduino小白练习第三弹--制作呼吸2019/11/29 星期五作者:Astilbe问题:如何利用Stduino制作
    发表于 01-05 06:51

    PWM实现呼吸的应用

    stm32实现PWM最简单方法前言PWM概念二、PWM应用输出比较功能框图三、PWM呼吸
    发表于 01-21 13:18

    如何制作键盘呼吸

    说到呼吸的设计,也许大家最先想到的就是苹果。很多人也都想自己做一个呼吸,起到装饰和工作状态指示效果。下面,我们就介绍几种
    发表于 06-11 10:04 6379次阅读
    如何<b class='flag-5'>制作</b>键盘<b class='flag-5'>呼吸</b><b class='flag-5'>灯</b>

    如何制作简易的呼吸

    呼吸顾名思义,灯光在微电脑控制之下完成由亮到暗的逐渐变化,感觉像是在呼吸。广泛被用于数码产品,电脑,音响,汽车等各个领域,起到很好的视觉装饰效果(见霹雳游侠中的汽车前扫描器)。下面就让我们也来
    的头像 发表于 08-02 17:08 3.2w次阅读

    STM32_PWM呼吸

    1、什么叫呼吸?由亮到暗逐渐变化,很有节奏感地伏,感觉好像人在呼吸,当手机收到消息,屏幕上的指示灯会渐变,比较显眼,能起到
    发表于 11-26 12:21 20次下载
    STM32_<b class='flag-5'>PWM</b><b class='flag-5'>呼吸</b><b class='flag-5'>灯</b>

    通过STM32实现PWM呼吸的教程

    顾名思义,就是的亮度的变化,由亮变暗,从暗变亮,有渐变,规律的变化,像是人的
    的头像 发表于 07-26 15:20 1.2w次阅读
    通过STM32实现<b class='flag-5'>PWM</b><b class='flag-5'>呼吸</b><b class='flag-5'>灯</b>的教程

    安派-Eyes-DU开发板的参数说明

    本周又来款小安派开源硬件——小安派-Eyes-DU开发板,来看看参数~
    的头像 发表于 08-06 10:18 604次阅读
    安派-<b class='flag-5'>Eyes-DU</b>开发板的参数说明

    安信可开源硬件——小安派-Eyes-DU开发板

    安信可科技又来款小安派开源硬件——小安派-Eyes-DU开发板,来看看参数~ 01概述 小安派-Eyes-DU用安信可M61模组作为控制核心,采用Type-C接口进行供电。所搭载
    的头像 发表于 08-07 14:52 769次阅读
    安信可开源硬件——小安派-<b class='flag-5'>Eyes-DU</b>开发板

    如何通过PWM一个呼吸

    接下来我们就来试试,通过PWMLED实现不同亮度的变化,也就是我们常见的呼吸了。 硬件
    的头像 发表于 11-27 11:40 850次阅读
    如何通过<b class='flag-5'>PWM</b>做<b class='flag-5'>一个</b><b class='flag-5'>呼吸</b><b class='flag-5'>灯</b>