ArduinoのPWM周波数を変更する

ArduinoのanalogWriteでPWM出力できるのは、デジタルピンの~が付いた3, 5, 6, 9, 10, 11の6つ。3と11, 5と6, 9と10が同じタイマーを使うようになっている。
詳しくは、次のサイトをチェック。とても詳しくてわかりやすい。
analogWrite()

今回は9, 10を使う事にした。
次のようにTCCR1A, TCCR1Bを設定する事で、約30kHzに設定できた。

void setup() {
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);

  TCCR1A = 0b00000001;
  TCCR1B = 0b00000001;

  analogWrite(9, 127);
  analogWrite(10, 127);
}

このページも参考になる。
PMWの周波数を変更する(タイマ/カウンタ レジスタ値の確認と変更)

カテゴリー: Arduino, 部品 タグ: , , , パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA