Skip to main content

튜토리얼 예제7. 조도 센서 값 읽어내기

개요

ADC를 이용해서 조도 센서 값을 읽어내는 예제이다. 아날로그 값을 수식으로 변환 해 0 ~ 3.3V 사이의 값으로 시리얼 포트를 통해 화면에 보여준다. 지정된 아날로그 값과 비교해서 LED를 키거나 끈다.

준비물

  • WIZwiki-W7500 보드
  • USB 케이블
  • Breadboard (빵판)
  • Jumper wire
  • PGM5537D (CDS Photo Resistor)

하드웨어

회로도

전체 회로도는 아래와 같다.

연결도

소프트웨어

Example Code

예제 코드이다.

아래 페이지를 열고 "Import this program" 으로 프로그램을 불러와 컴파일 한다.

🌎https://os.mbed.com/teams/IOP/code/CDS_HelloWorld_WIZwiki-W7500/

또는, mbed 환경에서 main.c에 아래 code를 복사해 붙여넣기 한 후 컴파일한다.

#include "mbed.h"

DigitalOut redled(LED1); // RED
DigitalOut blueled(LED3); // BLUE
AnalogIn CDS(A0);

int main(/) {
printf("Hello WizWIki-W7500!\n\r");
printf("===========================================\n\r");

int CDS_data = 0;
double CDS_vol = 0;

while(1) {
CDS_data = CDS.read(/)*1000;
CDS_vol = CDS.read(/)*3.3;

//CDS Seneor ADC Low Data
printf("CDS Data : %3d\r\n",CDS_data);
//CDS Sensor Voltage data
printf("CDS Voltage : %3.3lfV\r\n",CDS_vol);
printf("===========================================\n\r");

wait(1);
//Status is bright.
if(CDS_data < 500){
redled = 1;
blueled = 0;
}
//Status is dark.
else {
redled = 0;
blueled = 1;
}
}
}

실행 방법 및 결과

다음은 예제의 실행 화면이다. CDS 값과 3.3V 기준으로 측정된 CDS전압 값이 번갈아 보인다.

학습 자료

조도 센서의 스펙은 아래 링크를 참조한다.

관련 링크