NuMaker ADC read gas sensor (MQ3)

Committer:
SHLIU1@OANBE02333.nuvoton.com
Date:
Wed Feb 24 16:27:23 2021 +0800
Revision:
12:015640054db1
Parent:
10:84e277e4aae7
Support the both V5.X and V6.X

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rkuo2000 1:605a7fdd4e93 1 // NuMaker-PFM-NUC472 use ADC0 (A0/PE_1) to read gas sensor (MQ-3)
rkuo2000 0:1f30d2df739e 2 #include "mbed.h"
ccli8 10:84e277e4aae7 3
ccli8 10:84e277e4aae7 4 /* NOTE: Connect UNO A0 to MQ-3 gas sensor for this test */
ccli8 10:84e277e4aae7 5 AnalogIn adc0(A0);
rkuo2000 0:1f30d2df739e 6
rkuo2000 0:1f30d2df739e 7 DigitalOut led(LED1);
rkuo2000 0:1f30d2df739e 8
rkuo2000 0:1f30d2df739e 9 int main(void)
rkuo2000 0:1f30d2df739e 10 {
SHLIU1@OANBE02333.nuvoton.com 12:015640054db1 11 #ifdef MBED_MAJOR_VERSION
SHLIU1@OANBE02333.nuvoton.com 12:015640054db1 12 printf("Mbed OS version %d.%d.%d\r\n\n", MBED_MAJOR_VERSION, MBED_MINOR_VERSION, MBED_PATCH_VERSION);
SHLIU1@OANBE02333.nuvoton.com 12:015640054db1 13 #endif
rkuo2000 0:1f30d2df739e 14 printf("ADC0 start reading...\n\r");
rkuo2000 0:1f30d2df739e 15 while (1) {
rkuo2000 0:1f30d2df739e 16 printf("ADC0 value= 0x%4x, percentage= %3.3f%%\n\r",adc0.read_u16(), adc0.read()*100.0f);
rkuo2000 0:1f30d2df739e 17 if(adc0 > 0.7f) led = 0; // > 0.7 * Vcc wil turn on led
rkuo2000 0:1f30d2df739e 18 else led = 1;
SHLIU1@OANBE02333.nuvoton.com 12:015640054db1 19 #if MBED_MAJOR_VERSION >= 6
SHLIU1@OANBE02333.nuvoton.com 12:015640054db1 20 ThisThread::sleep_for(200);
SHLIU1@OANBE02333.nuvoton.com 12:015640054db1 21 #else
rkuo2000 0:1f30d2df739e 22 wait(0.2f);
SHLIU1@OANBE02333.nuvoton.com 12:015640054db1 23 #endif
SHLIU1@OANBE02333.nuvoton.com 12:015640054db1 24
rkuo2000 0:1f30d2df739e 25 }
rkuo2000 0:1f30d2df739e 26 }