from machine import Pin
import time
data = Pin(5, Pin.OUT)
clock = Pin(3, Pin.OUT)
latch = Pin(4, Pin.OUT)
def shift_out(value):
latch.value(0)
for i in range(7, -1, -1):
bit = (value >> i) & 1
data.value(bit)
clock.value(1)
clock.value(0)
latch.value(1)
position = 0
direction = 1
while True:
value = (1 << position) | (1 << (position + 1)) | (1 << (position + 2))
shift_out(value)
time.sleep(0.2)
position = position + direction
if position >= 6:
direction = -1
if position <= 0:
direction = 1