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