Disclaimer

Please, proceed carefully following the tips published in this blog, specially when Main Power is involved. I'm not responsible for any damages caused by what is written in this blog.
Thank you
Showing posts with label gas sensor. Show all posts
Showing posts with label gas sensor. Show all posts

Saturday, 29 August 2015

Data Acquisition - Remote Gas Detector




Now, it's time to connect a remote sensor to my new receiver and begin a real data acquisition.

I think I'll go back to my sensor gas prototype...I already made some experiments with it:

First experiment: a simple gas detector

I'm going to use it as a remote gas sensor with MQ-4 [Datasheet].



and a wireless RF-433 transmitter.


with a lot of wire, led and a push button to reset sensor status.

HARDWARE

This is the fritzling design:


As well as Wireless transmitter and gas sensor, we could see a red led, a green led and a RGB led. On the left side of the schema, there is also a push button. Led are powered by Arduino 5V power line, protected by resistors...Arduino is powered by a 12V transformer just like the wireless transmitter, to ensure the best transmission power.

PIN 11: push-button

PIN A1: analogue pin linked to GAS sensor

PIN 9: wireless data transmission

PIN 12: red led for wireless activity indication
PIN 8: green led for data acquisition activity
PIN 3, 5 and 6: RGB led for showing system status
 - off: normal values;
 - yellow: an out of tolerance value under the danger threshold;
 - rosso: an out of tolerance value over the danger threshold;

Here is it:



FUNCTIONALITY AND MESSAGES

When the system is powered up, the gas sensor warm up stage starts; this is necessary to ensure better precision...during this time, RGB led blinks.

Then, data acquisition starts.

Every second the system gets 10 samples data from the sensor (the green led flashes every second) and calculates the average...Every 5 seconds the average of the collected values is sent to the receiver (the red led flashes every 5 seconds).

When the average is out of tolerance, RGB led lights up.

The push buttons reset the system status and turns off the RGB led. If a value is out of tolerance and then other samples return to normal values, the led still lights on...to get the attention...only through the push button, led could be turned off.

The wireless data sent every 5 seconds is a text string with the following format:

GAS;VALUE;STATUS|

VALUE is the calculated average, STATUS is a numeric value indicating the system status according to the following schema:

 - 1: ok;
 - 2: warning
 - 3: danger

SOFTWARE

You can download the complete Arduino Sketch from here:

DOWNLOAD

As for the receiver, I used RADIOHEAD libraries to manage wireless transmitter.

Setup:

- wireless receiver setup;

- status led setup;

- MQ-4 sensor warm up;

Main loop:

- First, the system checks the push button status...If it was pressed, the variable which manages the system status will be set to OFF;

- Then, the system read 10 samples from the gas sensor and calculates their average; during this time the green led lights up (PIN 8);

- Every 5 seconds the system calculates the average and set the system status according to this value; then, this value is sent to the receiver;

- In case of out of tolerance value, RGB status led (PIN 3, 5 e 6) will light up;

- The average value is sent to the receiver; during this time the green led (PIN 12) will light up;

And finally, here is a short video:



Sunday, 18 January 2015

First experiment: a simple gas detector




Let's begin assembling some stuff from starter kit...as first example we will try to build a simple "gas detector" using MQ-4 sensor.

Here is the datasheet


The sensor has 3 pins:

- Vcc: 5V supply voltage, Arduino friendly;
- GND: ground connection;
- AD: analog output; provides a value congruent with the gas concentration in the air;
- D0: triggered digital output; provides an HIGH signal when the gas concentration exceeds a limit; you can set this limit through the trigger;


We will use only the analog output, which will be linked to an Arduino's analog input pin.

The sensor needs a pre-heating time.

In our prototype, just for example, we will use also:

- a temp sensor: LM 35
- an LCD display 16X2 backlighted with Hitachi HD44780 driver
- a Buzzer
- a led
- a pot

On the display we will show datas provided by the sensors; led and buzzer will be used to signal warnings and alerts and the pot controls the LCD display dimmer.

Here is the demonstration video: