您的位置:首页 > 产品设计 > UI/UE

arduino用串口控制LGB

2015-06-07 13:38 531 查看
int redPin = 11;
int greenPin = 10;
int bluePin = 9;
char rgb[18];
int ra[3];
int p=0;
void setup()
{
  Serial.begin(9600);
  pinMode(redPin, OUTPUT);
  pinMode(greenPin, OUTPUT);
  pinMode(bluePin, OUTPUT);  
}
void loop()
{
  if (Serial.available()>0)
  {
    delay(100);
    int i=0;
    int mao=Serial.available();
    if (mao>15) mao=15;
    while (mao!=0)
    {
      rgb[i]=Serial.read();
      i++;
      mao--;
    }
    rgblight(rgb);
  }
}

void rgblight(char* dota2)
{
  Serial.print("This is:");
  Serial.println(dota2);
  char* lol;
  lol=strtok(dota2," ");
  while (lol!=NULL) {
    Serial.println(atoi(lol));
    lol=strtok(NULL," ");
    ra[p]=atoi(lol);
    p++;
  }
  RGB(ra[0],ra[1],ra[2]);
  ra[0]=0;
  ra[1]=0;
  ra[2]=0;
  for (int i=0;i<=17;i++){
    rgb[i]='\0';
  }
}
void RGB(int red, int green, int blue)
{
  analogWrite(redPin, red);
  analogWrite(greenPin, green);
  analogWrite(bluePin, blue);  
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: