Project

General

Profile

Download (1.54 KB) Statistics
| Branch: | Tag: | Revision:
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())