diff options
Diffstat (limited to 'source/wirish/pwmwrite.rst')
-rw-r--r-- | source/wirish/pwmwrite.rst | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/source/wirish/pwmwrite.rst b/source/wirish/pwmwrite.rst new file mode 100644 index 0000000..b1f0515 --- /dev/null +++ b/source/wirish/pwmwrite.rst @@ -0,0 +1,52 @@ +.. highlight:: cpp + +.. _wirish-pwmwrite: + +pwmWrite() +========== + +Writes a :ref:`PWM wave <pwm>` to a pin. You can use this to make an +LED get brighter or dimmer, control a servomotor, etc. After a call to +pwmWrite(), the pin will output a steady square wave with the given +duty cycle. You can change the duty cycle later by calling pwmWrite() +again with the same pin and a different duty. + +.. contents:: Contents + :local: + +Library Documentation +--------------------- + +.. doxygenfunction:: pwmWrite + +Example +------- + +Sets the output to the LED proportional to the value read from the +potentiometer (adapted for Maple from the Arduino `analogWrite() +reference <http://www.arduino.cc/en/Reference/AnalogWrite>`_\ ):: + + + int ledPin = 13; // LED connected to pin 13 (Maple-specific) + 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 LED pin as output + + pinMode(analogPin, PWM); // sets the potentiometer pin as PWM + // output (Maple-specific) + } + + void loop() { + val = analogRead(analogPin); // read the input pin + + analogWrite(ledPin, val / 16); // analogRead values go from 0 to 4095, + // analogWrite values from 0 to 65535 + // (Maple-specific) + } + +See Also +-------- + +- :ref:`Maple PWM tutorial <pwm>` |