目次

IpidOutput()

IpidOutput()は最後に計算したPID出力値を返します。

IpidOutput コマンドの動作フロー

float IpidOutput(uint8_t id)

コマンド

コマンド 引数 戻り値 動作
IpidOutput(id) uint8_t id — PIDループ番号。0 ~ 255を使用可能 float 最後に計算したPID出力値を返します。

使用例

MPINO-16A8R8TのA0アナログ入力を0~1023の生値として読み、PID計算に使用します。計算結果はシリアルモニタに表示するだけで、出力端子は駆動しません。接続するセンサに合わせてA0の電圧・電流設定を確認してください。

const uint8_t PID_ID = 0;
 
void setup() {
  Serial.begin(115200);
  IpidSet(PID_ID, 2.0F, 0.4F, 0.1F, 100, 0.0F, 1023.0F);  // PID係数、計算周期、出力範囲を設定します。
}
 
void loop() {
  const float currentValue = analogRead(A0);  // A0のADC生値を読み出します。
  const float result = IpidRun(PID_ID, currentValue, 512.0F);  // A0の生値と目標値512からPID出力を計算します。
  const float lastResult = IpidOutput(PID_ID);  // 最後に計算したPID出力値を読み出します。
  Serial.println(lastResult);
  delay(100);
}

注意事項

同じカテゴリの内蔵コマンド

← 内蔵コマンド一覧