플밍

아두이노 기초강좌 - 8. 디지털 입/출력 본문

프로그래밍/아두이노

아두이노 기초강좌 - 8. 디지털 입/출력

너구리안주 2015. 7. 22. 00:36


본 강좌는 지인의 사이트에서 허락받고 퍼온 강좌입니다.

다른곳으로 불펌하시면 곤란합니다.

그리고 제가 아두이노를 그리 잘 알지는 못합니다.

저한테 물어보시는것도 곤란.... ^^

#ads_1

오늘은 디지털 입/출력이네요

아날로그는 입력 출력장을 나눴는데 디지털은 입/출력으로 한장으로 묶어 버렸습니다.

그동안 한 내용들이 중복되기도 하고 별거 없거든요 ㅋ

 

  



 

 #ads_2

위 그림 이제 익숙하시죠?  버튼을 풀업저항으로 연결한겁니다.

단지 아날로그 핀이 아니라 디지털 2번 핀으로 연결해논것 밖에 없습니다.

 

디지털 입/출력을 사용하기 위해서는 아날로그 입/출력과 달리 절차가 필요합니다.

절차라 해봐야 간단합니다.

 

2번핀을 입력핀으로 쓸때

pinMode(2, INPUT);

 

2번핀을 출력핀으로 쓸때

pinMode(2, OUTPUT);

 

이게 답니다.

 

그럼 소스를 볼까요?

 

 

 int btn_pin = 2;

 int led_pin = 13;

 

 void setup() {

   Serial.begin(9600);

   pinMode(btn_pin, INPUT);               //2번핀을 입력핀으로 설정

   pinMode(led_pin, OUTPUT);            //13번핀을 출력핀으로 설정

 }

 

 void loop() {

   int btn_state = digitalRead(btn_pin);  //2번핀에서 입력값을 읽어라

   if(btn_state){                                 //입력값이 1이면

     digitalWrite(led_pin, LOW);            //13 LED를 끈다

   }else{                                          //입력값이 0이면

     digitalWrite(led_pin, HIGH);           //13 LED를 켠다

   }

   Serial.println(btn_state);

   delay(10);

 } 

 

 

궂이 길게 설명할 것도 없이 주석만으로 이해가 되시죠? (되시리라 믿습니다.  여러분은 머리가 좋으니까요)

 

그럼 업로드 하고 실행해봅시다

 

버튼을 눌렀다 뗐다 해보세요

아두이노에 내장된 13번 LED가 눌렀을때 켜지고 뗄때 꺼지는게 보이시나요?

 

디지털 출력은 말 그대로 디지털이기 때문에 1과 0으로 입력 또는 출력을 합니다

참고로 아날로그 입력은 0~1023 이고 아날로그 출력은 pwm(실제로는 디지털)으로 0~255까지인거 기억하시고요.

 

오늘은 디지털입/출력에 대해 알아봤습니다.

간단하게 다 배웠네요 ㅎ

#ads_3

Comments