from machine import Pin
from time    import sleep, sleep_ms

def energiza (X):

    a.value(int (X[0]))
    b.value(int (X[1]))
    c.value(int (X[2]))
    d.value(int (X[3]))
    e.value(int (X[4]))
    f.value(int (X[5]))
    g.value(int (X[6]))


def rotacion(x):

   global inc
   global dec
   global t
   global i
   global valor_anterior
   global vueltas
   global cnt

   if ((clk.value() == False) and (dt.value() == True)):
      
      inc=1
      cnt=1
    
   else:

      dec=1
      cnt=-1


a = Pin(18, Pin.OUT)
b = Pin(19, Pin.OUT)
c = Pin(21, Pin.OUT)
d = Pin(22, Pin.OUT)
e = Pin(23, Pin.OUT)
f = Pin(26, Pin.OUT)
g = Pin(27, Pin.OUT)

dt  = Pin (12,Pin.IN,Pin.PULL_UP) 
clk = Pin (14,Pin.IN,Pin.PULL_UP)
cnt = 0 

clk.irq(trigger=Pin.IRQ_FALLING,handler=rotacion)

inc=0
dec=0
t=0
i=0
valor_anterior = True

lista = ["1111110","0110000","1101101","1111001","0110011","1011011","1011011","1011111","1110000","1111111","1110011"] 

while(1):
    
    energiza(lista[i])
    sleep_ms(t)

    if(i >=11):
     i=0

    if(i <0):
     i=10

    vueltas = cnt

    if (vueltas==1):
      
      i = i + inc
      t=500
      print("Horario", vueltas)

    elif (vueltas==-1):

      i = i - dec
      t=500
      print("Antihorario", vueltas)