# 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)