Ch3_4. A/D 변환하기

학습 내용

포텐션메터로부터 아날로그 신호를 입력하고 디지털신호로 변환하여 그 세기에 따라 LED 점등 수를 늘려가는 제어를 학습하게됩니다.

배선도

500

회로도

/media/uploads/jnesystech/ch3_4-circuit-.png

/media/uploads/jnesystech/chap3_4_bb.png

배선 사진

/media/uploads/jnesystech/_scaled_fireflytestledbank.jpg

Flow Chart

/media/uploads/jnesystech/ch3_4.png

코딩

#include "mbed.h"

AnalogIn ain(p20);
DigitalOut led1(p6);
DigitalOut led2(p7);
DigitalOut led3(p8);
DigitalOut led4(p10);
DigitalOut led5(p11);
DigitalOut led6(p12);
DigitalOut led7(p13);
DigitalOut led8(p14);

int main() {

volatile unsigned long Loop;
unsigned long data;

    while(1) {
    
        data = ain * 800;
        
        led1 = (data > 0) ? 1 : 0;
        led2 = (data > 100) ? 1 : 0;
        led3 = (data > 200) ? 1 : 0;
        led4 = (data > 300) ? 1 : 0;
        led5 = (data > 400) ? 1 : 0;
        led6 = (data > 500) ? 1 : 0;
        led7 = (data > 600) ? 1 : 0;
        led8 = (data > 700) ? 1 : 0;
              
        for(Loop = 0; Loop < 20000; Loop++);
                      
    }
}

라이브러리

AnalogIn API

BusOut API

DigitalIn API

학습 참고


Please log in to post comments.