本帖最后由 xianyoudian 于 2015-11-28 20:21 编辑
大家帮我看一下这个错误怎么改, error: empty character constant
程序通过火焰传感器感知火焰,用ARDUINO控制蜂鸣器发声,火焰靠近让蜂鸣器发出音乐,以作报警,
int flame=A5;//定义火焰接口为模拟0 接口
int Beep=9;//定义蜂鸣器接口为数字9 接口
int length=15;
char notes[]="ccggaagffeeddc ";
int beats[]={1,1,1,1,1,1,2,1,1,1,1,1,1,2,4};
int tempo=300;
int val=0;//定义数字变量
void playTone(int tone ,int dura
tion)
{
for(long i=0;i
digitalWrite(Beep,HIGH);
delayMicroseconds(tone);
digitalWrite(Beep,LOW);
delayMicroseconds(tone);
}
}
void playNote(char note,int duration )
{
char names[]={'c','d','e','f','g','a','b','C'};
int tones[]={1915,1700,1519,1432,1275,1136,1014,956};
for(int i=0;i<8;i++)
{
if(names
==note)
playTone(tones,duration);
}
}
void setup()
{
pinMode(Beep,OUTPUT);//定义LED 为输出接口
pinMode(flame,INPUT);//定义蜂鸣器为输入接口
Serial.begin(9600);//设定波特率为9600
}
void loop() {
val=analogRead(flame);//读取火焰传感器的模拟值
Serial.println(val);//输出模拟值,并将其打印出来
if(val>=600)//当模拟值大于600 时蜂鸣器鸣响
{ digitalWrite(Beep,HIGH);
for(int i=0;i
{
if(notes=='')
delay(beats*tempo);
else
playNote(notes,beats*tempo);
delay(tempo/2);
}
}
else {
digitalWrite(Beep,LOW);
}
}