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); } }
A0와 MPAINO의 0은 같은 물리 의미가 아니므로 제품군 변경 시 인자를 다시 확인합니다.