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);
}
'Study > Coding' 카테고리의 다른 글
nRF52DK 보드를 디버거로 사용하기 (0) | 2020.12.21 |
---|---|
ITS-1500S를 사용하여 핀하나로 조이스틱 버튼 구성하기 (0) | 2020.12.21 |
UART 간단하게 스위치하기 (0) | 2020.12.18 |
8MHz 이하의 아두이노 보드에서 WS2812(네오픽셀) 사용하기 (0) | 2020.12.18 |
여러 아날로그 센서값 출력 (1) | 2016.01.19 |