今日目標
今天要挑戰讓LED呈現漸變的呼吸燈效果,將使用MicroPython的PWM技術,藉由控制輸出的占空比來精準調節LED的明暗度。
程式碼
import time
from machine import Pin, PWM
led_pwm = PWM(Pin(2), freq=1000)
print("PWM呼吸燈系統啟動…")
for count in range(1, 4):
print(f"---第{count}次呼吸循環---")
print("LED漸亮中…")
for duty_val in range(0, 1024, 16):
led_pwm.duty(duty_val)
time.sleep_ms(20)
print("LED漸暗中…")
for duty_val in range(1023, -1, -16):
led_pwm.duty(duty_val)
time.sleep_ms(20)
print("呼吸燈示範結束,關閉LED。")
led_pwm.duty(0)
心得
今天學會了PWM這個控燈技巧,只需將Pin包裹進PWM類別中,就能透過控制duty()數值達到類比調光的效果。這個技巧除了能用在LED燈上,未來調整蜂鳴器音量、馬達轉速,或是伺服馬達的角度時也都會用到。