查看: 910|回复: 1

[分享] 灯厂们背后的MCU,看LPC如何花式点灯(之五)

[复制链接]
  • TA的每日心情
    开心
    2024-3-26 15:16
  • 签到天数: 266 天

    [LV.8]以坛为家I

    3298

    主题

    6545

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    32017
    最后登录
    2024-4-9
    发表于 2020-10-22 10:47:15 | 显示全部楼层 |阅读模式
    灯厂们背后的MCU,看LPC如何花式点灯(之五)



    前期索引:


    之四:SCT点灯
    终于来到了最后一篇,这一篇我们总结下这种外设点灯的优点。之后我们会用Arduino上知名的插件NeoPixel-KnightRider移植到MCU,实现花式点灯。


    几种方法比较

    11.png
    我个人是比较倾向用EZH的实现WS2812这种串行协议的,一来用库简单,MCU开销很小。所以接下来移植NeoPixel-KnightRider这个库我们会以EZH的方式进行。

    移植NeoPixel-KnightRider


    NeoPixel-KnightRider是结合Arduino开发板和AdaFruit NeoPixel灯条设计的一个流水灯的代码库,可以实现呼吸灯等显示效果。
    12.png
    NeoPixel-KnightRider配合Arduino


    其代码比较简单,其核心API就这几个
    -knightRider() 呼吸流水灯的灯效
    -clearStrip() 熄灭灯带所有的灯
    -dimColor()设定灯的亮度
    -colorWheel()普通流水灯的灯效
    根据NeoPixel-KnightRider的API我们按照SDK的API风格改成了:
    -WS2812Strip_KnightRider()
    -WS2812_StripClear()
    -WS2812_ColorDim()
    -WS2812_ColorWheel()


    增加了WS2812_StripInit() API用于初始化
    增加了独立的WS2812_StripShow() API用于把颜色数据发送个WS2812
    实际应用中,我们一般调用
    WS2812_StripInit()完成初始化
    WS2812Strip_KnightRider() 跑马灯


    具体可以参看如下代码,比较简单
    13.png
    这里我们搭了个实际的demo,用的是P0_26引脚(LPC55S69-EVK的P17的D11脚)接的WS2812的Data In数据线,5V和GND直接从LPC55S69-EVK的P16的+5V和GND引出的。
    江湖规矩,上图。


    图中,红线是+5V,黑线是GND,棕线是数据线。
    14.png
    LPC55S69-EVK连接WS2812灯带


    连接好后,别忘了根据灯带上WS2812的个数调整WS2812_PIXELS的值。这里我们设定为80。
    17.png
    OK,让我们看看最终的效果吧。
    视频稍等
    有朋友问,在哪里可以获得源码,作者已经把源码放在了恩智浦MCU社区,可以到那里下载:
    LPC驱动WS2812 LED灯带的几种姿势


    签到签到
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2023-2-15 00:12
  • 签到天数: 969 天

    [LV.10]以坛为家III

    175

    主题

    2843

    帖子

    34

    金牌会员

    Rank: 6Rank: 6

    积分
    7092
    最后登录
    2023-4-20
    发表于 2020-10-24 08:27:29 | 显示全部楼层
    有意思,回头买条灯带玩玩!!!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-4-24 14:46 , Processed in 0.123495 second(s), 23 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表