from machine import Pin, ADC, PWM
def forPwm(Vin,dutY,frequencY):
pwmObject.freq(frequencY)
pwmObject.duty(dutY)
percentageOfDuty = int(100 * (dutY/1023))
string = " The voltage is {:0.2f} for {:5d} hertz and {:2d} %"
print(string.format(Vin,frequencY,percentageOfDuty), end = "\r")
def decider(voltage):
if voltage<1:
forPwm(voltage,256,2000)
elif 1<voltage<2:
forPwm(voltage,768,5000)
elif 2<voltage<3:
forPwm(voltage,512,60000)
elif voltage>3:
forPwm(voltage,205,5)
def handler():
adcReading = adcObject.read()
vIn = 3.3 * (adcReading/4095)
decider(vIn)
adcObject = ADC(Pin(34))
adcObject.atten(ADC.ATTN_11DB)
pwmObject = PWM(Pin(33))
while True:
handler()