ja-jp_commands:reference: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です。 minとmaxは電気的出力範囲を直接設定する値ではなく、valueを解釈するユーザー入力範囲です。valueがmin~maxの範囲外の場合、内部のIscalef()により近い方の端点に制限されます。minをmaxより大きくすると出力方向が反転します。minとmaxが同じ場合、出力値は0になります。analogWriteInit()やanalogWriteFreq()でTimer TOPを変えると実際のanalogWrite()出力範囲も変わります。16ビット0~65535の分解能を維持するには既定のTOP65535を使用します。- 出力モジュールのDIPスイッチ、外部電源、配線と、接続機器の入力仕様を一致させてください。
- 同じタイマを使用するPWM、パルス出力、カウンタコマンドと同時使用しません。
同じカテゴリの内蔵コマンド
ja-jp_commands/reference/ianalogwrite.txt · 最終更新: by 127.0.0.1
