qptimus 发表于 2013-12-16 22:36 
这个……不难吧,基础教程里就有差不多的
int lightPin=12;
int voicePin=A1;
int ledPin=13;
int lightValue=0;
int voiceValue=0;
int a =800; //此处需是环境基础亮度变量,请查看自己的亮度数值,填写到此处数值要略大于所测得的数据但小于灯光下的数据
int b=55; //此处需是环境基础变量,请查看自己的数值,填写到此处数值要略大于所测得的数据但小于数据
void setup ()
{
Serial.begin(9600);
pinMode(13,OUTPUT);
pinMode(12,INPUT);
pinMode(A1,INPUT);
}
void loop()
{
int lightValue=digitalRead(lightPin);//读取模拟口A0数值
Serial.println(lightValue);
int voiceValue=analogRead(voicePin);//读取模拟口A1数值
Serial.println(voiceValue);
if (lightValue>=a) //对光线和声音强度进行判断,如果比我们的预设值大 就点亮LED否则就关闭
{
digitalWrite(13,HIGH);
}
else
{
digitalWrite(13,LOW);
}
delay(1000);
if (voiceValue>=b)
{
digitalWrite(13,HIGH);
}
else
{
digitalWrite(13,LOW);
}
delay(1000);
}
我这样写对吗?谢谢啦 |