ユーザ用ツール

サイト用ツール


ja-jp_commands:reference:idown

Idown()

Idown()は入力がONからOFFに変わる瞬間だけtrueを返します。

Idown コマンドの動作フロー

bool Idown(uint8_t id, bool input)

コマンド

コマンド 引数 戻り値 動作
Idown(id, input) uint8_t id
bool input
bool 入力がONからOFFに変わる瞬間だけtrueを返します。

使用例

const uint8_t COMMAND_INPUT = 0;
const uint8_t MOTOR_OUTPUT = 32;
 
void setup() {
  Serial.begin(115200);
}
 
void loop() {
  const bool input = IdigitalRead(COMMAND_INPUT, 5);  // 入力を連続して複数回読み、すべて一致した場合のみ状態を更新します。HIGHとLOWが混在する場合は前の安定状態を保持します。
  const bool started = Iup(0, input);  // 入力がOFFからONに変わる瞬間だけtrueを返します。
  const bool stopped = Idown(0, input);  // 入力がONからOFFに変わる瞬間だけtrueを返します。
  static bool run = false;
  Ialt(started, run);  // 入力の立ち上がりごとに指定状態をON/OFF反転します。
 
  digitalWrite(MOTOR_OUTPUT, run ? HIGH : LOW);
  if (started) Serial.println(F("motor started"));
  if (stopped) Serial.println(F("command released"));
}

注意事項

異なる信号に同じidを使用すると前の状態が混在する場合があります。Iscale入力範囲の最小値と最大値を同じ値にしないでください。

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

ja-jp_commands/reference/idown.txt · 最終更新: by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki