查看: 4379|回复: 3

[原创] 【TYDE3.0 涂鸦智能 IoT开发板】-坏RGB灯魔改到正常

[复制链接]
  • TA的每日心情
    开心
    2018-11-24 11:19
  • 签到天数: 5 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2018-2-26 16:01:59 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 简简单单_3013189 于 2018-2-26 16:32 编辑

    1.RGB不能工作原因说明:
    背景:相信好多小伙伴收到板子后发现有些板子上的RGB灯无法工作!!!
    原因:板子上的RGB灯物料安装错误,查看了原理图的朋友可能知道,正常的RGB灯应该是只含有3个LED的,但是我们有些板子的RGB灯却是个高级货(WS2813),内置控制芯片,需要满足控制时序才能点亮,那么我们就来改改电路和时序让WS2813亮起来。

    2.WS2813芯片介绍:
    WS2813_1.PNG

    3.开发板硬件电路改动图
    【1】1脚对应NC用剪刀剪断,否则影响工作.
    【2】把5脚R灯对应的电阻换成0欧,把此脚当作RGB灯的地线端.(PB8).
    【3】把4脚G灯端当作WS2813的数据输入端(PB7),硬件不用修改,这里只是说明一下.
    Capture.PNG

    4.WS2813芯片时序介绍:
    Capture2.PNG

    5.RGB控制代码改动:
    【1】数据传输函数
    void Send_8bits(uint8_t dat) {
             uint8_t a;

             for(a=0;a<8;a++)   {
                       GPIO_SetBits(GPIOB, GPIO_Pin_ 7);     
                       If(dat & 0x80) {
                    asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");      
                     asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");      
                                asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");      
                                asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");      
                                asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");      
                                asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");      
                                dat=dat<<1;      
                                GPIO_ResetBits(GPIOB, GPIO_Pin_ 7);
                                asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");     
                       }     else     {
                                asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");        
                                dat=dat<<1;      
                                GPIO_ResetBits(GPIOB, GPIO_Pin_ 7);
                                asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");      
                                asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");      
                                asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");      
                                asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");      
                                asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");      
                                asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");   
                       }      
             }
    }  
    【2】控制灯光颜色函数
    void Send_2811_24bits(uint8_t dat1,uint8_t dat2,uint8_t dat3) {  
             Send_8bits(dat1);   // Red Value
             Send_8bits(dat2);   // Green Value
             Send_8bits(dat3);  // Blue Value
    }  
    【3】WS2813复位函数
    void rst() {
             uint16_t i;  
             GPIO_ResetBits(GPIOB, GPIO_Pin_ 7);
             for(i=0;i<100;i++);
    }
    【4】移植方法:
    需要把RGB_LED_control(uint8_t R, uint8_t G, uint8_t B)改为
    void RGB_LED_control(uint8_t R, uint8_t G, uint8_t B){
        GPIO_ResetBits(GPIOB, GPIO_Pin_ 8); //RGB 接地
        rst();//复位
        Send_2811_24bits(R,G,B);
    }

    祝你们好运,调好后RGB就能正常工作啦!下一篇发表我自己的测试结果,有问题可以回帖

    回复

    使用道具 举报

  • TA的每日心情
    开心
    2018-11-24 11:19
  • 签到天数: 5 天

    连续签到: 1 天

    [LV.2]偶尔看看I

     楼主| 发表于 2018-2-26 20:38:42 | 显示全部楼层
    附上改好后的代码,错误RGB就能工作了

    Mike_RGB.rar

    2.98 MB, 下载次数: 21

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    10 小时前
  • 签到天数: 3713 天

    连续签到: 39 天

    [LV.Master]伴坛终老

    发表于 2018-2-26 23:26:42 | 显示全部楼层
    厉害厉害
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    前天 21:15
  • 签到天数: 1403 天

    连续签到: 9 天

    [LV.10]以坛为家III

    发表于 2018-2-27 00:08:14 | 显示全部楼层
    我也魔改了。。。,硬件已经弄了,但还没写程序
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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



    手机版|小黑屋|与非网

    GMT+8, 2024-3-19 10:21 , Processed in 0.149496 second(s), 22 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.