====== IanalogFilter() ====== ''IanalogFilter()''는 전달한 값을 이동평균 방식으로 처리합니다. {{:commands:reference:ianalogfilter.svg?900|IanalogFilter 명령어 동작 흐름}} ''int32_t IanalogFilter(uint8_t id, int32_t raw_value, uint8_t samples)'' ===== 명령어 ===== ^ 명령어 ^ 인수 ^ 반환값 ^ 동작 ^ | ''IanalogFilter(id, raw_value, samples)'' | ''uint8_t id'' — 필터 식별번호\\ ''int32_t raw_value'' — 새 입력값\\ ''uint8_t samples'' — 평균 샘플 수 | ''int32_t'' | 전달한 값을 이동평균 방식으로 처리합니다. | ===== 예제 ===== void setup() { Serial.begin(115200); analogReadInit(IANALOG_SPS_128); // 아날로그 입력 모듈의 샘플링 속도를 설정합니다. } void loop() { const int32_t raw = analogRead(A0); // 지정한 채널의 원시 아날로그값을 읽습니다. const int32_t filtered = IanalogFilter(0, raw, 10); // 전달한 값을 이동평균 방식으로 처리합니다. static int32_t previous = 0; if (abs(filtered - previous) >= 5) { previous = filtered; Serial.println(filtered); } } ===== 주의사항 ===== * 제품별 지원 채널과 모듈 딥스위치 입력 범위를 먼저 확인합니다. * 오류 상수를 정상 측정값으로 사용하지 않습니다. * 샘플 수를 크게 설정하면 응답이 느려지고 메모리 사용량이 증가합니다. * MPINO의 ''A0''와 MPAINO의 ''0''은 같은 물리 의미가 아니므로 제품군 변경 시 인자를 다시 확인합니다. [[commands:builtin|← 내장 명령어 리스트]]