You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

Writing Program in Python

> vi sample.py

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

  • No labels