대부분의 아두이노에서 사용되는 ATmega 계열의 마이크로콘트롤러는 아날로그 입력을 받을 수 있는 A/D변환 핀이 있는데 A0, A1, A2, .. 와 같이 이름이 붙어 있다.  이 핀들은 일반적인 디지털 핀으로도 사용할 수 있다. 따라서 아두이노에서 사용자가 디지털 핀의 수가 부족해서 더 필요하다면 아날로그 핀을 디지털 핀으로 사용할 수 있다, 아래 그림에서 보듯이 아두이노 우노의 경우 A0 부터 A5 까지 6개의 아날로그핀이 있다



[그림 1] 아두이노의 아날로그 핀들


만약 A0핀을 디지털 출력핀으로 사용하고 싶다면 다음과 같이 A0 상수를 이용하여 pinMode()함수를 호출한다.


pinMode(A0, OUTPUT);
digitalWrite(A0, HIGH); 혹은  digitalWrite(A0, LOW);


다른 예로 A1핀을 디지털 입력핀으로 사용하고 싶다면 A1상수를 이용하면 된다. 입력으로 설정할 때 내부 풀업 저항도 연결할 수 있다.


pinMode(A1, INPUT);
pinMode(A1, INPUT_PULLUP);


그리고 digitalRead() 함수를 똑같이 사용할 수 있다.


int ia = digitalRead(A1);


이전 포스트에서 설명한 것 처럼 A0핀은 디지털 14번 핀으로 사용되는 것이다, A1은 15번 핀이고 A5는 19번 핀이다.


 만약 디지털 핀이 부족하다면 이와 같은 방법으로 아날로그 핀도 디지털 핀과 똑같이 사용할 수 있다.


아두이노 강좌 전체 목록 (TOP) >>>

C++ 언어 전체 강좌 목록 >>>

c{ard},n{ad021}

Posted by 살레시오

댓글을 달아 주세요

  1. kim 2015.09.17 14:11  댓글주소  수정/삭제  댓글쓰기

    디지털 핀을 아날로그 핀으로 사용할 수 있는 방법은 없습니까??

  2. 살레시오 2015.09.17 14:58 신고  댓글주소  수정/삭제  댓글쓰기

    그건 불가능합니다.

  3. 상근 2019.01.22 07:52  댓글주소  수정/삭제  댓글쓰기

    Attiny85도 가능한가요?