아두이노 스위치 INPUT - adu-ino seuwichi INPUT

아두이노 스위치 INPUT - adu-ino seuwichi INPUT

INPUT! 알아보기

안녕하세요. 아토플래닛의 가현쌤입니다.다들 즐거운 주말 보내고 오셨나요?? 가현쌤은 주말 동안 집순이로 지냈답니다. 요새 밖이 너무 추워서 나가기가 무섭더라고요.그래서 밖에 나가지 않고 집에서 맛있는 귤 까먹으면서 푹 쉬고 왔습니다. 여러분들도 저처럼 주말 잘 보내셨기를 바래요. >3<

  오늘은 INPUT에 대해서 공부해 볼 거예요. 다들 공부할 준비되셨죠?! 그렇다면 아두이노 공부하러 출발!!
!GO GO!

아두이노 스위치 INPUT - adu-ino seuwichi INPUT


다들 pinMode에서의 OUTPUT 기억하시죠? OUTPUT은 어떤 뜻이었죠?
pinMode(13, OUTPUT);이면 ‘13번 핀을 출력으로 설정한다.’였습니다. 
그렇다면 pinMode(13, INPUT);은 어떤 뜻일까요? 바로 ‘13번 핀을 입력으로 설정한다.’입니다.  
OUTPUT, INPUT은 출력과 입력을 결정하는 언어라고 생각하시면 됩니다. 

즉 INPUT 입력이라는 신호를 이용해 '불을 켰다 껐다'. 하거나 선풍기의 '바람 세기를 조절'하는 것으로 설명할 수 있습니다.
 

아두이노 스위치 INPUT - adu-ino seuwichi INPUT


INPUT과 OUTPUT에 사용되는 부품들도 다양하답니다. 지금까지는 OUTPUT을 사용하는 LED에 대해서만 공부해 보았는데요, LED뿐만 아니라 스위치, 모터 등 출력에 사용될 것인지, 입력에 사용될 것인지에 따라 많은 액추에이터(부품)가 존재합니다.

먼저 OUTPUT 부품으로는 LED, 7세그먼트, 서보 모터 등이 있습니다.

아두이노 스위치 INPUT - adu-ino seuwichi INPUT


INPUT 부품으로는 스위치, 조도센서, 가변저항, 조이스틱, 초음파 센서 등이 있습니다.

아두이노 스위치 INPUT - adu-ino seuwichi INPUT

우리는 위와 같은 부품들을 INPUT과 OUTPUT으로 설정하여 다양한 장치들을 만들 수 있습니다.
예를 들어 스위치를 누르면 LED에 빛이 들어오고, 스위치를 누르지 않으면 LED에 빛이 들어오지 않도록 하는 코드를 작성할 수 있답니다.

 
오늘은 스위치의 입력값이 시리얼 모니터에 나타나도록 코드를 작성해보겠습니다. 회로도는 아래와 같이 연결해주시면 된답니다.
(이때 저항은 10k옴을 사용했습니다.)

아두이노 스위치 INPUT - adu-ino seuwichi INPUT

아두이노 스위치 INPUT - adu-ino seuwichi INPUT


위와 같이 코드를 작성하시면 스위치를 누르지 않았을 때는 0으로 출력되고 스위치를 누르면 1로 출력이 된답니다.

아두이노 스위치 INPUT - adu-ino seuwichi INPUT

'선생님 그런데 digitalRead()는 무엇인가요?'


여러분들 digitalWrite() 문은 자주 사용해서 디지털 신호 값을 출력하는 문이라는 것을 아실 거예요.
digitalRead() 문은 디지털 신호 값을 읽어들이는 문이랍니다. 버튼이 눌렸는지 안 눌렸는지 입력값을 받아오는 문이라고 생각하시면 됩니다.
입력값은 digitalRead() 문으로 읽어들이기 때문에 디지털 신호인 0 또는 1로 표현이 됩니다. 
한번 시리얼 모니터를 통해서 digitalRead() 값을 확인해 볼까요?

먼저 스위치를 누르지 않고 시리얼 모니터에 어떻게 출력이 되는지 보도록 하겠습니다.

아두이노 스위치 INPUT - adu-ino seuwichi INPUT

위의 시리얼 모니터를 보시면 계속 0으로 출력이 되죠? 스위치를 누르지 않았기 때문입니다.

다음으로는 스위치를 눌렀을 때의 시리얼 모니터 출력값을 확인해보도록 하겠습니다.

아두이노 스위치 INPUT - adu-ino seuwichi INPUT

스위치를 누르는 순간 출력값은 0에서 1로 변경이 됩니다. 스위치를 계속 누르고 있으면 계속 1로 출력이 되며, 스위치를 누르지 않는 순간 다시 0으로 변경이 됩니다. 


위에 회로도를 보시면 아직 어떻게 회로를 연결해야 하고, 저항이 왜 연결되야 하는지 어려우실 거예요. 오늘은 간단히 INPUT이 무엇인지 공부하였는데, 다음 시간에는 INPUT과 관련하여 풀업(PULLUP) 저항과 풀다운(PULLDOWN) 저항에 대해서 공부해보는 시간을 갖도록 하겠습니다. 

오늘도 열심히 공부하신 여러분 고생많으셨습니다. 다음시간에도 재밌는 아두이노 수업으로 찾아올게요!
안녕~

아두이노 스위치 INPUT - adu-ino seuwichi INPUT