|
|
|
|
|
|
//currently 8 leds controllable
|
|
#define LED1 A0
|
|
#define LED2 A1
|
|
#define LED3 A2
|
|
#define LED4 A3
|
|
#define LED5 A4
|
|
#define LED6 A5
|
|
#define LED7 7 //A6, and A7 are ADC only. No GPIO.
|
|
#define LED8 8
|
|
|
|
#define Sensor A6
|
|
#define SPKR 5
|
|
|
|
uint16_t gasVAL;
|
|
|
|
void setup() {
|
|
// put your setup code here, to run once:
|
|
Serial.begin(9600);
|
|
|
|
pinMode(LED1, OUTPUT);
|
|
pinMode(LED2, OUTPUT);
|
|
pinMode(LED3, OUTPUT);
|
|
pinMode(LED4, OUTPUT);
|
|
pinMode(LED5, OUTPUT);
|
|
pinMode(LED6, OUTPUT);
|
|
pinMode(LED7, OUTPUT);
|
|
pinMode(LED8, OUTPUT);
|
|
|
|
pinMode(SPKR, OUTPUT);
|
|
|
|
Startup();
|
|
|
|
}
|
|
|
|
void loop() {
|
|
// put your main code here, to run repeatedly:
|
|
|
|
gasVAL = analogRead(Sensor);
|
|
Serial.println(gasVAL);
|
|
lightLED(gasVAL);
|
|
delay(30);
|
|
|
|
}
|
|
|
|
void Startup (void){
|
|
|
|
Serial.println("Flammable Gas Sensor");
|
|
Serial.println("Begin");
|
|
|
|
int yy = 0;
|
|
for(yy=200;yy<1200;yy+=150){
|
|
tone(SPKR,yy,100);
|
|
delay(100);
|
|
}
|
|
/*
|
|
for(yy=2000;yy>100;yy-=100){
|
|
tone(SPKR,yy,100);
|
|
delay(50);
|
|
}*/
|
|
|
|
|
|
digitalWrite(LED1,HIGH);
|
|
digitalWrite(LED2,HIGH);
|
|
digitalWrite(LED3,HIGH);
|
|
digitalWrite(LED4,HIGH);
|
|
|
|
delay(500);
|
|
digitalWrite(LED1,LOW);
|
|
digitalWrite(LED2,LOW);
|
|
digitalWrite(LED3,LOW);
|
|
digitalWrite(LED4,LOW);
|
|
|
|
digitalWrite(LED5,HIGH);
|
|
digitalWrite(LED6,HIGH);
|
|
digitalWrite(LED7,HIGH);
|
|
digitalWrite(LED8,HIGH);
|
|
|
|
delay(500);
|
|
digitalWrite(LED5,LOW);
|
|
digitalWrite(LED6,LOW);
|
|
digitalWrite(LED7,LOW);
|
|
digitalWrite(LED8,LOW);
|
|
|
|
|
|
|
|
}
|
|
|
|
void lightLED( uint16_t reading){
|
|
|
|
if (reading >= 750){
|
|
digitalWrite(LED1,HIGH);
|
|
digitalWrite(LED2,HIGH);
|
|
digitalWrite(LED3,HIGH);
|
|
digitalWrite(LED4,HIGH);
|
|
digitalWrite(LED5,HIGH);
|
|
digitalWrite(LED6,HIGH);
|
|
digitalWrite(LED7,HIGH);
|
|
digitalWrite(LED8,HIGH);
|
|
tone(SPKR,750,100);
|
|
}
|
|
else if (reading >= 700){
|
|
digitalWrite(LED1,HIGH);
|
|
digitalWrite(LED2,HIGH);
|
|
digitalWrite(LED3,HIGH);
|
|
digitalWrite(LED4,HIGH);
|
|
digitalWrite(LED5,HIGH);
|
|
digitalWrite(LED6,HIGH);
|
|
digitalWrite(LED7,HIGH);
|
|
digitalWrite(LED8,LOW);
|
|
tone(SPKR,700,100);
|
|
}
|
|
else if (reading >= 650){
|
|
digitalWrite(LED1,HIGH);
|
|
digitalWrite(LED2,HIGH);
|
|
digitalWrite(LED3,HIGH);
|
|
digitalWrite(LED4,HIGH);
|
|
digitalWrite(LED5,HIGH);
|
|
digitalWrite(LED6,HIGH);
|
|
digitalWrite(LED7,LOW);
|
|
digitalWrite(LED8,LOW);
|
|
tone(SPKR,650,100);
|
|
}
|
|
else if (reading >= 600){
|
|
digitalWrite(LED1,HIGH);
|
|
digitalWrite(LED2,HIGH);
|
|
digitalWrite(LED3,HIGH);
|
|
digitalWrite(LED4,HIGH);
|
|
digitalWrite(LED5,HIGH);
|
|
digitalWrite(LED6,LOW);
|
|
digitalWrite(LED7,LOW);
|
|
digitalWrite(LED8,LOW);
|
|
tone(SPKR,600,100);
|
|
}
|
|
else if (reading >= 550){
|
|
digitalWrite(LED1,HIGH);
|
|
digitalWrite(LED2,HIGH);
|
|
digitalWrite(LED3,HIGH);
|
|
digitalWrite(LED4,HIGH);
|
|
digitalWrite(LED5,LOW);
|
|
digitalWrite(LED6,LOW);
|
|
digitalWrite(LED7,LOW);
|
|
digitalWrite(LED8,LOW);
|
|
tone(SPKR,550,100);
|
|
}
|
|
else if (reading >= 500){
|
|
digitalWrite(LED1,HIGH);
|
|
digitalWrite(LED2,HIGH);
|
|
digitalWrite(LED3,HIGH);
|
|
digitalWrite(LED4,LOW);
|
|
digitalWrite(LED5,LOW);
|
|
digitalWrite(LED6,LOW);
|
|
digitalWrite(LED7,LOW);
|
|
digitalWrite(LED8,LOW);
|
|
tone(SPKR,500,100);
|
|
}
|
|
else if (reading >= 410){
|
|
digitalWrite(LED1,HIGH);
|
|
digitalWrite(LED2,HIGH);
|
|
digitalWrite(LED3,LOW);
|
|
digitalWrite(LED4,LOW);
|
|
digitalWrite(LED5,LOW);
|
|
digitalWrite(LED6,LOW);
|
|
digitalWrite(LED7,LOW);
|
|
digitalWrite(LED8,LOW);
|
|
tone(SPKR,410,100);
|
|
}
|
|
else if (reading >= 300){
|
|
digitalWrite(LED1,HIGH);
|
|
digitalWrite(LED2,LOW);
|
|
digitalWrite(LED3,LOW);
|
|
digitalWrite(LED4,LOW);
|
|
digitalWrite(LED5,LOW);
|
|
digitalWrite(LED6,LOW);
|
|
digitalWrite(LED7,LOW);
|
|
digitalWrite(LED8,LOW);
|
|
}
|
|
else if (reading >= 0){
|
|
digitalWrite(LED1,LOW);
|
|
digitalWrite(LED2,LOW);
|
|
digitalWrite(LED3,LOW);
|
|
digitalWrite(LED4,LOW);
|
|
digitalWrite(LED5,LOW);
|
|
digitalWrite(LED6,LOW);
|
|
digitalWrite(LED7,LOW);
|
|
digitalWrite(LED8,LOW);
|
|
}
|
|
/*else {
|
|
digitalWrite(LED1,HIGH);
|
|
digitalWrite(LED2,LOW);
|
|
digitalWrite(LED3,HIGH);
|
|
digitalWrite(LED4,LOW);
|
|
digitalWrite(LED5,HIGH);
|
|
digitalWrite(LED6,LOW);
|
|
digitalWrite(LED7,HIGH);
|
|
digitalWrite(LED8,LOW);
|
|
}*/
|
|
|
|
|
|
|
|
}
|
|
|