pwmWrite()
原文
PWM波をピンに書き込みます。 これを使用して、LEDをより明るくまたはより暗くしたり、サーボモータを制御したりすることができます。pwmWrite()を呼び出した後、ピンは与えられたデューティサイクルで安定した方形波を出力します。 後でデューティサイクルを変更するには、同じピンと異なるデューティでpwmWrite()を再度呼び出します。
PWM]サポートするピンには、ボードのシルクスクリーン上のPWM番号が表示されます。 これらのピン番号は、boardPWMPinsボード固有の配列でプログラムで使用できます。 ボード上でPWMが可能なピンの数はBOARD_NR_PWM_PINS定数で与えられます。 これらの値は、Board Hardware Documentationページの各ボードについて文書化されています。
Arduino関数のanalogWrite()はpwmWrite()のエイリアスですが、名前が悪く、その使用はお勧めしません。
書式
void pwmWrite(uint8 pin, uint16 duty_cycle)
所定のピンにPWMデューティを設定します。
ユーザーコードは、設定された期間に基づいて最大値を決定し、尊重することが期待されます。
引数
pin :PWM出力端子
duty_cycle :設定するデューティサイクル。
利用例
ポテンショメータから読み取った値に比例した出力をLEDに設定します。
code:sample.ino
int analogPin = 3; // potentiometer connected to analog pin 3
void setup() {
pinMode(LED_BUILTIN, OUTPUT); // sets the LED pin as output
pinMode(analogPin, INPUT_ANALOG); // sets the potentiometer pin as
// analog input
}
void loop() {
int val = analogRead(analogPin); // read the input pin
pwmWrite(LED_BUILTIN, val * 16); // analogRead values go from 0
// to 4095, pwmWrite values
// from 0 to 65535, so scale roughly
}
関連項目
PWM
analogWrite()
BOARD_NR_PWM_PINS
boardPWMPins
License and Attribution: Portions of this page were adapted from the Arduino Reference Documentation, which is released under a Creative Commons Attribution-ShareAlike 3.0 License.
このドキュメントはleafLabs, LLC.が執筆し、たま吉が翻訳・一部加筆修正したものです。
Arduino STM32 リファレンス 日本語版 に戻る