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
分享
二维码
< <上一篇
下一篇>>