2 import RPi
.GPIO
as gpio
6 logger
= logging
.getLogger(__name__
)
7 loggerFileHandler
= logging
.FileHandler('glove.log')
8 loggerFileHandlerFormatter
= logging
.Formatter('%(asctime)s %(levelname)-8s %(message)s')
9 loggerFileHandler
.setFormatter(loggerFileHandlerFormatter
)
10 logger
.addHandler(loggerFileHandler
)
11 logger
.setLevel(logging
.WARNING
)
12 logger
.setLevel(logging
.INFO
)
15 guitars
= ['sounds/guitar1.wav',
21 pins
= [25, 24, 18, 22]
24 sounds
= [pygame
.mixer
.Sound(g
) for g
in guitars
]
26 gpio
.setmode(gpio
.BCM
)
28 gpio
.setup(pin
, gpio
.IN
)
30 last_states
= [gpio
.input(p
) for p
in pins
]
31 these_states
= list(last_states
)
34 these_states
= [gpio
.input(p
) for p
in pins
]
35 logger
.debug("These: {0}, Last: {1}".format(these_states
, last_states
))
36 for i
in range(len(pins
)):
37 if these_states
[i
] and not last_states
[i
]:
39 last_states
[i
] = these_states
[i
]
40 logger
.info("Started playing {0}".format(i
))
41 if not these_states
[i
] and last_states
[i
]:
43 last_states
[i
] = these_states
[i
]
44 logger
.info("Stopped playing {0}".format(i
))