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()