Está en la página 1de 3

/Declracion de variabes

int mq2 = 0; // variable de ADC0 del sensor de Gas (mq-2) PIN A0


int Ro = 10000; //Devido a la resistencia de 10K q utilizamos en Rl
int Rl = 10000; //Devido a la resistencia de 10K q utilizamos
float Vrl ; //Voltaje de la resistencia RL
float val = 0; //Valor de ADC mq2
float Rs ; //resistencia de sensor mq2
float ratio ; //relacion de resistencias
int ppm; //Relacion PPM
int lm35 = 1; // variable de ADC1 del sensor de Temperatura (lm35) PIN A1
int Tem; //variable para la lectura del lm35
int Cel; //Relacion en Grados Celcius
int c; //VARIABLES

void setup()
{
Serial.begin(9600); //PARA LA COMUNICACION SERIAL DECLARAMOS LOS
// BAUDIOS A LOS Q TRABAJA EL BLUETOOTH
}



void loop() //PROGRAMA A EJECUTARCE
{
val= analogRead(mq2); //lee ADC0
Vrl = val * ( 5.00 / 1023 ); // V
Rs = Rl * ( 5.00 / Vrl-1) ; //Ohm
ratio = Rs/Ro; //Relacion de Resistencias Grafica eje Y (Rs/Ro)
ppm = pow(10 , (((log10(24.8) - log10(ratio)) / 0.38 ))); //Relacion en PPM


Tem=analogRead(lm35); //lee ADC1
Cel = Tem*0.48875;


if(Serial.available()) //INICIA LA CX SERIAL
{
c=Serial.read(); //C LEE LA ENTRADA

if (c == 'a') // SI ES IGUAL A 'C'
{ //MANDA SMS AL BLUETOOTH
Serial.print (ppm); //IMPRIME EL VALOR DE PPM
}
if (c == 'b') // SI ES IGUAL A 'C'
{ //MANDA SMS AL BLUETOOTH
Serial.print (Cel); //IMPRIME EL VALOR DE Cel
}

}
}



DIGITAL (~PWM)
ANALOG IN
A T M E G A 3 2 8 P - P U
1 1 2 1
~
~
~
~
~
~
T
X
R
X
P
D
0
/
R
X
D
0
P
D
1
/
T
X
D
1
P
D
2
/
I
N
T
0
2
P
D
3
/
I
N
T
1
3
P
D
4
/
T
0
/
X
C
K
4
P
D
5
/
T
1
5
P
D
6
/
A
I
N
0
6
P
D
7
/
A
I
N
1
7
P
B
0
/
I
C
P
1
/
C
L
K
O
8
P
B
1
/
O
C
1
A
9
P
B
2
/
S
S
/
O
C
1
B
1
0
P
B
3
/
M
O
S
I
/
O
C
2
A
1
1
P
B
4
/
M
I
S
O
1
2
P
B
5
/
S
C
K
1
3
A
R
E
F
P
C
5
/
A
D
C
5
/
S
C
L
A
5
P
C
4
/
A
D
C
4
/
S
D
A
A
4
P
C
3
/
A
D
C
3
A
3
P
C
2
/
A
D
C
2
A
2
P
C
1
/
A
D
C
1
A
1
P
C
0
/
A
D
C
0
A
0
R
E
S
E
T
ARD1
ARDUINO UNO R3
27.0
3
1
VOUT
2
U1
LM35
RV1
1k
Xmodem, Ymodem, Zmodem
VT52, VT100, ANSI
RXD
RTS
TXD
CTS
Virtual terminal
mq2
lm35

También podría gustarte