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秒后,循環重新開始
}