Skip to content

Commit 0bc8505

Browse files
committed
add pwm demo and backlight setting demo
1 parent d2ad2d9 commit 0bc8505

File tree

3 files changed

+46
-1
lines changed

3 files changed

+46
-1
lines changed

examples/peripheral/pwm/pwm_servo.py

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
from maix import pwm, time, pinmap
2+
3+
SERVO_PERIOD = 50 # 50Hz 20ms
4+
SERVO_MIN_DUTY = 2.5 # 2.5% -> 0.5ms
5+
SERVO_MAX_DUTY = 12.5 # 12.5% -> 2.5ms
6+
7+
# Use PWM7
8+
pwm_id = 7
9+
# !! set pinmap to use PWM7
10+
pinmap.set_pin_function("A19", "PWM7")
11+
12+
13+
14+
def angle_to_duty(percent):
15+
return (SERVO_MAX_DUTY - SERVO_MIN_DUTY) * percent / 100.0 + SERVO_MIN_DUTY
16+
17+
18+
out = pwm.PWM(pwm_id, freq=SERVO_PERIOD, duty=angle_to_duty(0), enable=True)
19+
20+
for i in range(100):
21+
out.duty(angle_to_duty(i))
22+
time.sleep_ms(100)
23+
24+
for i in range(100):
25+
out.duty(angle_to_duty(100 - i))
26+
time.sleep_ms(100)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
from maix import pwm, time, display, image
2+
3+
disp = display.Display()
4+
5+
def show(i):
6+
img = image.Image(disp.width(), disp.height())
7+
img.draw_circle(disp.width() // 2, disp.height() //2, 50, image.COLOR_RED, thickness=-1)
8+
img.draw_string(2, 2, f"{i}%", image.COLOR_WHITE, scale=2)
9+
disp.show(img)
10+
11+
for i in range(100):
12+
disp.set_backlight(i)
13+
show(i)
14+
time.sleep_ms(50)
15+
16+
for i in range(100):
17+
disp.set_backlight(100 - i)
18+
show(100 - i)
19+
time.sleep_ms(50)

maix/version.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@
33

44
version_major = 4
55
version_minor = 1
6-
version_patch = 0
6+
version_patch = 2
77

88
__version__ = "{}.{}.{}".format(version_major, version_minor, version_patch)

0 commit comments

Comments
 (0)