현재 WIZwiki-W7500은 mbed enable 작업을 진행중에 있다. 

공식적으로는 mbed web compiler를 사용하지는 못하지만 베타버전으로는 사용이가능하다. 그래서 처음으로 mbed WIZwiki-W7500 mCIA를 만들어보았다.

WIZwiki-W7500으로 CDS 센서의의 값을 읽어 보았다.

CDS센서는 빛의 양을 측정하는 센서로 빛의 양이 많을때는 저항성분이 낮아지고, 빛의 양이 적을때는 저항성분이 높아지는 특성을 가지고 있다.

  • 빛의 양 ↑ - 저항 성분 ↓ - 전류량 ↑
  • 빛의 양 ↓ - 저항 성분 ↑ - 전류량 ↓

그렇기 때문에 아래와 같이 회로를 구성하고 ADC를 이용해서 OUT에서 출력되는 전압을 측정해서 센서 값을 측정한다.

빛의 양이 많아지면 CDS 양단의 전압은 낮아지고, 빛의 양이 적어지면 CDS 양단의 전압값이 높아진다.

  • 빛의 양 ↑ - CDS 양단의 전압 값 ↓
  • 빛의 양 ↓ - CDS 양단의 전압 값 ↑

이러한 것을 토대로 WIZwiki-W7500으로 CDS 센서 값을 측정해보았다.

<mbed code>

#include "mbed.h"

DigitalOut myled(LED1);
AnalogIn CDS(A0);

Serial pc(USBTX, USBRX);

int main() {
    pc.baud(115200);
    wait(0.5f);
    pc.printf("Hello WizWIki-W7500!\n\r");
    pc.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
        pc.printf("CDS Data : %3d\r\n",CDS_data);
        //CDS Sensor Voltage data
        pc.printf("CDS Voltage : %3.3lfV\r\n",CDS_vol);
        pc.printf("===========================================\n\r");
        wait(1);
        //Status is bright.
        if(CDS_data < 600){
            myled = 1;
        }
        //Status is dark.
        else {
            myled = 0;
        }
    }
}


<mbed code URL>

https://developer.mbed.org/teams/WIZnet/code/CDS_Sensor_WizWiki-W7500/


<출력 값>


+ Recent posts