ユーザ用ツール

サイト用ツール


ja-jp_commands:reference:ialt

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

次のリビジョン
前のリビジョン
ja-jp_commands:reference:ialt [2026/09/07 21:53] – 만듦 - 바깥 편집 127.0.0.1ja-jp_commands:reference:ialt [2026/09/08 00:53] (現在) – 바깥 편집 127.0.0.1
行 16: 行 16:
  
 <code cpp> <code cpp>
-bool lampState false;+const uint8_t COMMAND_INPUT 0; 
 +const uint8_t MOTOR_OUTPUT = 32; 
 + 
 +void setup() { 
 +  Serial.begin(115200); 
 +}
  
 void loop() { void loop() {
-  Ialt(digitalRead(0), lampState); +  const bool input = IdigitalRead(COMMAND_INPUT, 5);  // 入力を連続して複数回読み、すべて一致した場合のみ状態を更新します。HIGHとLOWが混在する場合は前の安定状態を保持します。 
-  digitalWrite(32lampState);+  const bool started = Iup(0, input);  // 入力がOFFからONに変わる瞬間だけtrueを返します。 
 +  const bool stopped = Idown(0input);  // 入力がONからOFFに変わる瞬間だけtrueを返します。 
 +  static bool run = false; 
 +  Ialt(started, run);  // 入力の立ち上がりごとに指定状態をON/OFF反転します。 
 + 
 +  digitalWrite(MOTOR_OUTPUTrun ? HIGH : LOW); 
 +  if (started) Serial.println(F("motor started")); 
 +  if (stopped) Serial.println(F("command released"));
 } }
 </code> </code>
行 27: 行 39:
  
 異なる信号に同じ''id''を使用すると前の状態が混在する場合があります。''Iscale''入力範囲の最小値と最大値を同じ値にしないでください。 異なる信号に同じ''id''を使用すると前の状態が混在する場合があります。''Iscale''入力範囲の最小値と最大値を同じ値にしないでください。
 +
  
 [[:ja-jp_commands:builtin|← 内蔵コマンド一覧]] [[:ja-jp_commands:builtin|← 内蔵コマンド一覧]]
  
ja-jp_commands/reference/ialt.1788785588.txt.gz · 最終更新: by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki