from machine import Pin, PWM, ADC #引入module:machine,在此只引入"Pin,PWM,ADC"功能
import time #引入module:time
LED1_20 = Pin(20,Pin.OUT) #GPIO.20設定為輸出接腳,定義名稱:LED1_20
ADC1_3 = ADC(3) #GPIO.3設定為ADC接腳,定義名稱:ADC1_3
LED = PWM(LED1_20)
"""
名稱:read_adc
功能說明:將選定之ADC接口做讀值並於SHELL上做顯示
細項:
ADC_channel將使用此函式時指定之ADC接口做指向,當ADC接口多時可重複使用此功能,
因PWM的Duty Cycle只接受0~1023,但ADC接口最大到4095,但又因運算子:/為無條件捨去,在此可直接除4轉至0~1023,
後將讀出數值顯示在SHELL上並回傳數值。
"""
def read_adc(ADC_channel):
value = ADC_channel.read()
value = int(value/4)
print("Now read ADC Voltage is,", str(value))
return value
"""
主程式
功能:
偵測ADC接口數值輸出至PWM Duty Cycle控制LED亮暗
"""
while True:
LED.duty(read_adc(ADC1_3))
time.sleep_ms(50)