analogWrite

説明

指定されたアナログピンからアナログ値(PWM)を出力します。
この機能によって、LEDの輝度を変えたり、モーターの駆動速度をコントロールすることができます。
analogWrite関数が実行されると、次にanalogWriteやdigitalRead、digitalWriteなどがそのピンに対して使用されるまで、安定した矩形波が出力されます。

書き方 analogWrite(ピン番号,アナログ値)
戻り値 無し
引数 ピン番号(uint8_t)… ピン番号
アナログ値(int)…0(常にオフ)から255(常にオン)の間のデューティー比
ボード別PWMピンと周波数
ボード PWMピン PWM周波数
Uno, Nano, Mini 3, 5, 6, 9, 10, 11 490 Hz (pins 5 and 6: 980 Hz)
Mega 2 – 13, 44 – 46 490 Hz (pins 4 and 13: 980 Hz)
Leonardo, Micro, Yún 3, 5, 6, 9, 10, 11, 13 490 Hz (pins 3 and 11: 980 Hz)
Uno WiFi Rev2, Nano Every 3, 5, 6, 9, 10 976 Hz
MKR boards * 0 – 8, 10, A3, A4 732 Hz
MKR1000 WiFi * 0 – 8, 10, 11, A3, A4 732 Hz
Zero * 3 – 13, A0, A1 732 Hz
Nano 33 IoT * 2, 3, 5, 6, 9 – 12, A2, A3, A5 732 Hz
Nano 33 BLE/BLE Sense 1 – 13, A0 – A7 500 Hz
Due ** 2-13 1000 Hz
101 3, 5, 6, 9 pins 3 and 9: 90 Hz,
pins 5 and 6: 980 Hz

※ MKRとNano33 IoT、Zeroボードでは、AC0(A0)ピンに対してanalogWrite()を利用で真のアナログ出力を行うことができます。

※ Dueボードでは、DAC0とDAC1ピンに対してanalogWrite()を利用することで真のアナログ出力を行うことができる。

※analogWrite()を呼び出す前にpinMode()を利用してピンの設定を行う必要はありません。

プログラム例

可変抵抗を回すとその値に応じてLEDの輝度を変えるプログラム

注意

ピン5と6で生成されたPWM出力は、も高いデューティサイクルを持ちます。
これは、これらのPWM出力の生成に使用されるのと同じ内部タイマーmillis()およびdelay()関数との相互作用によるものです。

これは、例えば、低デューティサイクル設定(たとえば0〜10)で使用するとき、5番ピン6番ピンに0に設定しても出力が完全にオフにならない可能性があります。

タイトルとURLをコピーしました