ユーザ用ツール

サイト用ツール


ja-jp_commands:reference:ianalogwrite

IanalogWrite()

IanalogWrite()はユーザーの整数値をアナログ出力範囲に変換して出力します。

IanalogWrite コマンドの動作フロー

void IanalogWrite(uint8_t ch, int32_t min, int32_t max, int32_t value)

コマンド

コマンド 引数 戻り値 動作
IanalogWrite(ch, min, max, value) uint8_t ch — 出力するアナログ出力ピンまたはチャネル
int32_t min — ユーザー入力範囲の最小値
int32_t max — ユーザー入力範囲の最大値
int32_t value — 出力するユーザー入力値
void ユーザーの整数値をアナログ出力範囲に変換して出力します。

使用例

const uint8_t DEMAND_INPUT = A0;
const uint8_t OUTPUT_CHANNEL = 0;
 
void setup() {
  Serial.begin(115200);
}
 
void loop() {
  const int32_t demandPercent = IanalogRead(DEMAND_INPUT, 0, 100);  // アナログ入力値を指定した整数範囲に変換します。
  IanalogWrite(OUTPUT_CHANNEL, 0, 100, demandPercent);  // ユーザーの整数値をアナログ出力範囲に変換して出力します。
 
  Serial.print(F("demand="));
  Serial.print(demandPercent);
  Serial.println(F("%"));
  delay(250);
}

注意事項

  • 引数の順序は必ずch, min, max, valueです。
  • minmaxは電気的出力範囲を直接設定する値ではなく、valueを解釈するユーザー入力範囲です。
  • valuemin~maxの範囲外の場合、内部のIscalef()により近い方の端点に制限されます。
  • minmaxより大きくすると出力方向が反転します。
  • minmaxが同じ場合、出力値は0になります。
  • analogWriteInit()analogWriteFreq()でTimer TOPを変えると実際のanalogWrite()出力範囲も変わります。16ビット0~65535の分解能を維持するには既定のTOP 65535を使用します。
  • 出力モジュールのDIPスイッチ、外部電源、配線と、接続機器の入力仕様を一致させてください。
  • 同じタイマを使用するPWM、パルス出力、カウンタコマンドと同時使用しません。

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

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

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki