import machine
import time
import utime
R1P = 23
rel1 = machine.Pin(R1P, machine.Pin.OUT)
rel1.value(0)
R2P = 22
rel2 = machine.Pin(R2P, machine.Pin.OUT)
rel2.value(0)
R3P = 21
rel3 = machine.Pin(R3P, machine.Pin.OUT)
rel3.value(0)
R4P = 18
rel4 = machine.Pin(R4P, machine.Pin.OUT)
rel4.value(0)
R5P = 16
rel5 = machine.Pin(R5P, machine.Pin.OUT)
rel5.value(0)
R6P = 4
rel6 = machine.Pin(R6P, machine.Pin.OUT)
rel6.value(0)
# Check signal solenoid 1
R1D = 34
rd1 = machine.Pin(R1D, machine.Pin.IN, machine.Pin.PULL_DOWN)
# Check signal solenoid 2
R2D = 35
rd2 = machine.Pin(R2D, machine.Pin.IN, machine.Pin.PULL_DOWN)
# Check signal solenoid 3
R3D = 32
rd3 = machine.Pin(R3D, machine.Pin.IN, machine.Pin.PULL_DOWN)
# Valve 1
on1 = 0
off1 = 0
r1Start = 0
r1t = 3000
r1Stop = 0
# Valve 2
on2 = 0
off2 = 0
r2Start = 1000
r2t = 500
r2Stop = 0
# Valve 3
on3 = 0
off3 = 0
r3Start = 3000
r3t = 3000
r3Stop = 0
error = 0
s_t = 0
c_interval = 10000 # 10 sec.
i = 0
on = 0
cickle_time = 8000
while 1:
if (time.ticks_ms() - s_t > c_interval):
i = i + 1
print("Cickle ", i, "Interval ", time.ticks_ms() - s_t)
s_t = time.ticks_ms() # 2000
on = 1
on1 = 0
off1 = 0
on2 = 0
off2 = 0
on3 = 0
off3 = 0
while (on == 1) :
# Valve 1
if (time.ticks_ms() - s_t > r1Start and on1 == 0):
print("Air valve V1 is open ", time.ticks_ms() - s_t, "milliseconds after cickle start") # 1000 - 1001
rel1.value(1)
on1 = 1
r1Stop = time.ticks_ms()
if (time.ticks_ms() - r1Stop > r1t and on1 == 1 and off1 == 0):
print("Air valve V1 is closed ", time.ticks_ms()- r1Stop, "milliseconds after opening")
#r1Start = 0
r1Stop = time.ticks_ms()
rel1.value(0)
off1 = 1
# print("R1 Stop", r1Stop)
if (time.ticks_ms() - r1Stop > 5 and on1 == 1 and off1 == 0 and rd1.value() == 0) :
print("Error: Valve 1 signal lost!")
error = 1
break
# Valve 2
if (time.ticks_ms() - s_t > r2Start and on2 == 0):
print("Air valve V2 is open ", time.ticks_ms() - s_t, "milliseconds after cickle start") # 1000 - 1001
rel2.value(1)
on2 = 1
r2Stop = time.ticks_ms()
if (time.ticks_ms() - r2Stop > r2t and on2 == 1 and off2 == 0):
print("Air valve V2 is closed ", time.ticks_ms()- r2Stop, "milliseconds after opening")
#r2Start = 0
r2Stop = time.ticks_ms()
rel2.value(0)
off2 = 1
# print("R1 Stop", r1Stop)
if (time.ticks_ms() - r2Stop > 5 and on2 == 1 and off2 == 0 and rd2.value() == 0) :
print("Error: Valve 2 signal lost!")
error = 1
break
# Valve 3
if (time.ticks_ms() - s_t > r3Start and on3 == 0):
print("Air valve V3 is open ", time.ticks_ms() - s_t, "milliseconds after cickle start") # 1000 - 1001
rel3.value(1)
on3 = 1
r3Stop = time.ticks_ms()
if (time.ticks_ms() - r3Stop > r3t and on3 == 1 and off3 == 0):
print("Air valve V3 is closed ", time.ticks_ms()- r3Stop, "milliseconds after opening")
#r2Start = 0
r3Stop = time.ticks_ms()
rel3.value(0)
off3 = 1
# print("R1 Stop", r1Stop)
if (time.ticks_ms() - r3Stop > 5 and on3 == 1 and off3 == 0 and rd3.value() == 0) :
print("Error: Valve 3 signal lost!")
error = 1
break
if (time.ticks_ms() - s_t > cickle_time):
break
#on = 0
#rel2.value(1)
#time.sleep(1)
#rel3.value(1)
#rel4.value(1)
#time.sleep(1)
#rel5.value(1)
#rel6.value(1)
# time.sleep(1)
#rel1.value(0)
#rel2.value(0)
#rel3.value(0)
#rel4.value(0)
#rel5.value(0)
#rel6.value(0)
#time.sleep(3)
EMERGENCY STOP
START
STOP
RESET