# PWM

{% tabs %}
{% tab title="1" %}

<figure><img src="https://2808519483-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FI2jtNl20mw4WYRE8MWgw%2Fuploads%2FWBtlhUaLdNjIpkS4xx4Z%2F8200E578-36FD-4A6F-A97E-58F31EC847FF.jpg?alt=media&#x26;token=c8718f97-1867-4c7e-86fe-b3fab1df7922" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="2" %}

<figure><img src="https://2808519483-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FI2jtNl20mw4WYRE8MWgw%2Fuploads%2FNgeVama2RHlHkSUkXdrC%2F8F97CFC9-A688-4483-AEA4-B75144C8443B.jpg?alt=media&#x26;token=796eb276-de5d-44e6-b334-e2a2653060d1" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="3" %}

<figure><img src="https://2808519483-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FI2jtNl20mw4WYRE8MWgw%2Fuploads%2FR4iYjvXNDkBc2OhfKj8n%2F94D56170-5CB9-4B5A-99B5-1D5071CA6258.jpg?alt=media&#x26;token=a6e3836b-c0a5-49d9-ae21-c54ea53b3397" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="4" %}

<figure><img src="https://2808519483-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FI2jtNl20mw4WYRE8MWgw%2Fuploads%2FOq4pSecWbFgHW4Dg8CdP%2F09036ACB-7BB1-4976-9F6B-27079EB2619E.jpg?alt=media&#x26;token=57160f56-d4e2-486c-a2e5-067b1c02f52a" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="5" %}

<figure><img src="https://2808519483-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FI2jtNl20mw4WYRE8MWgw%2Fuploads%2FR4iYjvXNDkBc2OhfKj8n%2F94D56170-5CB9-4B5A-99B5-1D5071CA6258.jpg?alt=media&#x26;token=a6e3836b-c0a5-49d9-ae21-c54ea53b3397" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="6" %}

<figure><img src="https://2808519483-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FI2jtNl20mw4WYRE8MWgw%2Fuploads%2FNgeVama2RHlHkSUkXdrC%2F8F97CFC9-A688-4483-AEA4-B75144C8443B.jpg?alt=media&#x26;token=796eb276-de5d-44e6-b334-e2a2653060d1" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="7" %}

<figure><img src="https://2808519483-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FI2jtNl20mw4WYRE8MWgw%2Fuploads%2FWBtlhUaLdNjIpkS4xx4Z%2F8200E578-36FD-4A6F-A97E-58F31EC847FF.jpg?alt=media&#x26;token=c8718f97-1867-4c7e-86fe-b3fab1df7922" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

## Code

```python
"""
PWM Demo Code
Breadstick Innovations
April 26, 2024
https://learn.breadstick.ca/breadstick/breadsticks/raspberry-breadstick/code-examples/pwm

duty_cycle is a 16-bit integer
2^16 = 65536 values
0 is one of those values,
so the range is 0-65535.

range(start,stop,step)
range(0,10,1) = 0,1,2,3,4,5,6,7,8,9
range(10,0,-1) = 10,9,8,7,6,5,4,3,2,1
"""

from board import *
from pwmio import PWMOut
from time import sleep

led_5 = PWMOut(D5, frequency=500, duty_cycle=0)

while True:
    for i in range(0,65535,100):
        led_5.duty_cycle = i
        sleep(0.001)
    for i in range(65535,0,-100):
        led_5.duty_cycle = i
        sleep(0.001)
```
