Alcohol sensor example with WIZwiki-W7500
Dependencies: mbed
Fork of Seeed_Grove_Alcohol_Sensor_Example by
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.
- WIZwiki-W7500 from WIZnet (Platform board) http://wizwiki.net/wiki/doku.php?id=products:wizwiki_w7500:start
- Grove - Alcohol Sensor
Hardware Configuration
WIZwiki-W7500 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
Before alcohol test
During alcohol test
main.cpp@1:2757e070a3c2, 2015-10-30 (annotated)
- 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?
User | Revision | Line number | New 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 | } |