爱板网论坛

查看: 732|回复: 3

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

[复制链接]

主题

好友

234

积分

秀才

  • TA的每日心情
    无聊
    2018-2-27 13:53
  • 签到天数: 4 天

    连续签到: 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就能正常工作啦!下一篇发表我自己的测试结果,有问题可以回帖

    回复

    使用道具 举报

    主题

    好友

    234

    积分

    秀才

  • TA的每日心情
    无聊
    2018-2-27 13:53
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]偶尔看看I

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

    Mike_RGB.rar

    2.98 MB, 下载次数: 20

    回复

    使用道具 举报

    主题

    好友

    7476

    积分

    状元

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

    连续签到: 21 天

    [LV.Master]伴坛终老

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

    使用道具 举报

    主题

    好友

    5080

    积分

    状元

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

    连续签到: 5 天

    [LV.7]常住居民III

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

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

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

    手机版|爱板网

    GMT+8, 2018-6-22 17:04 , Processed in 0.095827 second(s), 16 queries , MemCache On.

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

    苏公网安备 32059002001056号

    Powered by Discuz!

    返回顶部