RGB LED测试
RGB LED原理
RGB LED线路连接
最长的那根线跟GND相连
R——红线——6
G——绿线——5
B——蓝线——3
可能出现的问题
- 1
- 解决办法
先将程序烧录到开发板,再进行连线 - 2
- 解决办法
按一下开发板那个红色按钮 - 3 出现一堆乱码
- 解决办法:将波特率调到9600
代码
const int rLedPin = 6; //引脚R
const int gLedPin = 5; //引脚G
const int bLedPin = 3; //引脚B
int ledR = 0; //R Led 亮度
int ledG = 0; //G Led 亮度
int ledB = 0; //B Led 亮度
void setup() {
pinMode(rLedPin, OUTPUT);
pinMode(gLedPin, OUTPUT);
pinMode(bLedPin, OUTPUT);
Serial.begin(9600);
Serial.println("Please Input RGB value(eg. r128g100b20).");//范围为0~255
}
void loop() {
if (Serial.available()>0) {
char serialCmdChar = Serial.read();
serialCmd(serialCmdChar);
}
delay(50);
}
void serialCmd(char serialCmdChar) {
switch (serialCmdChar){
case 'r':
ledR = Serial.parseInt();
break;
case 'g':
ledG = Serial.parseInt();
break;
case 'b':
ledB = Serial.parseInt();
break;
case 'c':
ledR = 0;
ledG = 0;
ledB = 0;
}
analogWrite(rLedPin, ledR);
delay(100);
analogWrite(gLedPin, ledG);
delay(100);
analogWrite(bLedPin, ledB);
delay(100);
Serial.print ("Red Value = ");
Serial.println (ledR);
Serial.print ("Green Value = ");
Serial.println (ledG);
Serial.print ("Blue Value = ");
Serial.println (ledB);
Serial.println ("-------------");
}
成果展示
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
二维码