Tips On 5050RGB
Mar 12, 2016
Technology
背景
淘宝上买的5050RGB模块, 外观如下图:
连线:
这个RGB模块比较奇怪,直接使用Arduino的5v输出一直有问题,我是用的外接5V电源供电, 动用了面包板模块.(之后发现不是供电的问题, 是因为淘宝上卖的模块提供示例代码的问 题)
更具体的连线如下:
// V-VCC 5V R-9 B-10 G-11
#define LEDR 9
#define LEDB 10
#define LEDG 11
测试
按照厂方提供的程序,未能成功运行.
厂方提供的电路图如下:
Debug
百思不得其解后,用万用表测试, 电阻发声的那档, 发现加电后,某两个LED可以亮, 另外 一个不能亮.
发现奇怪的一点是, VCC接高电压, RGB接低电压时, 无法点亮LED. RGB接高电压, VCC接 低电压时, LED可以被点亮两个.
猜测: 厂方给的参考资料有误, 接线错误. 而且LED坏了一个.
验证, 正确.
连线更改为:
// V-VCC 5V R-9 B-10 G-11
#define LEDR 9
#define LEDG 10
蓝色的LED已坏, 所以示例代码中,不许配置LEDB.
// V-VCC GND R-9 G-10
#define LEDR 9
#define LEDG 10
int i = 0;
void setup()
{
pinMode(LEDG,OUTPUT);
pinMode(LEDR,OUTPUT);
}
void loop()
{
analogWrite(LEDR,0);
analogWrite(LEDG,0); //off
delay(1000);
analogWrite(LEDR,255);
delay(1000);
analogWrite(LEDR,0);
analogWrite(LEDG,0);
delay(1000);
analogWrite(LEDR,30);
analogWrite(LEDG,200);
delay(1000);
analogWrite(LEDR,0);
analogWrite(LEDG,0);
delay(1000);
analogWrite(LEDG,30);
analogWrite(LEDR,200);
delay(1000);
}
正确的电路连线应该是: