from machine import Pin

clk = Pin(6, Pin.IN)
dt = Pin(7, Pin.IN)
sw = Pin(0, Pin.IN, Pin.PULL_UP)

direction = 0
current_count = count = 0
current_value = [clk.value(), dt.value(), sw.value()]
while True:
    new_value = [clk.value(), dt.value(), sw.value()]

    if new_value != current_value:
        if new_value[0] != current_value[0] and new_value[0] == 1:
            direction = dt.value()

            if direction == 0:
                count = count + 1
                print("clockwise", count)
            else:
                count = count - 1
                print("counter-clockwise", count)

        if new_value[2] == 0: # button pressed?
            count = 0
            print("button", count)

        current_count = count
        current_value = new_value
