analogWrite関数
analogWrite関数は指定したピンにPWM信号(矩形波)を出力します。
5番ピンにLEDを接続するとLEDの明るさはデューティー比100%時に比べ半減します。
int PWM=127; //PWM変数を0~255に設定 void setup() { //一回だけ実行 pinMode(5,OUTPUT); //5番ピンを出力に設定 } void loop() { //{}内を無限ループで実行 analogWrite(5,PWM); //5番ピンをPWM/255×5Vで出力 delay(1000); //1000msプログラムを止める }
プログラム例
analogWrite(pin, value)のパラメータ
pin :設定したいピンの番号を指定します
の様に、ON時間の割合を256段階で指定できます。
○PWMが出力できるピン
ArduinoUNOの場合「3,5,6,9,10,11番ピン」の計6本です。
○PWMの周波数
ArduinoUNOの場合内部に有る3つのタイマーからPWM信号が作られており、
タイマー①:5, 6番ピンから977Hzで出力
タイマー②:9,10番ピンから490Hzで出力
タイマー③:3,11番ピンから490Hzで出力
と①と②③で周波数が倍異なっている点に注意が必要です。