void setLED(char* data)
{
delay(500);
if ((data[0] == 'g')|| (data[0] == 'G'))
{
int Ans = strtol(data+1,NULL,10);
Ans = constrain(Ans,0,255);
analogWrite(GreenPin, Ans);
Serial.print("Green is set to: ");
Serial.println(Ans);
}
if ((data[0] == 'b')|| (data[0] == 'B'))
{
int Ans = strtol(data+1,NULL,10);
Ans = constrain(Ans,0,255);
analogWrite(BluePin, Ans);
Serial.print("Blue is set to: ");
Serial.println(Ans);
}
if ((data[0] == 'r')|| (data[0] == 'R'))
{
int Ans = strtol(data+1,NULL,10);
Ans = constrain(Ans,0,255);
analogWrite(RedPin, Ans);
Serial.print("Red is set to: ");
Serial.println(Ans);
}
yinyue();
}
void yinyue()
{
for (int x = 0; x < length; x++) //循环音符的次数
{
tone(tonePin, tune[x]); //依次播放tune数组元素,即每个音符
delay(400 * duration[x]); //每个音符持续的时间,即节拍duration,400是调整时间的越大,曲子速度越慢,越小曲子速度越快
noTone(tonePin);//停止当前音符,进入下一音符
}
delay(500);//等待0.5秒后,循环重新开始
}