Advertisement
Guest User

Untitled

a guest
Dec 13th, 2019
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.06 KB | None | 0 0
  1. import RPi.GPIO as GPIO
  2. import buzzer_player
  3. import random
  4. from time import sleep
  5.  
  6.  
  7. bottomPins = [40, 38, 37, 36, 35]
  8. middlePins = [33, 31, 29, 15]
  9. topPins = [13, 11]
  10. allPins = bottomPins + middlePins + topPins
  11.  
  12. GPIO.setmode(GPIO.BOARD)
  13.  
  14. for pin in allPins:
  15.     GPIO.setup (pin, GPIO.OUT)
  16.  
  17. def turnOnGroup(group=[]):
  18.     for pin in group:
  19.         GPIO.output (pin, GPIO.HIGH)
  20.        
  21. def turnOffGroup(group=[]):
  22.     for pin in group:
  23.         GPIO.output (pin, GPIO.LOW)
  24.  
  25. def blinkLedGroup (pinNumbers, number=10, pause=0.3):
  26.     for c in range(0,number):
  27.         for pin in pinNumbers:
  28.             GPIO.output (pin, GPIO.HIGH)
  29.         sleep(pause)
  30.         for pin in pinNumbers:
  31.             GPIO.output (pin, GPIO.LOW)
  32.         sleep(pause)
  33. while True:          
  34.     turnOnGroup(bottomPins)
  35.     sleep(1)
  36.     turnOffGroup(bottomPins)
  37.     turnOnGroup(middlePins)
  38.     sleep(1)
  39.     turnOffGroup(middlePins)
  40.     turnOnGroup(topPins)
  41.     sleep(1)
  42.     turnOffGroup(topPins)
  43.     turnOnGroup(allPins)
  44.     sleep(1)
  45.  
  46.     blinkLedGroup(allPins)
  47.  
  48.     for i in range(0,5):
  49.         turnOffGroup(allPins)
  50.         turnOnGroup(bottomPins)
  51.         sleep(0.2)
  52.         turnOffGroup(bottomPins)
  53.         turnOnGroup(middlePins)
  54.         sleep(0.2)
  55.         turnOffGroup(middlePins)
  56.         turnOnGroup(topPins)
  57.         sleep(0.2)
  58.         turnOffGroup(topPins)
  59.        
  60.     for i in range(0,5):
  61.         turnOffGroup(allPins)
  62.         turnOnGroup(topPins)
  63.         sleep(0.2)
  64.         turnOffGroup(topPins)
  65.         turnOnGroup(middlePins)
  66.         sleep(0.2)
  67.         turnOffGroup(middlePins)
  68.         turnOnGroup(bottomPins)
  69.         sleep(0.2)
  70.         turnOffGroup(bottomPins)
  71.  
  72.     turnOffGroup(allPins)
  73.     for n in range(0,5):
  74.         allPinCopy = allPins.copy()
  75.         while allPinCopy:
  76.             pin = random.choice(allPinCopy)
  77.             GPIO.output(pin, GPIO.HIGH)
  78.             allPinCopy.remove(pin)
  79.             sleep(0.05)
  80.             GPIO.output(pin, GPIO.LOW)
  81.     turnOffGroup(allPins)
  82.        
  83.        
  84.        
  85.    
  86. # blinkLed (12, 5, 0.1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement