[코딩노트_I/Os] 디지털 입출력

September 19, 2018

 

안녕하세요.

디지털 입출력 함수는 아두이노를 제어할 때 제일 먼저 다루게 되는 기능입니다.

 

 

 

아두이노 우노를 기준으로 디지털 입출력 핀 총 14개를 입력 또는 출력으로 설정해서 사용합니다.

 

핀 번호 0번에서 13번까지 핀으로 구성되며, 이 중 몇 개의 핀은 부가적인 기능이 있습니다.

 

 

디지털 입출력에 대한 하드웨어 설명은 다른 포스팅에서 설명하도록 하며 본 포스팅에서는 디지털 입출력에 대한 사용법에 한정해서 다루겠습니다.

 

 

 

먼저 디지털 입출력에 대한 함수 3개를 알아보겠습니다.

 

 

 

첫 번째 만나볼 함수는 pinMode() 함수입니다.

이 함수는 지정된 디지털 핀을 입력 핀 또는 출력 핀으로 동작하게 합니다. 부가적으로 입력 설정 옵션 중 하나로 내부 풀업저항을 함께 사용하도록 설정할 수 있습니다.

이 저항은 외부의 스위치 회로와 연결할 때 부가적인 저항 회로를 제거할 수 있습니다.

 

함수. 

  pinMode(pin, mode)

 

매개변수.

  pin: 디지털 핀 번호

  mode: INPUT(입력), OUTPUT(출력), INPUT_PULLUP(입력_내부 풀업)

 

반환.

  없음

 

 

 

두 번쨰 만나볼 함수는 digitalWrite() 함수 입니다.

이 함수는 지정된 디지털 핀이 출력으로 설정되었을 때, HIGH 또는 LOW를 선택하여 지정된 핀에 대응하는 5[V] 또는 0[V]를 출력하게 합니다.

만일 지정된 디지털 핀이 입력으로 설정되었다면, HIGH는 "내부 풀업저항 활성화", LOW는 "내부 풀업저항 비활성화" 동작을 하게 합니다. 그러나 내부 풀업저항의 사용은 pinMode() 함수를 사용하는 것이 올바른 방법입니다.

 

함수. 

  digitalWrite(pin, value)

 

매개변수.

  pin: 디지털 핀 번호

  value: HIGH(5[V]), LOW(0[V])

 

반환.

  없음

 

 

 

세 번쨰 만나볼 함수는 digitalRead() 함수 입니다.

이 함수는 지정된 디지털 핀이 입력 또는 출력으로 설정되었을 때, 해당 핀에 입력되는 5[V] 또는 0[V]를 읽어와 대응하는 HIGH 또는 LOW로 반환합니다. 

 

함수. 

  digitalRead(pin)

 

매개변수.

  pin: 디지털 핀 번호

 

반환.

  HIGH(5[V]), LOW(0[V])

 

 

다음은 위에서 설명드린 디지털 입출력 제어 함수 3개를 사용한 예제입니다.

 

 

샘플코드1. 디지털 13번 핀을 출력으로 설정하고 1초에 한 번 켜고 끄는 동작 반복

 

다음은 ARDU-STAND V1에서 샘프코드1을 구동한 영상입니다.

 [ARDU-STAND V1 샘플코드1 구동 영상]

 

 

 

 

다음은 ARDU-STAND V1에서 샘프코드2를 구동한 영상입니다.

 [ARDU-STAND V1 샘플코드2 구동 영상]

 

 

 

샘플코드3. 디지털 13번 핀을 입력으로 설정하고 푸시버튼을 통해 입력 읽어와 7번 핀에 출력하기

 

 

처음 푸시버튼이 눌렸을 때 13번 핀 LED가 켜지는 이유는 13번 핀에 HIGH가 입력을 모니터링 할 수 있어 LED가 켜지지거나 꺼집니다. 스케치 업로드 이후 13번 핀에 입력이 들어오면 7번핀에 똑같이 출력이 되는 동작을 확인할 수 있습니다.

 [ARDU-STAND V1 샘플코드3 구동 영상]

 

 

이상으로 아두이노의 디지털 입출력에 대한 동작에 대해 살펴 보았습니다.

 

만일 잘못되거나 부족한 정보는 추후  업데이트 하겠습니다.

 

감사합니다.

 

Share on Facebook
Share on Twitter
Please reload

 상호  주식회사 디벨롭테인먼트 / Developtainment Co., Ltd

 대표  이종건

 주소  대전광역시 유성구 가정로 218 ETRI 융합기술연구생산센터 1층 108호 (34129) 

           108, 1F, Convergence Technology Commercialization Center, 218 Gajeongro, Yuseong-gu, Daejeon, 34129, Korea​​

메일  appskit@appskit.co.kr

 전화  070-4028-1165

© 2017. Developtainment Co., Ltd All rights reserved.

본 홈페이지에 게시된 이메일 주소가 자동수집되는 것을 거부하며, 이를 위반시 정보통신망법에 의해 처벌됨을 유념하시기 바랍니다.

 참고  본 사이트는 구글 크롬 브라우저로 보시면 원활합니다.