pwm_control.py

# Эта работа лицензирована по лицензии MIT.
# Copyright (c) 2013-2023 OpenMV LLC. All rights reserved.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Пример управления ШИМ (PWM)
#
# Этот пример показывает, как использовать ШИМ (PWM) на вашей камере OpenMV Cam.
#
#
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# !!! ПРИМЕЧАНИЕ !!!
# ЭТО ЕДИНСТВЕННЫЙ СВОБОДНЫЙ ВЫВОД ПРИ ИСПОЛЬЗОВАНИИ VISION SHIELD.
# НЕ ИСПОЛЬЗУЙТЕ НИКАКИЕ ДРУГИЕ ВЫВОДЫ ПРИ ИСПОЛЬЗОВАНИИ VISION SHIELD.
# PWM7/PH15
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

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('PA8',  1, 1), # TIM1 зарезервирован.
    "PWM2": PWM("PC6", 3, 1),
    "PWM3": PWM("PC7", 3, 2),
    # 'PWM4' : PWM('PG7',  0, 0), # HRTIM не поддерживается.
    "PWM5": PWM("PJ11", 8, 2),
    "PWM6": PWM("PK1", 8, 3),
    "PWM7": PWM("PH15", 8, 3),
}

# Сгенерировать на следующем канале ШИМ прямоугольный сигнал 1 кГц со скважностью 50%.
for k, pwm in pwms.items():
    tim = Timer(pwm.tim, freq=1000)  # Частота в Гц
    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 ""