from machine import Pin
import micropython
import time
dataPin_ip = Pin(18, Pin.IN) # Q7
clockPin_ip = Pin(17, Pin.OUT) # CP
latchPin_ip = Pin(16, Pin.OUT) # PL
dataPin_led = Pin(19, Pin.OUT) # DS
clockPin_led = Pin(20, Pin.OUT) # SHCP
latchPin_led = Pin(21, Pin.OUT) # STCP
buzzer01 = Pin(0, Pin.IN)
buzzer02 = Pin(1, Pin.IN)
buzzer03 = Pin(2, Pin.IN)
buzzer04 = Pin(3, Pin.IN)
buzzer05 = Pin(4, Pin.IN)
buzzer06 = Pin(5, Pin.IN)
buzzer07 = Pin(6, Pin.IN)
buzzer08 = Pin(7, Pin.IN)
buzzer09 = Pin(8, Pin.IN)
buzzer10 = Pin(9, Pin.IN)
buzzer11 = Pin(10, Pin.IN)
buzzer12 = Pin(11, Pin.IN)
buzzer13 = Pin(12, Pin.IN)
buzzer14 = Pin(13, Pin.IN)
buzzer15 = Pin(14, Pin.IN)
buzzer16 = Pin(15, Pin.IN)
buzzer_reset = Pin(28, Pin.IN)
numBits_ip = 32 # Set to 8 * number of shift registers
dataPin_ip = Pin(18, Pin.IN) # Q7
buzzing_time = True
def setup():
print('Starting...')
# Initial states
#IP DIP
clockPin_ip.value(0)
latchPin_ip.value(0)
clockPin_led.value(0)
latchPin_led.value(0)
dataPin_led.value(0)
#WAIT 1SEC BEFORE RUN
time.sleep(1)
def getIP():
# Step 1: Sample
latchPin_ip.value(0)
latchPin_ip.value(1)
# Step 2: Shift
value = ""
for i in range(numBits_ip):
bit = dataPin_ip.value()
if bit == 1:
value += "1"
else:
value += "0"
clockPin_ip.value(1) # Shift out the next bit
clockPin_ip.value(0)
print("IP : ",int(value[0:8], 2),".",int(value[8:16], 2),".",int(value[16:24], 2),".",int(value[24:32], 2), sep="")
time.sleep(0.1)
def buzzer_handler(pin):
global buzzing_time
if (buzzing_time):
buzzing_time = False
print(pin, "a buzzé")
def buzzer_reset_handler(pin):
global buzzing_time
if (not buzzing_time):
buzzing_time = True
print('Buzzing Time Reset')
buzzer01.irq(trigger=Pin.IRQ_FALLING, handler=buzzer_handler)
buzzer02.irq(trigger=Pin.IRQ_FALLING, handler=buzzer_handler)
buzzer03.irq(trigger=Pin.IRQ_FALLING, handler=buzzer_handler)
buzzer04.irq(trigger=Pin.IRQ_FALLING, handler=buzzer_handler)
buzzer05.irq(trigger=Pin.IRQ_FALLING, handler=buzzer_handler)
buzzer06.irq(trigger=Pin.IRQ_FALLING, handler=buzzer_handler)
buzzer07.irq(trigger=Pin.IRQ_FALLING, handler=buzzer_handler)
buzzer08.irq(trigger=Pin.IRQ_FALLING, handler=buzzer_handler)
buzzer09.irq(trigger=Pin.IRQ_FALLING, handler=buzzer_handler)
buzzer10.irq(trigger=Pin.IRQ_FALLING, handler=buzzer_handler)
buzzer11.irq(trigger=Pin.IRQ_FALLING, handler=buzzer_handler)
buzzer12.irq(trigger=Pin.IRQ_FALLING, handler=buzzer_handler)
buzzer13.irq(trigger=Pin.IRQ_FALLING, handler=buzzer_handler)
buzzer14.irq(trigger=Pin.IRQ_FALLING, handler=buzzer_handler)
buzzer15.irq(trigger=Pin.IRQ_FALLING, handler=buzzer_handler)
buzzer16.irq(trigger=Pin.IRQ_FALLING, handler=buzzer_handler)
buzzer_reset.irq(trigger=Pin.IRQ_RISING, handler=buzzer_reset_handler)
def loop():
while True:
time.sleep(0.1)
setup()
getIP()
loop()