#Librerias deeeeee
from machine import Pin
from time import sleep

def LCD(z):
  E7.value(int(z[0])),E6.value(int(z[1])),E5.value(int(z[2])),
  E4.value(int(z[3])),
  RS.value(int(z[4]))
  enable.on()
  sleep(0.01)
  enable.off()


# Configuracion E/S
E4=Pin(5,Pin.OUT)
E5=Pin(4,Pin.OUT)
E6=Pin(2,Pin.OUT)
E7=Pin(15,Pin.OUT)

B0=Pin(22,Pin.IN,Pin.PULL_DOWN)
B1=Pin(21,Pin.IN,Pin.PULL_DOWN)
B2=Pin(19,Pin.IN,Pin.PULL_DOWN)

RS=Pin(25,Pin.OUT)
enable=Pin(23,Pin.OUT)

#Listas
inicializacion=("00000","00100","00100","10000","00000",
"00010","00000","11000","00000","01100")

Lista=("01011","01011",      #U
"01011","00001",     #P
"01001","01111",     #G
"11000","00000", #salto
"01011","01011",      #U
"01011","00001",     #P
"01001","01111",     #G
"00000","00100")     #ciclo de regreso

Lista1=("00000","10000")
Lista2=("00000","11000")
Lista3=("00000","00010")
Lista4=("00000","00100")

for I in inicializacion:
  LCD(I)


while(1):
  ent=4*B2.value()+2*B1.value()+B0.value()
  if(ent==0 ):
    for z in Lista:
      LCD(z)
  elif(ent==1):
    for z in Lista1:
      LCD(z)
  elif(ent==2):
    for z in Lista2:
      LCD(z)
  elif(ent==4):
    for z in Lista3:
      LCD(z)
  else:
    for z in Lista:
      LCD(z)