PWM Control Example

# This work is licensed under the MIT license.
# Copyright (c) 2013-2023 OpenMV LLC. All rights reserved.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# PWM Control Example
#
# This example shows how to use PWM.

import time
from pyb import Pin, Timer


class PWM:
    def __init__(self, pin, tim, ch):
        self.pin = pin
        self.tim = tim
        self.ch = ch


pwms = {
    "PWM1": PWM("PE12", 1, 1),
    "PWM2": PWM("PE11", 1, 2),
    #   'PWM3' : PWM('PA9',  1, 2),
    "PWM3": PWM("PA10", 1, 3),
    "PWM4": PWM("PE14", 1, 4),
    "PWM5": PWM("PB8", 4, 3),
    "PWM6": PWM("PB9", 4, 4),
}

# Generate a 1KHz square wave with 50% cycle on the following PWM.
for k, pwm in pwms.items():
    tim = Timer(pwm.tim, freq=1000)  # Frequency in Hz
    ch = tim.channel(pwm.ch, Timer.PWM, pin=Pin(pwm.pin), pulse_width_percent=50)

while True:
    time.sleep_ms(1000)

results matching ""

    No results matching ""