garage.py
This commit is contained in:
@@ -0,0 +1,54 @@
|
|||||||
|
import RPi.GPIO as GPIO
|
||||||
|
import logging
|
||||||
|
import time
|
||||||
|
from threading import Thread
|
||||||
|
|
||||||
|
logging.basicConfig(level=logging.INFO, format='%(asctime)s %(levelname)s - %(message)s')
|
||||||
|
|
||||||
|
|
||||||
|
PIN_MOTOR_BUTTON = 23
|
||||||
|
PIN_REMOTE_BUTTON = 24
|
||||||
|
PIN_MOTOR = 21
|
||||||
|
PIN_REMOTE = 26
|
||||||
|
PIN_LED = 11
|
||||||
|
|
||||||
|
GPIO.setmode(GPIO.BCM)
|
||||||
|
GPIO.setup(PIN_MOTOR_BUTTON, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
|
||||||
|
GPIO.setup(PIN_REMOTE_BUTTON, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
|
||||||
|
GPIO.setup(PIN_MOTOR, GPIO.OUT)
|
||||||
|
GPIO.setup(PIN_REMOTE, GPIO.OUT)
|
||||||
|
GPIO.setup(PIN_LED, GPIO.OUT)
|
||||||
|
|
||||||
|
|
||||||
|
def check_motor_button(channel):
|
||||||
|
logging.info("Motor pressed")
|
||||||
|
GPIO.output(PIN_MOTOR, GPIO.LOW)
|
||||||
|
GPIO.output(PIN_LED, GPIO.HIGH)
|
||||||
|
time.sleep(0.8)
|
||||||
|
GPIO.output(PIN_MOTOR, GPIO.HIGH)
|
||||||
|
GPIO.output(PIN_LED, GPIO.LOW)
|
||||||
|
time.sleep(1)
|
||||||
|
|
||||||
|
def check_remote_button(channel):
|
||||||
|
logging.info("Remote pressed")
|
||||||
|
GPIO.output(PIN_REMOTE, GPIO.HIGH)
|
||||||
|
GPIO.output(PIN_LED, GPIO.HIGH)
|
||||||
|
time.sleep(0.8)
|
||||||
|
GPIO.output(PIN_REMOTE, GPIO.LOW)
|
||||||
|
GPIO.output(PIN_LED, GPIO.LOW)
|
||||||
|
time.sleep(1)
|
||||||
|
|
||||||
|
GPIO.add_event_detect(PIN_MOTOR_BUTTON, GPIO.FALLING, callback=check_motor_button, bouncetime=200)
|
||||||
|
GPIO.add_event_detect(PIN_REMOTE_BUTTON, GPIO.FALLING, callback=check_remote_button, bouncetime=200)
|
||||||
|
|
||||||
|
try:
|
||||||
|
GPIO.output(PIN_MOTOR, GPIO.HIGH)
|
||||||
|
GPIO.output(PIN_REMOTE, GPIO.LOW)
|
||||||
|
GPIO.output(PIN_LED, GPIO.LOW)
|
||||||
|
while True:
|
||||||
|
time.sleep(0.01)
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
logging.info('Shutdown')
|
||||||
|
finally:
|
||||||
|
logging.info('Reset GPIO configuration and close')
|
||||||
|
GPIO.cleanup()
|
||||||
Reference in New Issue
Block a user