Advertisement
LovelessIsma

color.py

Nov 7th, 2019
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.43 KB | None | 0 0
  1. import RPi.GPIO as GPIO
  2. import time
  3.  
  4.  
  5.  
  6. s2 = 23
  7. s3 = 24
  8. signal = 25
  9. NUM_CYCLES = 10
  10.  
  11.  
  12. def setup():
  13.   GPIO.setmode(GPIO.BCM)
  14.   GPIO.setup(signal,GPIO.IN, pull_up_down=GPIO.PUD_UP)
  15.   GPIO.setup(s2,GPIO.OUT)
  16.   GPIO.setup(s3,GPIO.OUT)
  17.   print("\n")
  18.  
  19.  
  20.  
  21.  
  22.  
  23. def loop():
  24.   temp = 1
  25.   while(1):  
  26.  
  27.     GPIO.output(s2,GPIO.LOW)
  28.     GPIO.output(s3,GPIO.LOW)
  29.     time.sleep(0.3)
  30.     start = time.time()
  31.     for impulse_count in range(NUM_CYCLES):
  32.       GPIO.wait_for_edge(signal, GPIO.FALLING)
  33.     duration = time.time() - start      #seconds to run for loop
  34.     red  = NUM_CYCLES / duration   #in Hz
  35.     print("red value - ",red)
  36.  
  37.     GPIO.output(s2,GPIO.LOW)
  38.     GPIO.output(s3,GPIO.HIGH)
  39.     time.sleep(0.3)
  40.     start = time.time()
  41.     for impulse_count in range(NUM_CYCLES):
  42.       GPIO.wait_for_edge(signal, GPIO.FALLING)
  43.     duration = time.time() - start
  44.     blue = NUM_CYCLES / duration
  45.     print("blue value - ",blue)
  46.  
  47.     GPIO.output(s2,GPIO.HIGH)
  48.     GPIO.output(s3,GPIO.HIGH)
  49.     time.sleep(0.3)
  50.     start = time.time()
  51.     for impulse_count in range(NUM_CYCLES):
  52.       GPIO.wait_for_edge(signal, GPIO.FALLING)
  53.     duration = time.time() - start
  54.     green = NUM_CYCLES / duration
  55.     print("green value - ",green)
  56.     time.sleep(2)  
  57.  
  58.  
  59. def endprogram():
  60.     GPIO.cleanup()
  61.  
  62. if __name__=='__main__':
  63.    
  64.     setup()
  65.  
  66.     try:
  67.         loop()
  68.  
  69.     except KeyboardInterrupt:
  70.         endprogram()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement