본문 바로가기

아두이노(arduino)

아두이노 analogRead() 정보를 가져오자 #2

analogRead란 무엇인가?

앞서 포스팅한 digitalRead() 함수는 1, 혹은 0의 정보를 가지고 왔다. 즉 5v인가 혹은 0v인가의 확인을 했다면. analogRead는 0~1023 사이의 정보값을 가져올 수 있습니다.

 

앞서 포스팅한 디지털과 아날로그의 차이점을 그림을 나타냈으니 확인해보길 바랍니다.

 

2022.12.15 - [아두이노(arduino)] - 아두이노 인터페이스 #2- 각 부위 기능과 명칭 (입력 출력 핀)

 

 

아두이노 인터페이스 #2- 각 부위 기능과 명칭 (입력 출력 핀)

아날로그와 디지털 알고 갑시다! 일상생활에 일어나는 일로 예를 들어보겠습니다. 아날로그 입력 : 온도의 변화 / 자전거의 페달을 밟는 강도 아날로그 출력 : 조명이 점점 밝아짐 / 소리가 점차

ronco.tistory.com

 

 

디지털이 꺼짐과 켜짐의 두가지로 분류했다면, 아날로그로 불러들인 정보는 0v 5v 사이의 값들을 0과 1023으로 나타낼 수 있습니다.

 

0(gnd)                                         1(5v)

0     (사이에  많은 숫자가 존재)  1025

 

 

analogRead 함수의 구조

digitalRead를 사용하기 위해선 setup() 함수 안에 pinMode를 설정해 줬습니다. pinMode(7, INPUT) 이런 식으로 말이죠.

하지만, analogRead는 핀모드를 생략해도 됩니다. 아두이노 아날로그 핀을 보면 ANALOG IN 이라고 적혀있는 걸 볼 수 있습니다. 해당핀들은 초기에 아날로그 입력으로 설정이 되어있는 상태입니다. 

따라서 pinMode는 생략해도 됩니다. 하지만, 핀모드를 설정해도 상관은 없습니다. 익숙해지신분들이야 크게 상관없겠지만 digitalRead와 헷갈릴 수 있습니다. 따라서 익숙해지기 전까지는 핀모드를 사용해도 상관없습니다.

 

analogRead( 핀번호) A0~A5

 

정상적으로 작동하는지 확인해보도록 하겠습니다. 

가변저항사용하기_아두이노_가변저항_브레드보드
analogRead의 함수를 사용하기 위한 준비물 - 아두이노 / 가변저항 / 빵판 / 케이블 / usb케이블

 

 

필요한 부품들을 잘 준비해서 테스트해봅니다.

 

 

가변저항의 양쪽핀은 음극-, 양극+ 구분이 없으니 어느 쪽으로 꽂아도 상관없으나 가운데 핀은 핀번호니 잘 기억해 둡시다.

 

 

 

 

 

 

 

 

 

 

 

 

저는 레버를 정면으로 바라보고 있다고 가정하고 좌측부터  gnd, 가운데 핀번호 (A0), 우측 5v 순으로 연결해 줬습니다.

 

 

간혹 가변저항을 빵판에 연결할 때 헐겁게 연결하거나, 케이블을 잘못 연결해 0만 뜨거나 같은 값이 계속 올라오는 경우도 종종 발생합니다.  잘 확인해주고 업로드합니다.

 

 

 

 

연결한 뒤 코딩을 진행합시다.

코드를 업로드하고 가변저항을 돌려봅시다.

 

 

 

 

 

 

 

 

시계 반대방향 끝가지 회전시키니 0 시계방향으로 끝까지 돌리니 1023, 정상적으로 출력되는 것을 볼 수 있습니다. 다음엔 가변저항이 아닌 다른 센서의 사용기도 포스팅하도록 하겠습니다.