def alternateBlinks():
    # turn all off
    allOnorAllOff(True, 10)

    # turn on and off evens
    shiftpi.digitalWrite(0, shiftpi.HIGH)
    shiftpi.digitalWrite(2, shiftpi.HIGH)
    shiftpi.digitalWrite(4, shiftpi.HIGH)
    shiftpi.digitalWrite(6, shiftpi.HIGH)
    shiftpi.delay(300)
    shiftpi.digitalWrite(0, shiftpi.LOW)
    shiftpi.digitalWrite(2, shiftpi.LOW)
    shiftpi.digitalWrite(4, shiftpi.LOW)
    shiftpi.digitalWrite(6, shiftpi.LOW)

    # turn on and off odds
    shiftpi.digitalWrite(1, shiftpi.HIGH)
    shiftpi.digitalWrite(3, shiftpi.HIGH)
    shiftpi.digitalWrite(5, shiftpi.HIGH)
    shiftpi.digitalWrite(7, shiftpi.HIGH)
    shiftpi.delay(300)
    shiftpi.digitalWrite(1, shiftpi.LOW)
    shiftpi.digitalWrite(3, shiftpi.LOW)
    shiftpi.digitalWrite(5, shiftpi.LOW)
    shiftpi.digitalWrite(7, shiftpi.LOW)
def allOnorAllOff(turnOff, localDelayTime):
    if turnOff:
        shiftpi.digitalWrite(shiftpi.ALL, shiftpi.LOW)
        shiftpi.delay(localDelayTime)
    else:
        shiftpi.digitalWrite(shiftpi.ALL, shiftpi.HIGH)
        shiftpi.delay(localDelayTime)
def christmasKnightrider(localDelayTime):
    for index in range(8):
        if index > 0:
            # turn off previous LED
            shiftpi.digitalWrite(index - 1, shiftpi.LOW)

        # turn on the current LED
        shiftpi.digitalWrite(index, shiftpi.HIGH)
        shiftpi.delay(localDelayTime)

    for index in range(7, 0, -1):
        shiftpi.digitalWrite(index, shiftpi.LOW)
        shiftpi.digitalWrite(index - 1, shiftpi.HIGH)
        shiftpi.delay(localDelayTime)
示例#4
0
from shiftpi import HIGH, LOW, digitalWrite, delay

while True:
    digitalWrite(1, HIGH)
    delay(1000)
    digitalWrite(1, LOW)
    delay(1000)
 def delay(self, delay):
     shiftpi.delay(delay)
示例#6
0
#testing shiftpi 
#this program uses the outputs to a do a binary counter from 0 to the total number of bits

from shiftpi import HIGH, LOW, digitalWrite, delay

bits = 8  #hard coded to 8 (one chip) for now

#loop from 0 to the max value of the bits available
for x in range(0, 2 ** bits):
    temp = x
    print 'setting binary ' + str(temp)
    for b in range(bits - 1, -1,-1):
        if temp >= 2 ** b:
            y -= 2 ** b
            digitalWrite((bits-1)- b, HIGH)
        else:
            digitalWrite((bits-1)- b, LOW)
    delay(250)
示例#7
0
#testing shiftpi
#this program uses the outputs to a do a binary counter from 0 to the total number of bits

from shiftpi import HIGH, LOW, digitalWrite, delay

bits = 8  #hard coded to 8 (one chip) for now

#loop from 0 to the max value of the bits available
for x in range(0, 2**bits):
    temp = x
    print 'setting binary ' + str(temp)
    for b in range(bits - 1, -1, -1):
        if temp >= 2**b:
            y -= 2**b
            digitalWrite((bits - 1) - b, HIGH)
        else:
            digitalWrite((bits - 1) - b, LOW)
    delay(250)
示例#8
0
def blink_red():
    print("Red LED blinking")
    digitalWrite(_LED_Red, HIGH)
    delay(1000)
    digitalWrite(_LED_Red, LOW)
    delay(1000)
    digitalWrite(_LED_Red, HIGH)
    delay(1000)
    digitalWrite(_LED_Red, LOW)
    delay(1000)
    digitalWrite(_LED_Red, HIGH)
    delay(1000)
    digitalWrite(_LED_Red, LOW)
    delay(1000)
示例#9
0
from shiftpi import (HIGH, LOW, ALL, digitalWrite, startupMode, delay,
                     shiftRegisters)

shiftRegisters(1)
startupMode(LOW)
up = 3
down = 4

try:

    while True:
        print('up')
        digitalWrite(up, HIGH)
        delay(500)
        digitalWrite(up, LOW)

        delay(6000)

        print('down')
        digitalWrite(down, HIGH)
        delay(500)
        digitalWrite(down, LOW)

        delay(6000)

except KeyboardInterrupt:
    digitalWrite(ALL, LOW)
def turnAllOn():
    # turns all shift register pins to HIGH
    shiftpi.digitalWrite(shiftpi.ALL, shiftpi.HIGH)
    shiftpi.delay(1000)
turnAllOn()
#shiftpi.pinsSetup({"ser": SER_PIN, "rclk": RCLK_PIN, "srclk": SRCLK_PIN}) # that's itturnSegOn(0)
#turnSegOn(1)
#shiftpi.delay(2000)
#turnSegOn(2)
#turnSegOn(3)
#turnSegOn(4)
#turnSegOn(5)
#turnSegOn(6)

#turnAllOn()
#turnAllOff()
#turnAllOn()
turnAllOff()
digitZero()
shiftpi.delay(DELAY)
turnAllOff()
digitOne()
shiftpi.delay(DELAY)
turnAllOff()
digitTwo()
shiftpi.delay(DELAY)
turnAllOff()
digitThree()
shiftpi.delay(DELAY)
turnAllOff()
digitFour()
shiftpi.delay(DELAY)
turnAllOff()
digitFive()
shiftpi.delay(DELAY)
示例#12
0
def ButtonB_Action():
    all_pins = 16
    for pin in range(all_pins - 1, -1, -1):
        shiftpi.digitalWrite(pin, shiftpi.HIGH)
        shiftpi.delay(300)
        shiftpi.digitalWrite(shiftpi.ALL, shiftpi.LOW)
示例#13
0
def _test_all_LEDs():
    all_pins = 16
    for pin in range(all_pins - 1, -1, -1):
        shiftpi.digitalWrite(pin, shiftpi.HIGH)
        shiftpi.delay(300)
        shiftpi.digitalWrite(shiftpi.ALL, shiftpi.LOW)
示例#14
0
def ButtonA_Action():
    res = '{'
    shiftpi.pinSsetupInputStart()
    pinList = [
        shiftpi._DB_1, shiftpi._DB_2, shiftpi._DB_3, shiftpi._DB_4,
        shiftpi._DB_5, shiftpi._DB_6, shiftpi._DB_7, shiftpi._DB_8,
        shiftpi._DB_9
    ]
    shiftpi.digitalWrite(shiftpi.ALL, shiftpi.LOW)
    rotate_pins = 8
    for pin in range(0, rotate_pins, 1):
        shiftpi.digitalWrite(8, shiftpi.LOW)
        shiftpi.delay(100)
        shiftpi.digitalWrite(8, shiftpi.HIGH)
        print('Checking RJ45 pin ' + str(pin + 1))
        res = res + '[' + str(pin + 1) + ',"'
        shiftpi.digitalWrite(pin, shiftpi.HIGH)
        shiftpi.delay(100)
        #Test all inputs and return result
        for pinNum in range(0, 9, 1):
            #            print(' ... checking connection to Sub D pin ' + str(pinNum+1))
            if shiftpi.readPin(shiftpi.subD[pinNum]) == 1:
                res = res + str(pinNum + 1) + '_'
#                1f pin == 9 :
#                    shiftpi.digitalWrite(15, shiftpi.HIGH)
#                    shiftpi.digitalWrite(8, shiftpi.HIGH)
#                else:
#                    shiftpi.digitalWrite(15-pin, shiftpi.HIGH)
#                shiftpi.delay(300)
#                if pin == 9 :
#                    shiftpi.digitalWrite(15, shiftpi.LOW)
#                    shiftpi.digitalWrite(8, shiftpi.LOW)
#                else:
#                    shiftpi.digitalWrite(15-pin, shiftpi.LOW)
        shiftpi.digitalWrite(pin, shiftpi.LOW)
        if pin < 7:
            res = res + '"],'
        else:
            res = res + '"]}'
    shiftpi.digitalWrite(8, shiftpi.LOW)
    shiftpi.delay(100)
    shiftpi.digitalWrite(8, shiftpi.HIGH)
    #Qualify the result
    # Blue RJ45 <-> RJ45 + STD SUB D (First is when black mark pointing towards SUB D & second is when black mark pointing towards RJ45)
    if res == '{[1,"3_"],[2,"4_"],[3,"6_"],[4,"1_"],[5,"2_"],[6,"5_"],[7,"8_"],[8,"7_"]}' or res == '{[1,"2_"],[2,"1_"],[3,"6_"],[4,"3_"],[5,"7_"],[6,"8_"],[7,"4_"],[8,"5_"]}':
        shiftpi.digitalWrite(9, shiftpi.HIGH)

    # Red (CROSS OVER) Male RJ45 <-> Male RJ45 (Symetrical) + STD SUB D
    # Red (CROSS OVER) Female RJ45 <-> Male Rj45 + STD SUB D
    if res == '{[1,"6_"],[2,"3_"],[3,"8_"],[4,"2_"],[5,"1_"],[6,"7_"],[7,"5_"],[8,"4_"]}':
        shiftpi.digitalWrite(10, shiftpi.HIGH)


#    if res == '{[1,"6_"],[2,"3_"],[3,"8_"],[4,"2_"],[5,"1_"],[6,"7_"],[7,"5_"],[8,"4_"]}':
#        shiftpi.digitalWrite(12, shiftpi.HIGH)

# Blue Female RJ45 <-> Male Rj45 (ROLLOVER) + STD SUB D
    if res == '{[1,"1_"],[2,"2_"],[3,"3_"],[4,"4_"],[5,"5_"],[6,"6_"],[7,"7_"],[8,"8_"]}':
        shiftpi.digitalWrite(11, shiftpi.HIGH)

    # Straight or Standard Sub D cable: Female RJ 45 -> Male Sub D
    if res == '{[1,"8_"],[2,"7_"],[3,"6_"],[4,"5_"],[5,"4_"],[6,"3_"],[7,"2_"],[8,"1_"]}':
        shiftpi.digitalWrite(12, shiftpi.HIGH)

    # Black Female RJ 45 -> Female Sub D
    if res == '{[1,"3_"],[2,"5_"],[3,"2_"],[4,"7_"],[5,"4_"],[6,"5_"],[7,"8_"],[8,"1_6_"]}':
        shiftpi.digitalWrite(14, shiftpi.HIGH)

    # Grey (HP) Female RJ 45 -> Female Sub D
    if res == '{[1,"7_"],[2,"4_"],[3,"3_"],[4,"5_"],[5,"5_"],[6,"2_"],[7,"6_"],[8,"8_"]}':
        shiftpi.digitalWrite(15, shiftpi.HIGH)

    shiftpi.pinSsetupInputStop()
    print(res)
示例#15
0
        shiftpi.delay(300)
        shiftpi.digitalWrite(shiftpi.ALL, shiftpi.LOW)


@atexit.register
def goodbye():
    print("You are now leaving the Python sector.")
    shiftpi.digitalWrite(shiftpi.ALL, shiftpi.LOW)


'''
Main Loop
'''
shiftpi.digitalWrite(shiftpi.ALL, shiftpi.LOW)
shiftpi.digitalWrite(8, shiftpi.HIGH)
shiftpi.delay(200)
shiftpi.digitalWrite(9, shiftpi.HIGH)
shiftpi.delay(200)
shiftpi.digitalWrite(10, shiftpi.HIGH)
shiftpi.delay(200)
shiftpi.digitalWrite(11, shiftpi.HIGH)
shiftpi.delay(200)
shiftpi.digitalWrite(12, shiftpi.HIGH)
shiftpi.delay(200)
shiftpi.digitalWrite(13, shiftpi.HIGH)
shiftpi.delay(200)
shiftpi.digitalWrite(14, shiftpi.HIGH)
shiftpi.delay(200)
shiftpi.digitalWrite(15, shiftpi.HIGH)
shiftpi.delay(200)
shiftpi.digitalWrite(8, shiftpi.LOW)
def turnSegOn(pinid):
    shiftpi.digitalWrite(pinid, shiftpi.HIGH)
    shiftpi.delay(500)
    shiftpi.digitalWrite(pinid, shiftpi.LOW)
    shiftpi.delay(500)
示例#17
0
import shiftpi

#shiftpi.pinsSetup({"ser": 16, "rclk": 20, "srclk": 21})
#shiftpi.startupMode({1: shiftpi.HIGH, 4: shiftpi.HIGH, 6: shiftpi.HIGH}, True)
shiftpi.delay(1000)
shiftpi.digitalWrite(shiftpi.ALL, shiftpi.LOW)
shiftpi.delay(1000)
for x in range(0, 9):
	shiftpi.digitalWrite(0, shiftpi.HIGH)
	shiftpi.delay(500)
	# turns shift register's pin 1 to LOW
	shiftpi.digitalWrite(0, shiftpi.LOW)
	shiftpi.delay(500)
	shiftpi.digitalWrite(1, shiftpi.HIGH)
	shiftpi.delay(500)
	# turns shift register's pin 1 to LOW
	shiftpi.digitalWrite(1, shiftpi.LOW)
	shiftpi.delay(500)
	shiftpi.digitalWrite(2, shiftpi.HIGH)
	shiftpi.delay(500)
	# turns shift register's pin 1 to LOW
	shiftpi.digitalWrite(2, shiftpi.LOW)
	shiftpi.delay(500)
	shiftpi.digitalWrite(3, shiftpi.HIGH)
	shiftpi.delay(500)
	# turns shift register's pin 1 to LOW
	shiftpi.digitalWrite(3, shiftpi.LOW)
	shiftpi.delay(500)
	shiftpi.digitalWrite(4, shiftpi.HIGH)
	shiftpi.delay(500)
示例#18
0
from shiftpi import HIGH, LOW, ALL, digitalWrite, delay, startupMode

startupMode(LOW,True)

digitalWrite(0, HIGH)
delay(1000)

digitalWrite(0, LOW)

delay(1000)

digitalWrite(ALL, HIGH)
delay(1000)
digitalWrite(ALL, LOW)


while True:
    for x in range(0, 8):
        digitalWrite(x, HIGH)
        delay(100)
        digitalWrite(x, LOW)
示例#19
0
import shiftpi

#shiftpi.pinsSetup({"ser": 16, "rclk": 20, "srclk": 21})
#shiftpi.startupMode({1: shiftpi.HIGH, 4: shiftpi.HIGH, 6: shiftpi.HIGH}, True)
shiftpi.delay(1000)
shiftpi.digitalWrite(shiftpi.ALL, shiftpi.LOW)
shiftpi.delay(1000)
for x in range(0, 9):
    shiftpi.digitalWrite(0, shiftpi.HIGH)
    shiftpi.delay(500)
    # turns shift register's pin 1 to LOW
    shiftpi.digitalWrite(0, shiftpi.LOW)
    shiftpi.delay(500)
    shiftpi.digitalWrite(1, shiftpi.HIGH)
    shiftpi.delay(500)
    # turns shift register's pin 1 to LOW
    shiftpi.digitalWrite(1, shiftpi.LOW)
    shiftpi.delay(500)
    shiftpi.digitalWrite(2, shiftpi.HIGH)
    shiftpi.delay(500)
    # turns shift register's pin 1 to LOW
    shiftpi.digitalWrite(2, shiftpi.LOW)
    shiftpi.delay(500)
    shiftpi.digitalWrite(3, shiftpi.HIGH)
    shiftpi.delay(500)
    # turns shift register's pin 1 to LOW
    shiftpi.digitalWrite(3, shiftpi.LOW)
    shiftpi.delay(500)
    shiftpi.digitalWrite(4, shiftpi.HIGH)
    shiftpi.delay(500)
    # turns shift register's pin 1 to LOW