본 강좌는 지인의 사이트에서 허락받고 퍼온 강좌입니다.
다른곳으로 불펌하시면 곤란합니다.
그리고 제가 아두이노를 그리 잘 알지는 못합니다.
저한테 물어보시는것도 곤란.... ^^
#ads_1
아날로그로 입력받는 방법을 알아봅시다
오늘의 주인공은 가변저항입니다
요놈인데요. 손톱만한건데 무지 크게 나와서 웬지 비싸보이네요 ㅋ
모양과 크기는 여러가지가 있는데 저한테 있는건 튼실한 요놈이네요~
왼쪽, 오른쪽 핀이 각각 VCC와 GND이고요 극성은 없기 때문에 아무 방향으로나 연결하시면 됩니다.
저항은 원래 극성이 없습니다.(극성 있는것도 존재하는지는 몰것습니다요)
중간다리가 신호단자입니다. 위에 손잡이를 왼쪽 오른쪽으로 돌리면 저항값이 바뀌게 되어있습니다.
자 그럼 아두이노에 연결해서 손잡이를 돌릴때마다 달라지는 저항값을 입력 받아보도록 하겠습니다.
회로를 아래와 같이 연결해주세요
#ads_2
양쪽 다리를 아두이노의 5V와 GND에 연결하고 중간다리를 아날로그 핀(A0)에 연결하였습니다.
그럼 코드를 입력합시다
void setup() { Serial.begin(9600); }
void loop() { int val = analogRead(A0); Serial.println(val); delay(100); }
|
와우~ 디~~게 간단하네요.
아날로그 입력은 따로 pinMode 설정을 할 필요가 없습니다.
대신 A0~A5(UNO 기준 개수) 같이 상수로 정의되어 있습니다.
analogRead() 가 바로 아날로그 신호값을 읽어오는 함수입니다.
업로드를 하고 시리얼 모니터를 열어 봅시다
그리고 가변저항의 손잡이를 잡고 이리 저리 돌려보세요
숫자가 변하는게 보이시죠?
아날로그 입력값은 10bit로 0~ 1023 (2진수 1111111111)까지의 범위로 입력됩니다.
입력된 이 값을 가지고 스피커 볼륨을 조절한다든지 LED 불빛의 조도를 조절한다든지 보일러 온도를 맞춘다든지 활용범위는 무궁무진 합니다.
아날로그 입력은 간단하죠?
#ads_3