: 이번 강좌에서는 mbed의 디지털 입력을 이용하여,
Switch를 On/Off 하여 이를 디지털 입력으로서 받고, 이에 대응하도록 LED를 On/Off 하는 디지털 입/출력 테스트를 해보도록
하겠다.
▶ 아래의 부품을 이용하여 아래의 회로도 처럼 구성하기로
하자.
▶ 회로의 배선도이다. 브래드보드에 아래와 같이 mbed 보드와 구성품을 배치, 배선 후 mbed를 PC에 연결하도록
하자.
▶
버튼1을 누르면, LED1이 켜지고, 버튼2를 누르면 LED2가 켜지는 식으로 버튼 입력에 대응하도록 LED를 On/Off 하는 프로그램이다. 프로그램의 세부 설명은 소스에 기재되어 있는 설명을 참고하도록 하자.
▶
mbed.org 컴파일러에서 직접 코딩하여, 컴파일하기를 추천한다. 아무리 간단한 코딩이라도 할 수록 늘고, 자신감도 붙기 마련이다.아래의
소스를 복사/붙여넣기도 가능하지만, 꼭 직접 코딩하고, 컴파일해보고, 결과를 눈으로 직접 보기를 강력 추천한다.
▶
mbed 소스작성, 컴파일, 업로드 방식은 이전강좌를 참고하도록 하자.
#include "mbed.h" DigitalOut led1(p21); // Digital Out Pin DigitalOut led2(p22); DigitalOut led3(p23); DigitalOut led4(p24); DigitalIn button1(p17); // Digital In Pin DigitalIn button2(p18); DigitalIn button3(p19); DigitalIn button4(p20); int main() { button1.mode(PullUp); // Setting Pullup Mode button2.mode(PullUp); button3.mode(PullUp); button4.mode(PullUp); led1=0; led2=0; led3=0; led4=0; // LED Init while(1) { if(button1 == 0) // if button1 is On { led1=1; led2=0; led3=0; led4=0; // LED1 ON, other LED Off } if(button2 == 0) // if button2 is On { led1=0; led2=1; led3=0; led4=0; // LED2 ON, other LED Off } if(button3 == 0) // if button3 is On { led1=0; led2=0; led3=1; led4=0; // LED3 ON, other LED Off } if(button4 == 0) // if button4 is On { led1=0; led2=0; led3=0; led4=1; // LED4 ON, other LED Off } } } ▶ 실행 결과는 아래와 같다.
[2] mbed
handbook, http://mbed.org/handbook/DigitalOut
[3] mbed
handbook, http://mbed.org/handbook/DigitalIn
작성자: 표윤석(http://robotpilot.net/)
|