NOBのArduino日記!

NOBのArduino日記!

趣味は車・バイク・自転車・ラジコン・電子工作です。

Arduino IDE(analogWrite関数の使い方)

analogWrite関数
 
 analogWrite関数は指定したピンにPWM信号(矩形波)を出力します。
 Arduino IDEで使用するanalogWrite関数の使い方は以下の通りです。
 試しにこのプログラムをArduino UNOで実行すると、5番ピンからデューティー比50%の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プログラムを止める
}
イメージ 1
プログラム例
 
analogWrite(pin, value)のパラメータ
pin     :設定したいピンの番号を指定します
value  デューティー比0%は0(0V)、50%は127(平均2.5V)、100%は255(5V)
    の様に、ON時間の割合を256段階で指定できます。
 
○PWMが出力できるピン
ArduinoUNOの場合「3,5,6,9,10,11番ピン」の計6本です。
※その他Arduinoの場合はこちら「ピン配置図」をご覧ください。
 
○PWMの周波数
ArduinoUNOの場合内部に有る3つのタイマーからPWM信号が作られており、
 タイマー①:5, 6番ピンから977Hzで出力
 タイマー②:9,10番ピンから490Hzで出力
 タイマー③:3,11番ピンから490Hzで出力
と①と②③で周波数が倍異なっている点に注意が必要です。
 
イメージ 1 イメージ 3
励みになりますのでよければクリック下さい(^o^)/

↩【ArduinoIDE reference】目次に戻る