发新帖我要提问
12
返回列表
打印
[PIC®/AVR®/dsPIC®产品]

谁做过3个RGB的LED如何做成酷炫彩灯?

[复制链接]
楼主: HT农民
手机看帖
扫描二维码
随时随地手机跟帖
21
HT农民|  楼主 | 2019-12-20 11:25 | 只看该作者 回帖奖励 |倒序浏览
网上找不到相关的代码,有谁会有?能不能发一份我看看abcde9192@163.com 谢谢,原理是一个三基色LED(共阳),用3个IO口来驱动,每个IO改变占空比得出对应的256色出来,做成有呼吸灯的效果,跟室外彩灯一样就可以。

使用特权

评论回复
评论
kavent 2019-12-21 22:07 回复TA
首先你的是什么单片机?用的引脚带不带PWm功能 ,如果没有PWM功能也没事,可以通过定时器模拟一下,就是占用点CPU时间而已!不是太难的事! 
22
wsndg| | 2019-12-20 15:13 | 只看该作者
问题你都搞错了 三根线 其中两个是电源线和GND 还有一跟是数据线  所以MCU只需一个IO即可驱动
void send_24bit(uint G,uint R,uint B)
{
      for(i=0;i<8;i++)
    {
        if(R&0x80)
         {
            DI=1;
            NOP();NOP();NOP();NOP();NOP();NOP();NOP();
            DI=0;
        }
        else
        {
            DI=1;
            NOP();NOP();NOP();
            DI=0;

        }
       R=R<<1;
    }
     
         for(i=0;i<8;i++)
        {
             if(G&0x80)
            {
            DI=1;
            NOP();NOP();NOP();NOP();NOP();NOP();NOP();
            DI=0;
            }
           else
           {
            DI=1;
            NOP();NOP();NOP();
            DI=0;
           }
            G=G<<1;
       }
      
       for(i=0;i<8;i++)
         {
            if(B&0x80)
            {
            DI=1;
            NOP();NOP(); NOP();NOP();NOP();NOP();NOP();
            DI=0;
            }
           else
           {
            DI=1;
            NOP();NOP();NOP();
            DI=0;
             }
            B=B<<1;
         }

}

使用特权

评论回复
23
XZL| | 2019-12-20 15:45 | 只看该作者
RGB三色通过PWM控制,根据不同的输出比例,产生不同的颜色。

使用特权

评论回复
24
kavent| | 2019-12-21 22:05 | 只看该作者
好多的单片机都带有PWM功能,你可以用三路PWM来控制RGB灯的亮度,比如ATTINY单片机,性价比很高,一个TCA模块就可以支持6路PWM功能了,何况还有其它定时器了!很容易实现的!

使用特权

评论回复
25
heisexingqisi| | 2019-12-25 00:03 | 只看该作者
这说的歧义了。

使用特权

评论回复
26
heisexingqisi| | 2019-12-25 00:03 | 只看该作者
一般RGB就是3个不同色光的LED。
3个RGB,那是9个LED

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则