I am using this relay module with Raspi zero. https://www.amazon.co.jp/gp/product/B083LRNXBJ/ref=ppx_yo_dt_b_asin_title_o02_s00?ie=UTF8&psc=1
And I am using gpiozero
to control relay.
import gpiozero
import time
RELAY_PIN = 14
relay = gpiozero.OutputDevice(RELAY_PIN, active_high=True, initial_value=False)
def main():
try:
while True:
print('on')
relay.on()
time.sleep(3)
print('off')
relay.off()
print(relay.value)
time.sleep(3)
except KeyboardInterrupt:
# relay.off()
print("exit")
exit(1)
if __name__ == '__main__':
main()
But the problem is relay never turns off until loop exits, or we exit program. If there is no loop, relay turns off with relay.off()
easily.
EDIT: so even this doesnt work:
def main():
try:
relay.on()
time.sleep(3)
relay.off()
while True:
print ('blah blah going on and relay is still ON..')
except KeyboardInterrupt:
# relay.off()
print("exit")
exit(1)