예제 #1
0
def led_flash(led, delay):
    global flashing
    while flashing:
        shiftpi.digitalWrite(led, shiftpi.HIGH)
        shiftpi.delay(delay)

        shiftpi.digitalWrite(led, shiftpi.LOW)
        shiftpi.delay(delay)
예제 #2
0
 def pumping(self, pumps):
     if not self.isReady():
         self.glassense.rgb(glassensor.RED)
         s.info(" - setze auf Rot")
         return States.NOK
     s.info("Starte Pumpen: " + s.toString(pumps))
     s.info(" - setze auf Grün")
     self.glassense.rgb(glassensor.GREEN)
     count = 1
     while count > 0:
         s.debug(" - Iteration: " + s.toString(pumps))
         count = 0
         idx = 0
         for pump in pumps:
             if pump > 0:
                 shiftpi.digitalWrite(idx, shiftpi.HIGH)
                 pump -= 1
                 pumps[idx] = pump
                 count+= pump
             else:
                 shiftpi.digitalWrite(idx, shiftpi.LOW)
             idx += 1
         shiftpi.delay(self.PUMP_INTERVAL);
     shiftpi.digitalWrite(shiftpi.ALL, shiftpi.LOW)
     s.info(" - setze auf Blue")
     self.glassense.rgb(glassensor.BLUE)
     return States.OK
예제 #3
0
def standby_led_routine():
    # Cycle through LEDs to entice the player
    while standby:
        delay = 300
        for each in range(0, 10):
            shiftpi.digitalWrite(each, shiftpi.HIGH)
            shiftpi.delay(delay)

            shiftpi.digitalWrite(each, shiftpi.LOW)
            shiftpi.delay(delay)

            if not standby:
                for each in range(0, 10):
                    shiftpi.digitalWrite(each, shiftpi.LOW)
                break
예제 #4
0
def winner_led_routine():
    global standby
    # Fun flashing light routine
    delay = 300
    while delay > 10:
        for each in range(0, 10):
            shiftpi.digitalWrite(each, shiftpi.HIGH)
            shiftpi.delay(delay)

            shiftpi.digitalWrite(each, shiftpi.LOW)
            shiftpi.delay(delay)
        delay = delay * 0.75

    # Turn off all LEDs and then enter standby mode
    for each in range(0, 10):
        shiftpi.digitalWrite(each, shiftpi.LOW)
    standby = True
    standby_mode()
예제 #5
0
#import shiftpi
import shiftpi.shiftpi as shiftpi

shiftpi.shiftRegisters(8)

#initialize
shiftpi.digitalWrite(shiftpi.ALL, shiftpi.LOW)
shiftpi.delay(1000)

# turns shift register's pin to HIGH
shiftpi.digitalWrite(44, shiftpi.HIGH)
shiftpi.delay(500)

shiftpi.digitalWrite(45, shiftpi.HIGH)
shiftpi.delay(500)

shiftpi.digitalWrite(46, shiftpi.HIGH)
shiftpi.delay(500)

# turns shift register's pin to LOW
shiftpi.digitalWrite(44, shiftpi.LOW)
shiftpi.delay(500)

# turns all shift register pins to HIGH
shiftpi.digitalWrite(shiftpi.ALL, shiftpi.HIGH)
shiftpi.delay(1000)

#and to low
shiftpi.digitalWrite(shiftpi.ALL, shiftpi.LOW)
shiftpi.delay(1000)
예제 #6
0
파일: motors.py 프로젝트: Bsod83/pythonmess
def spin(motor, sec):
    ticks = sec * 1000
    if motor == 1:
        shiftpi.digitalWrite(1, shiftpi.HIGH)
        shiftpi.digitalWrite(2, shiftpi.HIGH)
        shiftpi.digitalWrite(3, shiftpi.HIGH)
        shiftpi.digitalWrite(4, shiftpi.HIGH)
        shiftpi.delay(ticks)
        shiftpi.digitalWrite(1, shiftpi.LOW)
        shiftpi.digitalWrite(2, shiftpi.LOW)
        shiftpi.digitalWrite(3, shiftpi.LOW)
        shiftpi.digitalWrite(4, shiftpi.LOW)
    else:
        if motor == 2:
            shiftpi.digitalWrite(5, shiftpi.HIGH)
            shiftpi.digitalWrite(6, shiftpi.HIGH)
            shiftpi.digitalWrite(7, shiftpi.HIGH)
            shiftpi.digitalWrite(8, shiftpi.HIGH)
            shiftpi.delay(ticks)
            shiftpi.digitalWrite(5, shiftpi.LOW)
            shiftpi.digitalWrite(6, shiftpi.LOW)
            shiftpi.digitalWrite(7, shiftpi.LOW)
            shiftpi.digitalWrite(8, shiftpi.LOW)
        else:
            if motor == 3:
                shiftpi.digitalWrite(1, shiftpi.HIGH)
                shiftpi.digitalWrite(2, shiftpi.HIGH)
                shiftpi.digitalWrite(3, shiftpi.HIGH)
                shiftpi.digitalWrite(4, shiftpi.HIGH)
                shiftpi.digitalWrite(5, shiftpi.HIGH)
                shiftpi.digitalWrite(6, shiftpi.HIGH)
                shiftpi.digitalWrite(7, shiftpi.HIGH)
                shiftpi.digitalWrite(8, shiftpi.HIGH)
                shiftpi.delay(ticks)
                shiftpi.digitalWrite(1, shiftpi.LOW)
                shiftpi.digitalWrite(2, shiftpi.LOW)
                shiftpi.digitalWrite(3, shiftpi.LOW)
                shiftpi.digitalWrite(4, shiftpi.LOW)
                shiftpi.digitalWrite(5, shiftpi.LOW)
                shiftpi.digitalWrite(6, shiftpi.LOW)
                shiftpi.digitalWrite(7, shiftpi.LOW)
                shiftpi.digitalWrite(8, shiftpi.LOW)
            else:
                shiftpi.digitalWrite(1, shiftpi.LOW)
                shiftpi.digitalWrite(2, shiftpi.LOW)
                shiftpi.digitalWrite(3, shiftpi.LOW)
                shiftpi.digitalWrite(4, shiftpi.LOW)
                shiftpi.digitalWrite(5, shiftpi.LOW)
                shiftpi.digitalWrite(6, shiftpi.LOW)
                shiftpi.digitalWrite(7, shiftpi.LOW)
                shiftpi.digitalWrite(8, shiftpi.LOW)
    return 1
예제 #7
0
 def blink():
   sp.digitalWrite(1, sp.HIGH)
   sp.digitalWrite(2, sp.HIGH)
   sp.digitalWrite(3, sp.HIGH)
   sp.digitalWrite(4, sp.HIGH)
   sp.digitalWrite(5, sp.HIGH)
   sp.digitalWrite(6, sp.HIGH)
   sp.digitalWrite(7, sp.HIGH)
   sp.digitalWrite(8, sp.HIGH)
   sp.digitalWrite(9, sp.HIGH)
   sp.digitalWrite(10, sp.HIGH)
   sp.digitalWrite(11, sp.HIGH)
   sp.digitalWrite(12, sp.HIGH)
   sp.digitalWrite(13, sp.HIGH)
   sp.digitalWrite(14, sp.HIGH)
   sp.digitalWrite(15, sp.HIGH)
   sp.digitalWrite(16, sp.HIGH)
   sp.digitalWrite(17, sp.HIGH)
   sp.digitalWrite(18, sp.HIGH)
   sp.digitalWrite(19, sp.HIGH)
   sp.digitalWrite(20, sp.HIGH)
   sp.digitalWrite(21, sp.HIGH)
   sp.digitalWrite(22, sp.HIGH)
   sp.digitalWrite(23, sp.HIGH)
   sp.digitalWrite(24, sp.HIGH)
   sp.digitalWrite(25, sp.HIGH)
   sp.digitalWrite(26, sp.HIGH)
   sp.digitalWrite(27, sp.HIGH)
   sp.digitalWrite(28, sp.HIGH)
   sp.digitalWrite(29, sp.HIGH)
   sp.digitalWrite(30, sp.HIGH)
   sp.digitalWrite(31, sp.HIGH)
   sp.digitalWrite(32, sp.HIGH)
   sp.digitalWrite(1, sp.LOW)
   sp.digitalWrite(2, sp.LOW)
   sp.digitalWrite(3, sp.LOW)
   sp.digitalWrite(4, sp.LOW)
   sp.digitalWrite(5, sp.LOW)
   sp.digitalWrite(6, sp.LOW)
   sp.digitalWrite(7, sp.LOW)
   sp.digitalWrite(8, sp.LOW)
   sp.digitalWrite(9, sp.LOW)
   sp.digitalWrite(10, sp.LOW)
   sp.digitalWrite(11, sp.LOW)
   sp.digitalWrite(12, sp.LOW)
   sp.digitalWrite(13, sp.LOW)
   sp.digitalWrite(14, sp.LOW)
   sp.digitalWrite(15, sp.LOW)
   sp.digitalWrite(16, sp.LOW)
   sp.digitalWrite(17, sp.LOW)
   sp.digitalWrite(18, sp.LOW)
   sp.digitalWrite(19, sp.LOW)
   sp.digitalWrite(20, sp.LOW)
   sp.digitalWrite(21, sp.LOW)
   sp.digitalWrite(22, sp.LOW)
   sp.digitalWrite(23, sp.LOW)
   sp.digitalWrite(24, sp.LOW)
   sp.digitalWrite(25, sp.LOW)
   sp.digitalWrite(26, sp.LOW)
   sp.digitalWrite(27, sp.LOW)
   sp.digitalWrite(28, sp.LOW)
   sp.digitalWrite(29, sp.LOW)
   sp.digitalWrite(30, sp.LOW)
   sp.digitalWrite(31, sp.LOW)
   sp.digitalWrite(32, sp.LOW)
예제 #8
0
 def circle():
   sp.digitalWrite(1, sp.HIGH)
   sp.digitalWrite(17, sp.HIGH)
   sp.delay(50)
   sp.digitalWrite(2, sp.HIGH)
   sp.digitalWrite(18, sp.HIGH)
   sp.delay(50)
   sp.digitalWrite(1, sp.LOW)
   sp.digitalWrite(17, sp.LOW)
   sp.delay(50)
   sp.digitalWrite(3, sp.HIGH)
   sp.digitalWrite(19, sp.HIGH)
   sp.delay(50)
   sp.digitalWrite(2, sp.LOW)
   sp.digitalWrite(18, sp.LOW)
   sp.delay(50)
   sp.digitalWrite(2, sp.HIGH)
   sp.digitalWrite(18, sp.HIGH)
   sp.delay(50)
   sp.digitalWrite(1, sp.LOW)
   sp.digitalWrite(17, sp.LOW)
   sp.delay(50)
   sp.digitalWrite(2, sp.High)
   sp.digitalWrite(18, sp.High)
예제 #9
0
    [0, 1, 2, 3, 4, -1, -1, 7],  # 6
    [-1, -1, -1, 3, 4, -1, 6, -1],  # 7
    [0, 1, 2, 3, 4, -1, 6, 7],  # 8
    [0, -1, 2, 3, 4, -1, 6, 7]
]  # 9

SP.shiftRegisters(4)

if len(sys.argv) == 1:
    digit = 4
    col = 0
elif len(sys.argv) == 2:
    digit = int(sys.argv[1])
    col = 0
else:
    digit = int(sys.argv[1])
    col = int(sys.argv[2])
if digit > 9 or digit < 0:
    SP.digitalWrite(SP.ALL, SP.LOW)
    sys.exit("invalid digit")
if col < 0 or col > 3:
    SP.digitalWrite(SP.ALL, SP.LOW)
    sys.exit("invalid col")
try:
    for i in range(0, 8):
        if segments[digit][i] != -1:
            SP.digitalWrite((abs(segments[digit][i] - 31) - (col * 8)),
                            SP.HIGH)
except KeyboardInterrupt:
    pass
예제 #10
0
def setStep(w1, w2, w3, w4, w5, w6, w7, w8):
	reg.digitalWrite(1, reg.w1)
	reg.digitalWrite(2, reg.w2)
	reg.digitalWrite(3, reg.w3)
	reg.digitalWrite(4, reg.w4)
	reg.digitalWrite(5, reg.w5)
	reg.digitalWrite(6, reg.w6)
	reg.digitalWrite(7, reg.w7)
	reg.digitalWrite(8, reg.w8)
예제 #11
0
#import shiftpi
import shiftpi.shiftpi as shiftpi

shiftpi.shiftRegisters(8) 

#initialize
shiftpi.digitalWrite(shiftpi.ALL, shiftpi.LOW)
shiftpi.delay(1000)

# turns shift register's pin to HIGH
shiftpi.digitalWrite(44, shiftpi.HIGH)
shiftpi.delay(500)

shiftpi.digitalWrite(45, shiftpi.HIGH)
shiftpi.delay(500)

shiftpi.digitalWrite(46, shiftpi.HIGH)
shiftpi.delay(500)


# turns shift register's pin to LOW
shiftpi.digitalWrite(44, shiftpi.LOW)
shiftpi.delay(500)


# turns all shift register pins to HIGH
shiftpi.digitalWrite(shiftpi.ALL, shiftpi.HIGH)
shiftpi.delay(1000)

#and to low
shiftpi.digitalWrite(shiftpi.ALL, shiftpi.LOW)
예제 #12
0
#import shiftpi
import shiftpi.shiftpi as shiftpi

shiftpi.shiftRegisters(8) 

shiftpi.digitalWrite(shiftpi.ALL, shiftpi.LOW)
shiftpi.delay(1000)

for i in range(0,64):
	print (i+1)
	shiftpi.digitalWrite(shiftpi.ALL, shiftpi.LOW)
	shiftpi.digitalWrite(i, shiftpi.HIGH)
	shiftpi.delay(500)


# turns all shift register pins to HIGH
shiftpi.digitalWrite(shiftpi.ALL, shiftpi.HIGH)
shiftpi.delay(1000)

#and to low
shiftpi.digitalWrite(shiftpi.ALL, shiftpi.LOW)
shiftpi.delay(1000)
예제 #13
0
GPIO.setup(left_joystick_down, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(right_joystick_up, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(right_joystick_down, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(start_button, GPIO.IN, pull_up_down=GPIO.PUD_UP)
shiftpi.pinsSetup(
    **{
        "ser": shift_register_SER,
        "rclk": shift_register_RCLK,
        "srclk": shift_register_SRCLK
    })

# Setting up LED configuration with shift registers
shiftpi.shiftRegisters(2)

# Light up all LEDs
shiftpi.digitalWrite(shiftpi.ALL, shiftpi.HIGH)

# Set up MCP23017 and configure inputs
MCP = mcp_lib.MCP230XX('MCP23017', 0x20, '16bit')
for input in range(0, 16):
    MCP.set_mode(input, 'input')

standby = True
flashing = False


def motor_control():
    global left_dir
    global right_dir
    global left_speed
    global right_speed