ja-jp_commands:reference:ialt
Ialt()
コマンド
| コマンド | 引数 | 戻り値 | 動作 |
|---|---|---|---|
Ialt(input, state_var) | bool inputbool &state_var | void | 入力の立ち上がりごとに指定した状態をON・OFF反転します。 |
使用例
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/ialt.txt · 最終更新: by 127.0.0.1
