import RPi.GPIO as GPIO import random import time import os class Sunshine: def __init__(self, red, green, blue): self._blue = blue self._green = green self._red = red # Setup GPIO.setmode(GPIO.BCM) GPIO.setup(self._blue,GPIO.OUT) GPIO.setup(self._green, GPIO.OUT) GPIO.setup(self._red, GPIO.OUT) def red(self,state): self._change_state(self._red,state) def green(self,state): self._change_state(self._green,state) def blue(self,state): self._change_state(self._blue,state) def _change_state(self,color, state): GPIO.output(color,state) class Sun: def __init__(self, pin): self.pin = pin GPIO.setup(self.pin,GPIO.OUT) if __name__ == "__main__": red = 5 blue = 13 green = 6 pin = 10 sunshine = Sunshine(red, green, blue) sound = ['2059.wav','226.wav','600.wav'] color_function = [[sunshine.red], [sunshine.green], [sunshine.red, sunshine.green]] sequence = [2, 2, 2, 0, 0, 1] for i in sequence: choice = i color = color_function[choice] chosen_sound = sound[choice] for c in color: c(True) print("playing sound {}".format(chosen_sound)) os.system('aplay {}'.format(chosen_sound)) time.sleep(0.2) for c in color: c(False) time.sleep(.5) GPIO.cleanup()