from machine import Pin
from time import sleep
print("\n---- START ---\n")
'''
VCC Q0 DS OE STCP SHCP MR Q7S
16 15 14 13 12 11 10 9
Pinbelegung 74HC505 - DIL 16
1 2 3 4 5 6 7 8
Q1 Q2 Q3 Q4 Q5 Q6 Q7 GND
'''
data = Pin( 5, Pin.OUT) # D5 --- hellgrün --- Pin 14, DS / SER
latch = Pin( 4, Pin.OUT) # D2 --- gelb --- Pin 12, ST_CP / RCLK
clock = Pin( 2, Pin.OUT) # D4 --- cyan --- Pin 11, SH_CP / SRCLK " "
oe = Pin(18, Pin.OUT) # D18 --- ocker --- Pin 15, OE "Output Enable"
oe.off()
data.off()
latch.off()
clock.off()
dt = 2
# Ausgänge: L L L L L L L L
# 123456789
data.value(1) # _|‾‾‾‾‾‾‾
clock.on(); clock.off() # __|‾|____
latch.on(); latch.off() # _____|‾|_
sleep(dt)
# Ausgänge: H L L L L L L L
data.value(1) # _|‾‾‾‾‾‾‾‾‾‾
clock.on(); clock.off() # _|‾|____|‾|_
latch.on(); latch.off() # ____|‾|__|‾|_
sleep(dt)
# Ausgänge: H H L L L L L L
data.value(0) # _|‾‾‾‾‾‾‾|___
clock.on(); clock.off() # _|‾|___|‾|____|‾|_
latch.on(); latch.off() # __|‾|___|‾|____|‾|_
sleep(dt)
# Ausgänge: L H H L L L L L
data.value(1) # _|‾‾‾‾‾‾‾|_____|‾‾‾|
clock.on(); clock.off() # _|‾|___|‾|____|‾|___|‾|__
latch.on(); latch.off() # __|‾|___|‾|____|‾|___|‾|_
sleep(dt)
# Ausgänge: H L H H L L L L
def schreibe_bit(bit):
data.value(bit)
clock.on(); clock.off()
latch.on(); latch.off()
sleep(1)
sleep(1)
schreibe_bit(1); sleep(1)
schreibe_bit(0); sleep(0)
schreibe_bit(1); sleep(1)
# Ausgänge: H L H H L H H L
print("=== ENDE ===")