root/525.743/code/bfcslib/blinky_pattern.py @ cfebef28
| ade8d74a | dsorber | import random
|
||
import sys
|
||||
import time
|
||||
| e45aa19e | dsorber | import RPIO
|
||
| ade8d74a | dsorber | |||
outputs = [23, 24, 25, 8, 7]
|
||||
def main():
|
||||
# Use the BCM addressing scheme
|
||||
| e45aa19e | dsorber | RPIO.setmode(RPIO.BCM)
|
||
| ade8d74a | dsorber | |||
# Setup all five outputs
|
||||
| e45aa19e | dsorber | for RPIO in outputs:
|
||
RPIO.setup(RPIO, RPIO.OUT)
|
||||
RPIO.output(RPIO, False)
|
||||
| ade8d74a | dsorber | |||
while True:
|
||||
cylon()
|
||||
randomize()
|
||||
turn_on_top_down()
|
||||
turn_off_top_down()
|
||||
turn_on_bottom_up()
|
||||
turn_off_bottom_up()
|
||||
def turn_on_top_down():
|
||||
| e45aa19e | dsorber | for RPIO in outputs:
|
||
RPIO.output(RPIO, True)
|
||||
| ade8d74a | dsorber | time.sleep(.25)
|
||
def turn_on_bottom_up():
|
||||
| e45aa19e | dsorber | for RPIO in reversed(outputs):
|
||
RPIO.output(RPIO, True)
|
||||
| ade8d74a | dsorber | time.sleep(.25)
|
||
def turn_off_top_down():
|
||||
| e45aa19e | dsorber | for RPIO in outputs:
|
||
RPIO.output(RPIO, False)
|
||||
| ade8d74a | dsorber | time.sleep(.25)
|
||
def turn_off_bottom_up():
|
||||
| e45aa19e | dsorber | for RPIO in reversed(outputs):
|
||
RPIO.output(RPIO, False)
|
||||
| ade8d74a | dsorber | time.sleep(.25)
|
||
def cylon():
|
||||
| e45aa19e | dsorber | for RPIO in outputs[:-1]:
|
||
RPIO.output(RPIO, True)
|
||||
| ade8d74a | dsorber | time.sleep(.08)
|
||
| e45aa19e | dsorber | RPIO.output(RPIO, False)
|
||
| ade8d74a | dsorber | |||
| e45aa19e | dsorber | for RPIO in outputs[::-1][:-1]:
|
||
RPIO.output(RPIO, True)
|
||||
| ade8d74a | dsorber | time.sleep(.08)
|
||
| e45aa19e | dsorber | RPIO.output(RPIO, False)
|
||
| ade8d74a | dsorber | |||
def randomize():
|
||||
rand_val = random.randint(0, 31)
|
||||
| e45aa19e | dsorber | # LED1 - RPIO23
|
||
| ade8d74a | dsorber | if rand_val & 0b00001:
|
||
| e45aa19e | dsorber | RPIO.output(23, True)
|
||
| ade8d74a | dsorber | else:
|
||
| e45aa19e | dsorber | RPIO.output(23, False)
|
||
# LED2 - RPIO24
|
||||
| ade8d74a | dsorber | if rand_val & 0b00010:
|
||
| e45aa19e | dsorber | RPIO.output(24, True)
|
||
| ade8d74a | dsorber | else:
|
||
| e45aa19e | dsorber | RPIO.output(24, False)
|
||
# LED3 - RPIO25
|
||||
| ade8d74a | dsorber | if rand_val & 0b00100:
|
||
| e45aa19e | dsorber | RPIO.output(25, True)
|
||
| ade8d74a | dsorber | else:
|
||
| e45aa19e | dsorber | RPIO.output(25, False)
|
||
# LED4 - RPIO8
|
||||
| ade8d74a | dsorber | if rand_val & 0b01000:
|
||
| e45aa19e | dsorber | RPIO.output(8, True)
|
||
| ade8d74a | dsorber | else:
|
||
| e45aa19e | dsorber | RPIO.output(8, False)
|
||
# LED5 - RPIO7
|
||||
| ade8d74a | dsorber | if rand_val & 0b10000:
|
||
| e45aa19e | dsorber | RPIO.output(7, True)
|
||
| ade8d74a | dsorber | else:
|
||
| e45aa19e | dsorber | RPIO.output(7, False)
|
||
| ade8d74a | dsorber | time.sleep(0.1)
|
||
if __name__ == '__main__':
|
||||
sys.exit(main())
|