Advertisement
Guest User

Untitled

a guest
May 30th, 2016
44
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.27 KB | None | 0 0
  1. import RPi.GPIO as GPIO
  2. import time
  3. GPIO.setmode(GPIO.BOARD)
  4.  
  5.  
  6. maxParkingSpaces=10
  7. parkingSpaces=maxParkingSpaces
  8. TRIG = 13
  9. ECHO = 15
  10. GREEN = 37
  11. RED = 35
  12.  
  13. print "Distance Measurement In Progress"
  14.  
  15. GPIO.setup(TRIG,GPIO.OUT)
  16. GPIO.setup(15,GPIO.IN)
  17. GPIO.setup(11,GPIO.IN)
  18. GPIO.setup(RED,GPIO.OUT)
  19. GPIO.setup(GREEN,GPIO.OUT)
  20.  
  21.  
  22. GPIO.output(TRIG, False)
  23. print "Waiting For Sensor To Settle"
  24. time.sleep(2)
  25.  
  26. lastEntryDistance=0
  27. lastExitDistance=0
  28.  
  29. if parkingSpaces>0:
  30. GPIO.output(GREEN,GPIO.HIGH)
  31. GPIO.output(RED,GPIO.LOW)
  32.  
  33. try:
  34. while 1:
  35. if ECHO == 15:
  36. ECHO=11
  37. else :
  38. ECHO =15
  39.  
  40. time.sleep(0.3)
  41. GPIO.output(TRIG, True)
  42. time.sleep(0.00001)
  43. GPIO.output(TRIG, False)
  44.  
  45. while GPIO.input(ECHO)==0:
  46. pulse_start = time.time()
  47.  
  48. while GPIO.input(ECHO)==1:
  49. pulse_end = time.time()
  50.  
  51.  
  52. pulse_duration = pulse_end - pulse_start
  53. distance = pulse_duration * 17150
  54.  
  55. distance = round(distance, 2)
  56.  
  57.  
  58. if ECHO == 15:
  59. print "Distance Entry:",distance,"cm"
  60. if distance < 16 and lastEntryDistance>16:
  61. parkingSpaces = parkingSpaces - 1
  62. lastEntryDistance=distance
  63. else :
  64. print "Distance Exit:",distance,"cm"
  65. if distance < 16 and lastExitDistance>16 and parkingSpaces<maxParkingSpaces:
  66. parkingSpaces = parkingSpaces + 1
  67. lastExitDistance=distance
  68.  
  69. if parkingSpaces>0 :
  70. print "Parking Spaces Available : ",parkingSpaces
  71. else:
  72. print "Parking Spaces Available : 0"
  73.  
  74. if parkingSpaces<=0:
  75. GPIO.output(GREEN,GPIO.LOW)
  76. GPIO.output(RED,GPIO.HIGH)
  77. else:
  78. GPIO.output(GREEN,GPIO.HIGH)
  79. GPIO.output(RED,GPIO.LOW)
  80. except KeyboardInterrupt:
  81. GPIO.cleanup()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement