Skip to content

JE
조회 수 124 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

먼저 살펴볼 예제는 아두이노 공식 홈페이지에 소개된 포텐셔미터 입력(AnalogReadSerial) 예제입니다.

http://arduino.cc/en/Tutorial/AnalogReadSerial

VL.jpg

 

 

간단하죠. 5V, GND를 포텐셔미터에 연결하고 포텐셔미터의 가운데 핀을 아날로그 0번 핀으로 연결합니다. 포텐셔미터(Potentiometer)는 동그란 손잡이를 시계, 반시계 방향으로 돌릴 때 마다 내부의 저항이 바뀌는 장치입니다. 그래서 가운데 핀(아날로그 0번 핀)으로 들어가는 전압이 바뀝니다. 즉, 아날로그 0번 핀으로 입력받는 전압이 0V ~ 5V 사이에서 변화하는데 이 값을 읽어서 입력 장치처럼 사용하는 것입니다.

 

VL1.jpg

 

 

지난 시간에는 버튼의 on/off 를 읽었기 때문에 digitalRead() 함수를 사용했죠. 이제는 0V~5V 사이에서 변화하는 값을 읽어야 하기 때문에 analogRead() 함수를 사용할 것입니다. 이름처럼 analogRead() 함수는 입력된 전압에 따라 0~1023 까지의 값을 반환해주는 함수입니다.

즉, 아두이노는 0V에서 동작전압 5V 까지를 1024등분해서 값을 알려준다는 얘기입니다. 이렇게 Analog 값(전압 입력 값)을 digital 값(0~1023)으로 변환해주는 모듈을 ADC(Analog to Digital Converter)라고 부르고 아두이노가 자체적으로 가지고 있습니다. 아두이노는 ADC 가 1024 단계(2^10)로 구분할 수 있기 때문에 10비트의 분해성능을 가지고 있다고 합니다.

analogRead() 함수로 읽은 값은 USB serial 로 출력합니다.(즉 PC로 전송해서 PC에서 확인할 수 있도록 해줌) 아두이노 개발환경이 제공하는 Serial Monitor로 확인하면 0부터 1023 사이의 값이 주르륵 나오고 포텐셔미터를 돌릴 때마다 그 값이 변화해서 나올겁니다.

이제 코드를 확인해 보겠습니다.


/*
  AnalogReadSerial
  Reads an analog input on pin 0, prints the result to the serial monitor.
  Attach the center pin of a potentiometer to pin A0, and the outside pins to +5V and ground.
 
 This example code is in the public domain.
 */
 
// the setup routine runs once when you press reset:
void setup() {
  // initialize serial communication at 9600 bits per second:
  Serial.begin(9600);
}
 
// the loop routine runs over and over again forever:
void loop() {
  // read the input on analog pin 0:
  int sensorValue = analogRead(A0);
  // print out the value you read:
  Serial.println(sensorValue);
  delay(1);        // delay in between reads for stability
}


소스코드는 매우 간단합니다. Serial monitor를 통해 포텐셔미터의 값을 출력하는 부분을  제외하면 실질적으로 아래 라인이 전부입니다.
 
   int sensorValue = analogRead(A0);

A0(아날로그 0번) 핀에서 0~1023 으로 구분된 값을 읽는 것이죠. 여기서 한가지 생각하셔야 할 점은 digitalRead 함수를 쓸 때 처럼 pinMode 함수로 read/write 모드를 설정해 주지 않았다는 점입니다. 이것은 analogRead를 사용할 수 있는 핀이 아날로그 입력핀인 A0~A5(또는 A7) 로 고정되어 있고 여기에는 Read 작업만 할 수 있어서 모드를 설정할 필요가 없기 때문입니다. 그래서 포텐셔미터를 아날로그 핀에 연결해서 analogRead를 사용한 것입니다.


  1. No Image

    블루투스 테스트

    좋음 : http://deneb21.tistory.com/267 http://www.hardcopyworld.com/ngine/aduino/index.php/archives/177  
    Date2017.04.07 ByJE Views168
    Read More
  2. 가변저항으로 LED 밝기 조절

    http://dreamholic.tistory.com/75     int sensorPin=A3; int ledPin=3; int sensorValue=0; void setup(){   pinMode(ledPin,OUTPUT);   Serial.begin(9600); } void loop() {  sensorValue= analogRead(sensorPin);  Serial.println(sensorValue);  int led...
    Date2017.01.23 ByJE Views120
    Read More
  3. 아날로그값 읽기 (볼륨사용)

    먼저 살펴볼 예제는 아두이노 공식 홈페이지에 소개된 포텐셔미터 입력(AnalogReadSerial) 예제입니다. http://arduino.cc/en/Tutorial/AnalogReadSerial     간단하죠. 5V, GND를 포텐셔미터에 연결하고 포텐셔미터의 가운데 핀을 아날로그 0번 핀으로 연결합...
    Date2017.01.23 ByJE Views124
    Read More
  4. PWM을 통한 LED제어

    우노(Uno)의 경우 "Digital(PWM~)" 라고 표시되어 있는데 핀번호 앞에 "~"가 붙어 있는 것이 PWM으로 사용될 수 있스빈다. PWM은  Pulse Width Modulation 이란 약자로 펄스의 폭을 조절해서 출력을 낸다는 의미입니다.   PWM에 대한 설명은 아래를 참조하시고...
    Date2017.01.17 ByJE Views161
    Read More
  5. Input Pullup Serial

      2번핀의 스위치를 연결하여 누르면 13번  LED가 점등하게 합니다. 2번핀이 눌러졌을 때는 1->0 으로 변하게 하기 위해 2번핀에 미리 High 전압을 걸어두는 이것을 Pull-up이라고 합니다. 보통은 저항을 연결해서 +5V에 걸어 두는데 아두이노 보드에서는 소...
    Date2017.01.16 ByJE Views155
    Read More
  6. Example1 : 13 번핀에 LED 발광시키기

    아두이노 보드에는 아래 그림과 같이 GND와 핀3번에 LED를 연결시킵니다. 이때 LED의 극성에 주의를 해야 한다. 그림에 LED내부 모습이 잘 그려져 있는데 이를 비교해서 극성을 잘 구분해서 연결해야합니다.     int LedPin = 13; // LED on pin 13 void setup...
    Date2017.01.12 ByJE Views116
    Read More
  7. 스케치의 기본 구조

        스케치 프로그램의 최소 구조는 void setuo() { } void loop() { } 과 괕이 setup()과 loop() 두가지 함수는 반드시 있어야 합니다.   그리고 일반적인 기본 구조는 #라이브러리 #전처리 void setuo() { pinMode() Serial.begin() ... } void loop() { } ...
    Date2017.01.12 ByJE Views142
    Read More
  8. 설치와 아두이노보드 구조

        아두이노의 홈페이지는 https://www.arduino.cc/  입니다. 해당 홈에서 Download 메뉴를 찾아서 자신의 윈도우즈에 맞는 설치파일을 다운 받습니다. 주로  "Windows installer" 를  클릭해서 설치하면 됩니다. 대체로 대부분 OS환경에서는 안전하게 설치...
    Date2017.01.12 ByJE Views87
    Read More
Board Pagination Prev 1 Next
/ 1

Powered by Xpress Engine / Designed by Sketchbook

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소