from machine import Pin,PWM
import machine
import time
import utime
import _thread
# 初始化端口
pin19 = Pin(19, Pin.OUT, value=1) # 电磁阀1
pin21 = Pin(21, Pin.OUT, value=1) # 电磁阀2
pin18 = Pin(18, Pin.OUT, value=0) # 皮带
pin25 = Pin(25, Pin.IN, machine.Pin.PULL_DOWN) # 光电1
pin26 = Pin(26, Pin.IN,machine.Pin.PULL_DOWN) # 光电2
a = 0
start = 0
b = 0
start2 = 0
def motor_task():
pin18.value(1)
time.sleep(5)
pin18.value(0)
def count_on_pin25(p):
global a
global start
end = utime.ticks_ms()
utime.ticks_diff(end,start)
if utime.ticks_diff(end,start)>100:
a += 1
print(a)
start = end
if utime.ticks_diff(end,start) < 100:
start = end
if a == 3:
pin19.value(0)
def check_pin26(p):
global a
global b
global start2
end2 = utime.ticks_ms()
if utime.ticks_diff(end2,start2) >100 and a>=10:
pin19.value(1)
pin21.value(0)
time.sleep_ms(150)
pin21.value(1)
start2 = end2
# asyncio.run(motor_task())
_thread.start_new_thread(motor_task, ())
a = 0
print('hello')
# motor = 1
if __name__ == '__main__':
pin25.irq(trigger=Pin.IRQ_FALLING, handler=count_on_pin25)
pin26.irq(trigger=Pin.IRQ_FALLING, handler=check_pin26)
while True:
pass