====== IanalogFilter() ====== ''IanalogFilter()''は渡された値を移動平均処理します。 {{:ja-jp_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); } } ===== 注意事項 ===== * 製品ごとの対応チャネルとモジュールDIPスイッチの入力範囲を先に確認します。 * エラー定数を正常な測定値として使用しないでください。 * サンプル数を増やすと応答が遅くなり、メモリ使用量が増加します。 * MPINOの''A0''とMPAINOの''0''は物理的な意味が異なるため、製品群を変更するときは引数を再確認してください。 [[:ja-jp_commands:builtin|← 内蔵コマンド一覧]]