본문 바로가기
Study/Coding

ADC 최소값 최대값 출력

by LovEnable 2016. 1. 19.

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);

}