# EV-1 transportband met stappenmotor
import time
from machine import Pin
# outputs
led_14 = Pin(14, Pin.OUT)
led_27 = Pin(27, Pin.OUT)
led_26 = Pin(26, Pin.OUT)
led_25 = Pin(25, Pin.OUT)
#inputs
knop_begin = Pin(15, Pin.IN, Pin.PULL_UP)
knop_start = Pin(16, Pin.IN, Pin.PULL_UP)
knop_pos1 = Pin(17, Pin.IN, Pin.PULL_UP)
knop_pos2 = Pin(18, Pin.IN, Pin.PULL_UP)
# maak lists (array) van input en output objecten
leds = [led_14, led_27, led_26, led_25]
knoppen = [knop_begin, knop_start, knop_pos1, knop_pos2]
print("start test transportband v4")
last_step = 0
def stuur_motor( aantal_stappen , cw_acw ):
global last_step
# maak last step laag en zet volgende stap in de juiste richting
for _ in range(aantal_stappen):
if cw_acw == "cw":
next_step = last_step + 1
if next_step >= 4:
next_step = 0
else:
next_step = last_step - 1
if next_step < 0:
next_step = 3
# stuur last 0 next 1
leds[last_step].value(0)
leds[next_step].value(1)
last_step = next_step
time.sleep(0.002)
while True:
stuur_motor(2048, "cw")
time.sleep(2)
stuur_motor(2048, "acw")
time.sleep(2)
# nadeel? functie blokkeert alles... hoe veranderen naar non-blocking code?