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の周波数を変更する(タイマ/カウンタ レジスタ値の確認と変更)