'''
naam: Iljo,Thijs
klas: 3TWA
opdracht: PONG-spel
'''
import machine #importeer de module machine
import time #importeer de module time
# Configureer de GPIO-pinnen GP0 tot en met GP7 (module machine)
pin0 = machine.Pin(0, machine.Pin.OUT) # maak van pin GP0 een uitgang
pin1 = machine.Pin(1, machine.Pin.OUT) # maak van pin GP1 een uitgang
pin2 = machine.Pin(2, machine.Pin.OUT) # maak van pin GP2 een uitgang
pin3 = machine.Pin(3, machine.Pin.OUT) # maak van pin GP3 een uitgang
pin4 = machine.Pin(4, machine.Pin.OUT) # maak van pin GP4 een uitgang
pin5 = machine.Pin(5, machine.Pin.OUT) # maak van pin GP5 een uitgang
pin6 = machine.Pin(6, machine.Pin.OUT) # maak van pin GP6 een uitgang
pin7 = machine.Pin(7, machine.Pin.OUT) # maak van pin GP7 een uitgang
pin15 = machine.Pin(15, machine.Pin.IN, machine.Pin.PULL_DOWN) # maak van pin GP15 een ingang
pin14 = machine.Pin(14, machine.Pin.IN, machine.Pin.PULL_DOWN) # maak van pin GP14 een ingang
richtingL=0
richtingR=0
richting ="Links"
speed = 1
i=8
while True:
while i < 256: # variabele i gebruiken om tot 255 te tellen
binary = bin(i)[2:] # Converteer naar binaire representatie zonder '0b'-voorvoegsel
binary = '0' * (8 - len(binary)) + binary # Vul aan met nullen aan de linkerkant tot 8 bits
print(i, "= ","\t","\t", binary)#print(i," = ","\t","\t", binary)
time.sleep(speed)
# Stuur de binaire waarde naar de GPIO-pinnen
pin0.value(int(binary[7])) # zet waarde LSB op pin GP0
pin1.value(int(binary[6])) # zet volgende bit op GP1
pin2.value(int(binary[5])) # zet volgende bit op GP2
pin3.value(int(binary[4])) # zet volgende bit op GP3
pin4.value(int(binary[3])) # zet volgende bit op GP4
pin5.value(int(binary[2])) # zet volgende bit op GP5
pin6.value(int(binary[1])) # zet volgende bit op GP6
pin7.value(int(binary[0])) # zet volgende bit op GP7
i = i << 1 # schuif één bit naar links op
# Wacht 1 seconde voordat de volgende waarde wordt weergegeven
while richting == "Links":
time.sleep(speed / 5)
richtingL = richtingL + 1
if pin15.value():
richting = "Rechts"
if richtingL == 20:
while True:
pin7.on()
time.sleep(1)
pin7.off()
time.sleep(1)
speed = speed / 1
i = 64
while i > 0:
binary = bin(i)[2:] # Converteer naar binaire representatie zonder '0b'-voorvoegsel
binary = '0' * (8 - len(binary)) + binary # Vul aan met nullen aan de linkerkant tot 8 bits
print(i, "= ","\t","\t", binary)
time.sleep(speed)
pin0.value(int(binary[7]))# Stuur de binaire waarde naar de GPIO-pinnen
pin1.value(int(binary[6]))
pin2.value(int(binary[5]))
pin3.value(int(binary[4]))
pin4.value(int(binary[3]))
pin5.value(int(binary[2]))
pin6.value(int(binary[1]))
pin7.value(int(binary[0]))
i = i >> 1 # schuif één bit naar links op
# Wacht 1 seconde voordat de volgende waarde wordt weergegeven
while richting == "Rechts":
time.sleep(speed/5)
richtingR = richtingR + 1
if pin14.value():
richting = "Links"
if richtingR == 20:
while True:
pin0.on()
time.sleep(1)
pin0.off()
time.sleep(1)
speed = speed / 1.1
i = 2