//-------------------------------------- //file :gas.ino //author:Victor Chen //web :www.vic8051.com //參考資料:Arduino實作入門與應用 ----台灣/松崗 //-------------------------------------- #include int bz=8; int ad=A0; int adc,gv; //-------------------------------------- LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() { lcd.begin(16, 2); lcd.print("adc test.... "); Serial.begin(9600); pinMode(bz, OUTPUT); digitalWrite(bz, LOW); } void be() { int i; for(i=0; i<100; i++) { digitalWrite(bz, HIGH); delay(1); digitalWrite(bz, LOW); delay(1); } } //----------------------------------- void loop() { int i; be(); lcd.setCursor(0, 0); lcd.print("GAS heating...."); for(i=0; i<3; i++) delay(1000); be(); while(1) { adc=analogRead(ad); lcd.setCursor(0, 1);lcd.print(" "); lcd.setCursor(0, 1);lcd.print(adc); Serial.print(adc); Serial.print(' '); if(adc<500) break; delay(500); } //------------------------------------- be();// stand by to check gas lcd.setCursor(0, 0);lcd.print("GAS check "); gv=200; lcd.setCursor(10, 0);lcd.print(gv); while(1) { adc=analogRead(ad); lcd.setCursor(0, 1);lcd.print(" "); lcd.setCursor(0, 1);lcd.print(adc); Serial.print(adc); Serial.print(' '); if(adc>gv) { be(); //ry lcd.setCursor(8, 1);lcd.print("GAS!!!"); } else {lcd.setCursor(8, 1);lcd.print(" ");} delay(500); } }