PWM sweep test working
This commit is contained in:
+14
-14
@@ -5,21 +5,21 @@ import time
|
||||
|
||||
# Open GPIO chip (0 = /dev/gpiochip0, on Pi 5 gpiochip4 also possible)
|
||||
h = lgpio.gpiochip_open(0)
|
||||
|
||||
# Hardware PWM on GPIO18 (pin 12) must be PWM-capable
|
||||
pwm_pin = 18
|
||||
pwm_freq = 1000
|
||||
try:
|
||||
lgpio.gpio_claim_output(h, 16) # GPIO16 as output (MOTA2)
|
||||
lgpio.gpio_write(h, 16, 0) # LOW
|
||||
while True:
|
||||
for pwm_level in range(0,100):
|
||||
lgpio.tx_pwm(h, pwm_pin, pwm_freq, pwm_level)
|
||||
pwm_level += 10
|
||||
time.sleep(0.05)
|
||||
for pwm_level in range(100,0,-1):
|
||||
lgpio.tx_pwm(h, pwm_pin, pwm_freq, pwm_level)
|
||||
pwm_level += 10
|
||||
time.sleep(0.05)
|
||||
|
||||
# Hardware PWM on GPIO18 (pin 12) must be PWM-capable
|
||||
# Frequency: 1000 Hz, duty cycle: 50%
|
||||
lgpio.tx_pwm(h, 18, 1000, 50)
|
||||
time.sleep(2)
|
||||
|
||||
# Reduce duty cycle to 20%
|
||||
lgpio.tx_pwm(h, 18, 1000, 20)
|
||||
time.sleep(2)
|
||||
|
||||
lgpio.tx_pwm(h, 18, 0, 0) # Stop PWM
|
||||
|
||||
|
||||
finally:
|
||||
lgpio.tx_pwm(h, pwm_pin, 0, 0) # Stop PWM
|
||||
lgpio.gpiochip_close(h) # Always close!
|
||||
|
||||
Reference in New Issue
Block a user