Study/Coding

ADC 최소값 최대값 출력

LovEnable 2016. 1. 19. 22:27

ADC 최소값 최대값 출력


센서를 사용하다보면 센서를 센서의 최소값과 최대값이 필요한 경우가 생긴다.

즉, peak 값이 필요한 경우인데, 소리를 감지하는 경우에 사용하게 된다. (박수소리 감지 등등...)



아두이노 기본 함수에는 

min() 과 max() 라는 함수가 있어서 이를 이용하면 쉽게 최대값과 최소값을 나타낼 수 있다.

min()은 인자로 쓰인 두개의 숫자를 비교해서 더 작은 값을 반환해주고,

max()의 경우에는 마찬가지지만 더 큰 숫자를 반환한다.


아래의 예제에는 아날로그 센서값을 for문을 사용해 일정 횟수 체크해서 그사이의 최대값과 최소값을 구한 뒤에 

시리얼 통신으로 화면에 출력하는 예제이다.




void setup() {

  Serial.begin(9600);

}


void loop() {


  int min0 = 0;

  int max0 = 0;


  min0 = analogRead(A0);

  

  for (int i = 0; i < 1000; ++i)

  {

    int val = analogRead(A0);

    min0 = min(min0, val);

    max0 = max(max0, val);

  }


  Serial.print(min0);

  Serial.print(" : ");

  Serial.println(max0);

}