pwm_control.py
# هذا العمل مرخص بموجب ترخيص MIT.
# حقوق النشر (c) 2013-2023 OpenMV LLC. جميع الحقوق محفوظة.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# مثال التحكم بـ PWM
#
# يوضح هذا المثال كيفية استخدام PWM مع كاميرا OpenMV.
#
#
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# !!! ملاحظة !!!
# هذا هو الدبوس الحر الوحيد عند استخدام درع الرؤية (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% على PWM التالي.
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)