指定したピンにアナログ値(0~255)を出力します。
analogWrite関数は、次に同一ピンに対してanalogWriteやdigitalRead、digitalWriteなどがて使用されるまで矩形波が出力します。
PWM信号の周波数は@ピンによって約490Hzまたは約980Hzで出力します。(※Unoの5、6番ポートとLeonardoの3、11番ピンは約980Hz)
analogWrite()はpinMode()でピンを出力に設定する必要はありません。
Arduino Dueは2~13、DAC0とDAC1というPWMではなく、DA(Digital to Analog)アナログコンバータによる真のアナログ出力として機能します。
valueに0を指定すると、0Vの電圧が出力され、255を指定すると5Vが出力されます。ただし、これは電源電圧が5ボルトの場合で、3.3Vの電源を使用するボードでは3.3Vが出力されます。つまり、出力電圧の最大値は電源電圧と同じです。
●引数
pin | 書き込みたいピン番号 |
value | 書き込みたいPWM値 0~255 |
●Example from Arduino Web Site
[c]
int ledPin = 9; // LED connected to digital pin 9
int analogPin = 3; // potentiometer connected to analog pin 3
int val = 0; // variable to store the read value
void setup()
{
pinMode(ledPin, OUTPUT); // sets the pin as output
}
void loop()
{
val = analogRead(analogPin); // read the input pin
analogWrite(ledPin, val / 4); // analogRead values go from 0 to 1023, analogWrite values from 0 to 255
}
[/c]