Sensor MQ y Arduino

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 5

SENSOR MQ-135

Conocido también como sensor de calidad de aire, se utilizan en equipos de control de calidad del
aire para edificios y oficinas, son adecuados para la detección de NH3, NOx, alcohol, benceno,
humo, CO2, etc.

Características:

 Buena sensibilidad a gases nocivos en amplio rango.


 Alta sensibilidad al amoniaco, sulfuro y benceno.
 Larga vida y bajo costo.
 Circuito de accionamiento simple.

Aplicaciones:

 Detector de contaminación del aire doméstico.


 Detector de contaminación del aire industrial.
 Detector portátil de contaminación del aire.

Forma de conexión al Arduino:


Calibración del sensor para detectar NH3:

Las gráficas se disponen en escala logarítmica para ambos ejes y, en general, son aproximadamente
rectas bajo estas escalas. Por lo que la concentración resultará:

Para determinar la concentración necesitaremos la recta que la aproxima, para lo cual debemos
coger dos puntos cuales quiera de las gráficas P0 = {X0, Y0} y P1 = {X1, Y1}, resultando la ecuación
de la recta:

Para poder hallar la relación Rs/Ro usaremos la recta de aire limpio a 3,6 y obtendremos valores
promedios de Rs que con la formula, Rs = (Vc/VRL -1)RL según lo proporcionado en el datasheet,

Usaremos el entorno de Arduino para realizar el cálculo de Ro.

#define RL 20//The value of resistor RL is 20K

void setup () //Runs only once

Serial.begin(9600); //Initialise serial COM for displaying the value

}
void loop () {

float analog_value;

float VRL;

float Rs;

float Ro;

analog_value=0; //I added this line to zero my variable read at the beginning of each loop

for(int test_cycle = 1 ; test_cycle <= 500 ; test_cycle++) //Read the analog output of the sensor
for 500 times

analog_value = analog_value + analogRead(A0); //add the values for 500

analog_value = analog_value/500.0;

VRL = analog_value*(5.0/1023.0);

Rs = ((5.0/VRL)-1) * RL;

Ro = Rs/3.6;

Serial.print(analogRead(A0));

Serial.print("VRL = ");

Serial.println(VRL);

Serial.print("Rs = ");

Serial.println(Rs);

Serial.print("Ro at fresh air = ");

Serial.println(Ro);

Serial.println("-----------------------------------------------------------------------");

delay(1000); //delay of 1sec

}
Una vez hallado Ro podremos hallar la concentración a distintas condiciones de contaminación
mediante el siguiente código en el Arduino

#define RL 20 //The value of resistor RL is 47K

#define m -0.309 //Enter calculated Slope

#define b 0.493 //Enter calculated intercept

#define Ro 105.9 //Enter found Ro value

#define MQ_sensor A0 //Sensor is connected to A4

void setup() {

Serial.begin(9600);

void loop() {

float VRL; //Voltage drop across the MQ sensor

float Rs; //Sensor resistance at gas concentration

float ratio; //Define variable for ratio

VRL = analogRead(MQ_sensor)*(5.0/1023.0); //Measure the voltage drop and convert to 0-5V

Rs = ((5.0*RL)/VRL)-RL; //Use formula to get Rs value

ratio = Rs/Ro; // find ratio Rs/Ro

float ppm = pow(10, ((log10(ratio)-b)/m)); //use formula to calculate ppm

Serial.println(analogRead(MQ_sensor));

//datos a enviar

Serial.print("NH3 (ppm) = "); // Ammonia in ppm

Serial.println(ppm);

Serial.print("Voltage = "); // Intro message

Serial.println(VRL);

Serial.println("------");

delay(200);

}
PLACA ARDUINO - UNO

Arduino Uno es una placa electrónica basada en el microcontrolador ATmega328. Cuenta con 14
entradas/salidas digitales, de las cuales 6 se pueden utilizar como salidas PWM (Modulación por
ancho de pulsos) y otras 6 son entradas analógicas. Además, incluye un resonador cerámico de 16
MHz, un conector USB, un conector de alimentación, una cabecera ICSP y un botón de reseteado.
La placa incluye todo lo necesario para que el microcontrolador haga su trabajo, basta conectarla a
un ordenador con un cable USB o a la corriente eléctrica a través de un transformador.

Características técnicas de Arduino Uno

- Microcontrolador: ATmega328

- Voltaje: 5V

- Voltaje entrada (recomendado): 7-12V

- Voltaje entrada (limites): 6-20V

- Digital I/O Pins: 14 (de los cuales 6 son salida PWM)

- Entradas Analógicas: 6

- DC corriente por I/O Pin: 40 mA

- DC Corriente parar 3.3V Pin: 50 mA

- Flash Memory: 32 KB (ATmega328) de los cuales 0.5 KB son utilizados para el arranque

- SRAM: 2 KB (ATmega328)

- EEPROM: 1 KB (ATmega328)

- Clock Speed: 16 MHz

También podría gustarte