X-Git-Url: https://git.njae.me.uk/?a=blobdiff_plain;f=glove.py;h=b2f2075aedd0221278856edaad8e1856933b97d1;hb=48acea5a554a1cdb9b99f0927c4e6893fc303cfc;hp=ec8dd5d7f45743f4fadf3bb78d85cf8af5b75aae;hpb=b5785902590afa57f30ed80402f85a16ef0ad7e0;p=pi-music.git diff --git a/glove.py b/glove.py index ec8dd5d..b2f2075 100644 --- a/glove.py +++ b/glove.py @@ -1,62 +1,29 @@ import pygame import RPi.GPIO as gpio -import time -import logging - -logger = logging.getLogger(__name__) -loggerFileHandler = logging.FileHandler('glove.log') -loggerFileHandlerFormatter = logging.Formatter('%(asctime)s %(levelname)-8s %(message)s') -loggerFileHandler.setFormatter(loggerFileHandlerFormatter) -logger.addHandler(loggerFileHandler) -logger.setLevel(logging.WARNING) -logger.setLevel(logging.INFO) +gpio.setmode(gpio.BCM) +pins = [25, 24, 18, 22] guitars = ['sounds/guitar1.wav', 'sounds/guitar2.wav', 'sounds/guitar3.wav', - 'sounds/guitar4.wav', - 'sounds/guitar5.wav'] - -pins = [25, 24, 18, 22] -pins = [25] + 'sounds/guitar4.wav'] pygame.mixer.init() -sounds = [pygame.mixer.Sound(g) for g in guitars] - -gpio.setmode(gpio.BCM) -for pin in pins: - gpio.setup(pin, gpio.IN) - -last_states = [gpio.input(p) for p in pins] -these_states = list(last_states) +sounds = {} +for pin, wav in zip(pins, guitars): + sounds[pin] = pygame.mixer.Sound(wav) def handle_sound(pin): - if gpio.input(pin): - sounds[pins.index(pin)].play() - logger.info("Started playing {0}".format(pins.index(pin))) + if not gpio.input(pin): + sounds[pin].play() else: - sounds[pins.index(pin)].stop() - logger.info("Stopped playing {0}".format(pins.index(pin))) - + sounds[pin].stop() for pin in pins: + gpio.setup(pin, gpio.IN) gpio.add_event_detect(pin, gpio.BOTH, callback=handle_sound, bouncetime=200) -# gpio.add_event_detect(pin, gpio.FALLING, callback=stop_sound, bouncetime=100) while True: pass - -#while True: -# these_states = [gpio.input(p) for p in pins] -# logger.debug("These: {0}, Last: {1}".format(these_states, last_states)) -# for i in range(len(pins)): -# if these_states[i] and not last_states[i]: -# sounds[i].play() -# last_states[i] = these_states[i] -# logger.info("Started playing {0}".format(i)) -# if not these_states[i] and last_states[i]: -# sounds[i].stop() -# last_states[i] = these_states[i] -# logger.info("Stopped playing {0}".format(i))