// 基于Arduino的可燃氣體報警器源代碼
// 作者ID:張辰-維天,
// 本著Arduino開源硬件分享快樂的精深,請各位愛好者自由修改并分享。
// 修改請注明版本謝謝!
// 2014年7月29日
// v1.0

int led=5;
int alarm=4;
void setup(){
Serial.begin(9600); //利用串口控制臺顯示采樣到的模擬電壓
pinMode(led,OUTPUT);
pinMode(alarm,OUTPUT);//帶有一個無源蜂鳴器
}
void loop(){
int x=analogRead(A0);
float vol=5.00*(x/1023.00);
if(x<280){
analogWrite(led,0);
}else{
analogWrite(led,analogRead(A0)/4); //led的亮度由A0口的模擬量決定
do{
int k=300;
k=k+50;
if (k>800){
k=300;
}
tone(alarm,k);//讓蜂鳴器按照遞增的頻率發出聲音,每次延遲200ms
delay(200);
noTone(alarm);
}while(x<280);
}
if (x>600){
for (int a=0;a<5;a++){
analogWrite(led,255);
Serial.println(x);
Serial.print(vol);
Serial.println("V Warning!!!!");
tone(alarm,1200);
delay(200);
noTone(alarm);
analogWrite(led,0);
}
}
Serial.println(x);
Serial.print(vol);
Serial.println("V");
delay(500);
}