from machine import Pin, ADC, PWM
from time import sleep
LED = PWM(Pin(33))
adc = ADC(Pin(34))
adc.atten(ADC.ATTN_11DB)
adc.width(ADC.WIDTH_10BIT)
def function(duty_cycle, percentage,voltage, frequency):
LED.duty(duty_cycle)
LED.freq(frequency)
line = "The input voltage is {:0.2f},\n The frequency is {} Hz with a duty cycle of {} % "
print(line.format(voltage,frequency,percentage), end="\n\n\r")
while True :
adc_value = adc.read()
voltage = (3.3*adc_value)/1023
if 0 < voltage < 1:
duty_cycle = 256
percentage = 25
frequency = 2000
function(duty_cycle, percentage,voltage, frequency)
elif 1 < voltage < 2:
duty_cycle = 767
percentage = 75
frequency = 5000
function(duty_cycle, percentage,voltage, frequency)
elif 2 < voltage < 3:
duty_cycle = 511
frequency = 60000
percentage = 50
function(duty_cycle, percentage,voltage, frequency)
elif voltage > 3:
duty_cycle = 205
percentage = 20
frequency = 5
function(duty_cycle, percentage,voltage, frequency)