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

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

3天内不再提示

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

AIoT行业洞察 来源:AIoT行业洞察 作者:AIoT行业洞察 2023-08-14 15:37 次阅读

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

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

wKgaomTZ2aWAKflWAAY6hyDX4v8309.pngwKgZomTZ2aWAIEsiAAHBlTW9UMI055.png

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

01工程搭建

1.工程文件搭建

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

wKgZomTZ2aaAEiGLAAAy6oqPZ4g740.png

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

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

wKgaomTZ2aaAU0utAAAQVgqFr7c227.pngwKgZomTZ2aaAWnGjAAASeCOGdh0372.png

2.工程编译环境搭建

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

(1)修改CmakeLists.txt

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

wKgaomTZ2aaAAa2OAAA4sSd13cA729.png

(2)修改flash_prog_cfg.ini

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

wKgZomTZ2aeAMA_tAAAg9QqCLAI787.pngwKgaomTZ2aeABLnCAAAmJvxwLV8445.png

(3)修改Makefile

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

wKgZomTZ2aeAAkxHAAArBysSS88081.png

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

02PWM呼吸灯功能实现

1.查看原理图和规格

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

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

wKgaomTZ2aeAA-5OAAAtaIEZlK0051.png

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

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

wKgZomTZ2aiANMO1AAA-rO2Entg116.png

2.初始化PWM和GPIO

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

wKgaomTZ2aiASX0ZAAALZIEZ9Ls533.png

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

定义pwm_v2类型的结构体。

wKgZomTZ2aiAD3byAABihILKOJg865.png

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

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

wKgaomTZ2amAG7IRAAAQnOTyZXs227.png

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

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

03编译和烧录

wKgZomTZ2amADm0DAAAjkO6-uTM677.png

wKgaomTZ2amAX_K1AA0v-iLAzHQ907.gif

审核编辑 黄宇

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

    关注

    114

    文章

    4901

    浏览量

    209963
  • 开源硬件
    +关注

    关注

    8

    文章

    180

    浏览量

    29325
  • 开发板
    +关注

    关注

    25

    文章

    4437

    浏览量

    94080
  • SDK
    SDK
    +关注

    关注

    3

    文章

    966

    浏览量

    44719
  • 呼吸灯
    +关注

    关注

    9

    文章

    107

    浏览量

    42482
收藏 人收藏

    评论

    相关推荐

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

    上周发布了新的开源硬件——小安派-Eyes-DUDU板子亮点是什么?小安来解释下。
    的头像 发表于 08-11 17:50 1401次阅读
    基于<b class='flag-5'>Eyes-DU</b>板子制作一个<b class='flag-5'>PWM</b><b class='flag-5'>循环</b><b class='flag-5'>呼吸</b>灯

    如何用小安派-Eyes-S1做一个电子木鱼?

    2024年的第一篇教程来了,本篇学习如何添加LVGL事件,并制作完成一个电子木鱼(小美苦苦哀求,我略微出手而已)。祝大家2024积德累功,心想事成!接下来看看如何用小安派-Eyes-S1做一个电子木鱼。
    的头像 发表于 01-13 15:18 604次阅读
    如何用<b class='flag-5'>小安</b>派-<b class='flag-5'>Eyes</b>-S1做一个电子木鱼?

    【mBot试用体验】板载RGB呼吸

    点欢快的轻音乐,手捧一杯咖啡或者绿茶,闲暇刻,休闲之余,想必那种感觉是极好的.... 大家应该都在单片机开发板上玩过“呼吸”,呼吸
    发表于 01-16 17:05

    PWM实现呼吸效果

    的是#11口。呼吸源码如下:void setup (){pinMode(11,OUTPUT);}void loop(){//循环语句,控制PWM亮度的增加for (int a=0;
    发表于 07-20 15:03

    关于呼吸亮度变化的问题

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

    通过PWM调制模拟呼吸

    //功能:通过PWM调制模拟呼吸//名称:呼吸#include //调用含有51专用寄存器的头文件;c51(用于单片机
    发表于 11-17 08:25

    用渐变的PWM信号实现LED呼吸的方法

    项目描述:用渐变的PWM信号实现LED呼吸。 LED由暗逐渐变亮,再由亮逐渐变暗循环。C语言代码如下
    发表于 11-18 07:21

    PWM实现呼吸的应用

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

    【CW32饭盒开发板试用体验】使用PWM实现呼吸

    =13&p=1),其中包括丰富的示例,涵盖了芯片的各种功能。但是这些例子都不是针对CW32饭盒开发板的,不能直接使用,今天就介绍如何修改其中的一个示例,来借助PWM功能实现呼吸
    发表于 05-25 23:00

    零基开发安信可小安-Eyes-S1【入门篇】——初识小安-Eyes-S1

    初识小安-Eyes-S1 前言:本教程针对零基础人员可以快速上手小安-
    发表于 09-08 11:06

    小安派-Eyes-S1/S2多功能开发板简介

    今天,我们在小安派放出新鲜的开发板产品AiPi-Eyes-S1(小安派-Eyes-S1)、AiPi-Ey
    的头像 发表于 06-19 10:10 532次阅读
    <b class='flag-5'>小安</b>派-<b class='flag-5'>Eyes</b>-S1/S2多功能<b class='flag-5'>开发</b>板简介

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

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

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

    安信可科技又来一款小安派开源硬件——小安派-Eyes-DU开发板,来看看参数~ 01概述 小安派-Eye
    的头像 发表于 08-07 14:52 565次阅读
    安信可开源硬件——<b class='flag-5'>小安</b>派-<b class='flag-5'>Eyes-DU</b><b class='flag-5'>开发</b>板

    小安派-Eyes-S1外设接口简介

    前言:本教程针对零基础人员可以快速上手小安派-Eyes-S1实现一些简单的应用开发,仅供参考学习,本人也在学习的过程中,感谢大家支持。
    的头像 发表于 09-18 09:55 485次阅读

    零基开发小安派-Eyes-S1【入门篇】——初识小安派-Eyes-S1

    前言:本教程针对零基础人员可以快速上手小安派-Eyes-S1实现一些简单的应用开发,仅供参考学习,本人也在学习的过程中,感谢大家支持。 小安
    的头像 发表于 09-18 15:41 431次阅读
    <b class='flag-5'>零基</b>础<b class='flag-5'>开发</b><b class='flag-5'>小安</b>派-<b class='flag-5'>Eyes</b>-S1【入门篇】——初识<b class='flag-5'>小安</b>派-<b class='flag-5'>Eyes</b>-S1