42 lines
701 B
Python
42 lines
701 B
Python
import asyncio
|
|
import RPi.GPIO as GPIO
|
|
|
|
RELAY1 = 4
|
|
RELAY2 = 22
|
|
RELAY3 = 6
|
|
RELAY4 = 26
|
|
|
|
RELAY_ON = True
|
|
RELAY_OFF = False
|
|
|
|
RELAYS = [RELAY1, RELAY2, RELAY3, RELAY4]
|
|
|
|
def set_relay(r, state):
|
|
GPIO.output(r, state)
|
|
|
|
def all_off():
|
|
for r in RELAYS:
|
|
set_relay(r, RELAY_OFF)
|
|
|
|
def init_relays():
|
|
GPIO.setmode(GPIO.BCM)
|
|
GPIO.setwarnings(False)
|
|
|
|
for r in RELAYS:
|
|
GPIO.setup(r, GPIO.OUT)
|
|
|
|
all_off()
|
|
|
|
async def test():
|
|
for r in RELAYS:
|
|
set_relay(r, RELAY_ON)
|
|
await asyncio.sleep(0.5)
|
|
set_relay(r, RELAY_OFF)
|
|
|
|
if __name__ == '__main__':
|
|
init_relays()
|
|
|
|
loop = asyncio.get_event_loop()
|
|
loop.run_until_complete(test())
|
|
loop.close()
|