반응형

 




아날로그 값을 읽어와서 전압값으로 변환 후 시리얼로 출력하는 예제입니다.

참조한 원본 글은

  http://arduino.cc/en/Tutorial/ReadAnalogVoltage 입니다.

 

가변저항기의 양끝핀을 각각 5V와 그라운드에 연결해주고 가운데 핀은 아날로그0번에 연결합니다.

 

가변저항기를 좌우로 돌리면 저항값이 변하게 되는데 그에 따라 가운데 핀의 전압이 바뀌게 됩니다.

가변저항기의 5V가 연결된 핀 쪽으로 다돌리면 저항이 0에 가까워져서 가운데 핀에서는 5V의 전압이 됩니다. 반대로 가변저항기의 그라운드가 연결된 핀 쪽으로 다돌리면 저항이 10K옴에 가까워져서 가운데 핀에서는 0V의 전압이 됩니다.

아두이노의 아날로그-디지털 컨버터에 의해서 0~5V사이의 전압은 0~1023 사이의 값으로 변환됩니다. 다시 아날로그 전압으로 변환하기 위한 식은 아래처럼 계산되어 집니다.

Z : 1023 = Y : 5

1023 Y = 5 Z

Y = 5/1023 Z

 

  1. void setup() {  
  2.   //9600 bps 시리얼 통신을 초기화  
  3.   Serial.begin(9600);  
  4. }  
  5.     
  6. void loop() {  
  7.   // 아날로그핀 0로부터 입력을 읽어옴  
  8.   int sensorValue = analogRead(A0);  
  9.       
  10.   //아날로그 입력 sensorValue값을 아날로그 전압 voltage 변환  
  11.   float voltage = sensorValue * (5.0 / 1023.0);  
  12.       
  13.   //시리얼 상으로 아날로그 전압값을 출력  
  14.   Serial.println(voltage);  
  15. }  

 

가변저항기를 돌려보면 5V 전압과 0V전압사이의 값이 출력되는 것을 확인 할 수 있습니다.

반응형

문제 발생시 지나치지 마시고 댓글 남겨주시면 가능한 빨리 답장드립니다.

도움이 되셨다면 토스아이디로 후원해주세요.
https://toss.me/momo2024


제가 쓴 책도 한번 검토해보세요 ^^

+ Recent posts