Added worksheets
[pi-music.git] / glove.py
1 import pygame
2 import RPi.GPIO as gpio
3 import logging
4
5 logger = logging.getLogger(__name__)
6 loggerFileHandler = logging.FileHandler('glove.log')
7 loggerFileHandlerFormatter = logging.Formatter('%(asctime)s %(levelname)-8s %(message)s')
8 loggerFileHandler.setFormatter(loggerFileHandlerFormatter)
9 logger.addHandler(loggerFileHandler)
10 logger.setLevel(logging.WARNING)
11 logger.setLevel(logging.INFO)
12
13 gpio.setmode(gpio.BCM)
14 pins = [25, 24, 18, 22]
15 # pins = [25]
16
17 guitars = ['sounds/guitar1.wav',
18 'sounds/guitar2.wav',
19 'sounds/guitar3.wav',
20 'sounds/guitar4.wav',
21 'sounds/guitar5.wav']
22
23 pygame.mixer.init()
24
25 sounds = {}
26 for pin, wav in zip(pins, guitars):
27 sounds[pin] = pygame.mixer.Sound(wav)
28
29 def handle_sound(pin):
30 if not gpio.input(pin):
31 sounds[pin].play()
32 logger.info("Started playing {0}".format(pins.index(pin)))
33 else:
34 sounds[pin].stop()
35 logger.info("Stopped playing {0}".format(pins.index(pin)))
36
37 for pin in pins:
38 gpio.setup(pin, gpio.IN)
39 gpio.add_event_detect(pin, gpio.BOTH, callback=handle_sound, bouncetime=200)
40
41 while True:
42 pass