가변 저항기로 만든 아날로그 값을 읽어내는 예제이다. WIZwiki보드가 지원하는 ADC (Analog Digital Converter)를 이용한다. 아날로그 값을 출력하는 센서들의 출력 데이터를 읽는 방법을 학습할 수 있다.
예제 코드이다. mbed 환경에서 main.c에 아래 code를 복사해 붙여넣기 한 후 컴파일한다.
#include "mbed.h" AnalogIn analog_value(A0); DigitalOut led(LED1); int main() { float meas; printf("\nAnalogIn example\n"); while(1) { meas = analog_value.read(); // Converts and read the analog input value (value from 0.0 to 1.0) meas = meas * 3300; // Change the value to be in the 0 to 3300 range printf("measure = %.0f mV\n", meas); if (meas > 2000) { // If the value is greater than 2V then switch the LED on led = 0; } else { led = 1; } wait(0.2); // 200 ms } }
가변저항기의 다이얼을 움직여 가며 시리얼 포트의 메시지를 확인한다.
사진과 같이 주기적으로 밀리볼트 (mV) 단위의 measure 값을 확인할 수 있다.
이 예제에서는 가변기의 다이얼을 시계방향으로 회전시키면 measure 값이 올라간다. measure 값이 2000mV 이상이면 WIZwiki 보드에 장착된 LED1이 켜진다. measure 값이 2000mV 이하이면 LED1이 꺼진다.
WIZwiki 보드는 외부 회로의 아날로그 값을 읽어서 디지털 값으로 변환할 수 있다.