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)
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
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
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()
#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)
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
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)
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)
[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
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)
#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)
#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)
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