from machine import Pin, ADC
from time import sleep
adc = ADC(Pin(2))
adc.atten(ADC.ATTN_11DB) #sets the max input voltage of 3.6V
adc.width(ADC.WIDTH_11BIT) #sets the bit width to 9 bits
LED_0 = Pin(25, Pin.OUT)
LED_1 = Pin(26, Pin.OUT)
LED_2 = Pin(27, Pin.OUT)
LED_3 = Pin(14, Pin.OUT)
LED_4 = Pin(12, Pin.OUT)
def bits_value(dec, volts, max_in):
return ((dec*volts)/max_in)
def binary(x):
binary_num = '{:05b}'.format(x)
LED_0.value(int(binary_num[4]))
LED_1.value(int(binary_num[3]))
LED_2.value(int(binary_num[2]))
LED_3.value(int(binary_num[1]))
LED_4.value(int(binary_num[0]))
def main():
while True:
adc_value = adc.read() #read the voltage on SIG pin of potentiometer, raw value
volts = ((3.3*adc_value)/2048) #Converts raw value to voltage
binary(int(bits_value(31, volts, 3.3)))
input_voltage = "the input voltage is {:0.2f} V and raw value is {:4d}"
print(input_voltage.format(volts,adc_value), end = "\r")
main()