You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 7
Next »
Writing Program in Python
> vi sample.py
# External module imports
import RPi.GPIO as GPIO
import time
# Pin Definitons:
PIN_TRUNK_SENSOR = 27
PIN_DOOR_SENSOR = 6
PIN_DOOR_1 = 12
PIN_DOOR_2 = 25
PIN_TRUNK_1 = 22
PIN_TRUNK_2 = 13
# Pin Setup:
GPIO.setmode(GPIO.BCM)
GPIO.setup(PIN_TRUNK_SENSOR, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
GPIO.setup(PIN_DOOR_SENSOR, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
GPIO.setup(PIN_DOOR_1, GPIO.OUT)
GPIO.setup(PIN_DOOR_2, GPIO.OUT)
GPIO.setup(PIN_TRUNK_1, GPIO.OUT)
GPIO.setup(PIN_TRUNK_2, GPIO.OUT)
# Initial state
GPIO.output(PIN_DOOR_1, GPIO.LOW)
GPIO.output(PIN_DOOR_2, GPIO.LOW)
GPIO.output(PIN_TRUNK_1, GPIO.LOW)
GPIO.output(PIN_TRUNK_2, GPIO.LOW)
doorSensorVal=False
trunkSensorVal=False
newDoorSensorVal=False
newTrunkSensorVal=False
print("Here we go! Press CTRL+C to exit")
try:
while 1:
#read DOOR sensors
newDoorSensorVal=GPIO.input(PIN_DOOR_SENSOR)
if (newDoorSensorVal != doorSensorVal):
doorSensorVal=newDoorSensorVal
if(doorSensorVal==True):
#lock
print(">DOOR SENSOR = LOW (LOCK)")
GPIO.output(PIN_DOOR_1, GPIO.HIGH)
GPIO.output(PIN_DOOR_2, GPIO.LOW)
time.sleep(0.075)
GPIO.output(PIN_DOOR_1, GPIO.LOW)
GPIO.output(PIN_DOOR_2, GPIO.LOW)
else:
print(">DOOR SENSOR = HIGH (UNLOCK)")
GPIO.output(PIN_DOOR_1, GPIO.LOW)
GPIO.output(PIN_DOOR_2, GPIO.HIGH)
time.sleep(0.075)
GPIO.output(PIN_DOOR_1, GPIO.LOW)
GPIO.output(PIN_DOOR_2, GPIO.LOW)
#read TRUNK sensors
newTrunkSensorVal=GPIO.input(PIN_TRUNK_SENSOR)
if (newTrunkSensorVal != trunkSensorVal):
trunkSensorVal=newTrunkSensorVal
if(trunkSensorVal==True):
#lock
print(">TRUNK SENSOR = LOW (LOCK)")
GPIO.output(PIN_TRUNK_1, GPIO.HIGH)
GPIO.output(PIN_TRUNK_2, GPIO.LOW)
time.sleep(0.075)
GPIO.output(PIN_TRUNK_1, GPIO.LOW)
GPIO.output(PIN_TRUNK_2, GPIO.LOW)
else:
print(">DOOR SENSOR = HIGH (UNLOCK)")
GPIO.output(PIN_TRUNK_1, GPIO.LOW)
GPIO.output(PIN_TRUNK_2, GPIO.HIGH)
time.sleep(0.075)
GPIO.output(PIN_TRUNK_1, GPIO.LOW)
GPIO.output(PIN_TRUNK_2, GPIO.LOW)
except KeyboardInterrupt: # If CTRL+C is pressed, exit cleanly:
GPIO.cleanup() # cleanup all GPIO
Run the program
> sudo python sample.py
References