Alcohol sensor example with WIZwiki-W7500

Dependencies:   mbed

Fork of Seeed_Grove_Alcohol_Sensor_Example by Seeed

Prerequisite

This Program is an example of how to get analog data with WIZwiki-W7500 board A0 Pin.

To implement this function, you need a Platform board only.


Hardware Configuration

WIZwiki-W7500 Pin map

pin map

Initialize an analog pin
Initialize an A0 pin of WIZwiki-W7500 platform as an analog pin.

Read analog data from analog pin
Connect an analog device, such as an Alcohol sensor, to A0 pin. And read analog data.


Software

main.cpp

#include "mbed.h"

DigitalOut heater(A1);
AnalogIn sensor(A0);
DigitalOut led_r(LEDR);
DigitalOut led_g(LEDG);
DigitalOut led_b(LEDB);


int main(void)
{
    float value = 0.0f;
    
    led_g = 0;
    led_r = 0;
    led_b = 0;
    
    heater = 0;
    
    wait(0.1f);
    
    
    // Waiting for the sensor to warm-up
    while(value > 0.001f) {
        wait(1.0f);
        value = 1.0f - sensor;
        printf("Sensor is warming up : %2.2f\r\n", value);
    }
    led_g = 1;
    led_r = 1;
    led_b = 1;
    
    while(1)
    {
        value = 1- sensor;
        printf("%2.1f\r\n", value);
        if(value < 0.3)
        {
            led_g = 0;
            led_r = 1;
            led_b = 1;
        }
        else if(value < 0.7)
        {
            led_g = 1;
            led_r = 1;
            led_b = 0;
        }
        else
        {
            led_g = 1;
            led_r = 0;
            led_b = 1;
        }
        wait(1);
        
    }
}

Images

/media/uploads/bingdo/seeed_alcohol_sensor_example_with_wizwiki-w7500_3.jpg

Before alcohol test
/media/uploads/bingdo/seeed_alcohol_sensor_example_with_wizwiki-w7500.png

During alcohol test
/media/uploads/bingdo/seeed_alcohol_sensor_example_with_wizwiki-w7500_2.png


Committer:
hjjeon
Date:
Fri Oct 30 01:00:33 2015 +0000
Revision:
1:2757e070a3c2
Parent:
0:ac502eed91bf
Alcohol sensor example with WIZwiki-W7500

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sam_grove 0:ac502eed91bf 1
sam_grove 0:ac502eed91bf 2 #include "mbed.h"
sam_grove 0:ac502eed91bf 3
sam_grove 0:ac502eed91bf 4 DigitalOut heater(A1);
sam_grove 0:ac502eed91bf 5 AnalogIn sensor(A0);
hjjeon 1:2757e070a3c2 6 DigitalOut led_r(LEDR);
hjjeon 1:2757e070a3c2 7 DigitalOut led_g(LEDG);
hjjeon 1:2757e070a3c2 8 DigitalOut led_b(LEDB);
hjjeon 1:2757e070a3c2 9
sam_grove 0:ac502eed91bf 10
sam_grove 0:ac502eed91bf 11 int main(void)
sam_grove 0:ac502eed91bf 12 {
sam_grove 0:ac502eed91bf 13 float value = 0.0f;
hjjeon 1:2757e070a3c2 14
hjjeon 1:2757e070a3c2 15 led_g = 0;
hjjeon 1:2757e070a3c2 16 led_r = 0;
hjjeon 1:2757e070a3c2 17 led_b = 0;
hjjeon 1:2757e070a3c2 18
hjjeon 1:2757e070a3c2 19 heater = 0;
hjjeon 1:2757e070a3c2 20
sam_grove 0:ac502eed91bf 21 wait(0.1f);
sam_grove 0:ac502eed91bf 22
hjjeon 1:2757e070a3c2 23
hjjeon 1:2757e070a3c2 24 // Waiting for the sensor to warm-up
hjjeon 1:2757e070a3c2 25 while(value > 0.001f) {
sam_grove 0:ac502eed91bf 26 wait(1.0f);
hjjeon 1:2757e070a3c2 27 value = 1.0f - sensor;
hjjeon 1:2757e070a3c2 28 printf("Sensor is warming up : %2.2f\r\n", value);
hjjeon 1:2757e070a3c2 29 }
hjjeon 1:2757e070a3c2 30 led_g = 1;
hjjeon 1:2757e070a3c2 31 led_r = 1;
hjjeon 1:2757e070a3c2 32 led_b = 1;
hjjeon 1:2757e070a3c2 33
hjjeon 1:2757e070a3c2 34 while(1)
hjjeon 1:2757e070a3c2 35 {
hjjeon 1:2757e070a3c2 36 value = 1- sensor;
hjjeon 1:2757e070a3c2 37 printf("%2.1f\r\n", value);
hjjeon 1:2757e070a3c2 38 if(value < 0.3)
hjjeon 1:2757e070a3c2 39 {
hjjeon 1:2757e070a3c2 40 led_g = 0;
hjjeon 1:2757e070a3c2 41 led_r = 1;
hjjeon 1:2757e070a3c2 42 led_b = 1;
hjjeon 1:2757e070a3c2 43 }
hjjeon 1:2757e070a3c2 44 else if(value < 0.7)
hjjeon 1:2757e070a3c2 45 {
hjjeon 1:2757e070a3c2 46 led_g = 1;
hjjeon 1:2757e070a3c2 47 led_r = 1;
hjjeon 1:2757e070a3c2 48 led_b = 0;
hjjeon 1:2757e070a3c2 49 }
hjjeon 1:2757e070a3c2 50 else
hjjeon 1:2757e070a3c2 51 {
hjjeon 1:2757e070a3c2 52 led_g = 1;
hjjeon 1:2757e070a3c2 53 led_r = 0;
hjjeon 1:2757e070a3c2 54 led_b = 1;
hjjeon 1:2757e070a3c2 55 }
hjjeon 1:2757e070a3c2 56 wait(1);
hjjeon 1:2757e070a3c2 57
sam_grove 0:ac502eed91bf 58 }
sam_grove 0:ac502eed91bf 59 }