Exemple #1
0
def main():
    if (len(sys.argv) < 2):
        print "Kayttoohje: sudo python Main.py Raspberryn_IP_osoite Lampomittarin_polku"
        sys.exit(0)

    ip = sys.argv[1]
    lampomittari_path = sys.argv[2]

    GPIO.setmode(GPIO.BCM)

    lampomittarin_laite = LED(17)
    valoanturin_laite = LED(27)

    lampomittari = Lampomittari(lampomittari_path, lampomittarin_laite, True,
                                24)
    valoanturi = Valoanturi(18, 23, valoanturin_laite, True, 6)

    web_ui = WebUI(ip, lampomittari, valoanturi)
    thread.start_new_thread(web_ui.kaynnista, ())

    while True:
        valoanturi.paivita()
        print valoanturi.anna_valoisuus()
        #print lampomittari.paivita()
        time.sleep(1)
Exemple #2
0
 def __init__(self):
     self._mongo = Mongo()
     self._sensor = Sensor()
     self._adafruit = Adafruit()
     self._lcd = lcd_ecologic()
     self._led = LED()
     self._firebase = Firebase()
Exemple #3
0
    def __init__(self, *args, **kwargs):
        wx.Panel.__init__(self, *args, **kwargs)

        self.StaticBox = wx.StaticBox(self, -1, "Channel")
        self.StaticBoxSizer = wx.StaticBoxSizer(self.StaticBox, wx.VERTICAL)
        self.grid = wx.GridBagSizer(0, 0)

        self.On = wx.Button(self, -1, "ON", size=(58, 22))
        self.Off = wx.Button(self, -1, "OFF", size=(58, 22))

        self.Led = LED(self)
        self.Led.SetState(0)

        self.PWR = wx.StaticText(self,
                                 label=u"Power [dBm]:  ",
                                 size=(120, 20),
                                 style=wx.ALIGN_RIGHT)
        self.WVL = wx.StaticText(self,
                                 label=u"Wavelength [nm]:  ",
                                 size=(120, 20),
                                 style=wx.ALIGN_RIGHT)

        self.txtPWR = wx.TextCtrl(self, size=(80, 20), value="")
        self.txtWVL = wx.TextCtrl(self, size=(80, 20), value="")

        self.grid.Add(self.On,
                      pos=(0, 0),
                      flag=wx.ALL | wx.ALIGN_CENTER_VERTICAL,
                      border=0)
        self.grid.Add(self.Off,
                      pos=(0, 1),
                      flag=wx.ALL | wx.ALIGN_CENTER_VERTICAL,
                      border=0)
        self.grid.Add(self.Led,
                      pos=(0, 2),
                      flag=wx.ALL | wx.EXPAND | wx.ALIGN_CENTER_VERTICAL,
                      border=0)
        self.grid.Add(self.PWR,
                      pos=(1, 0),
                      flag=wx.ALL | wx.EXPAND | wx.ALIGN_CENTER_VERTICAL,
                      border=0,
                      span=(1, 2))
        self.grid.Add(self.WVL,
                      pos=(2, 0),
                      flag=wx.ALL | wx.EXPAND | wx.ALIGN_CENTER_VERTICAL,
                      border=0,
                      span=(1, 2))
        self.grid.Add(self.txtPWR,
                      pos=(1, 2),
                      flag=wx.ALL | wx.EXPAND | wx.ALIGN_CENTER_VERTICAL,
                      border=0)
        self.grid.Add(self.txtWVL,
                      pos=(2, 2),
                      flag=wx.ALL | wx.EXPAND | wx.ALIGN_CENTER_VERTICAL,
                      border=0)

        self.StaticBoxSizer.Add(self.grid, 0, wx.ALL | wx.LEFT, 0)
        self.SetSizerAndFit(self.StaticBoxSizer)
Exemple #4
0
    def __init__(self):
        """ Door Latch Constructor """

        #Open a serial connection to the Arduino
        self.ser = serial.Serial('/dev/ttyACM0', 9600, timeout=0.2)

        self.status = "LOCKED"

        #Initialize the LED System
        LED.setup()

        #Initialize the hardware buttons
        Button.setup()
Exemple #5
0
    def __init__(self, confpath="./example.conf"):
        """
            Instantiates a WeatherStation object and all of its individual
            components.

            @param: confpath - absolute path to configuration file.
                default = "./example.conf"
        """
        self.mode = None
        self.warnings = None
        self.params = {}
        self.leds = []
        self.ledpins = {}
        self.sensorpins = {}

        # read through the config file
        try:
            os.stat(confpath)
            self.__parseconfig(confpath)
        except FileNotFoundError:
            print("Config file %r not found." % confpath)
            sys.exit(-1)
        except AssertionError as e:
            print("The config file is missing the following sections: ", e)
            sys.exit(-1)
        except Exception as e:
            print("Error has occured whilst accessing config file:")
            print(e)
            sys.exit(-1)

        # set warnings
        gpio.setwarnings(self.warnings)

        # instantiate all components
        self.lcd = LCD(self.mode)
        self.sensor = SHT11(self.sensorpins["data"], self.sensorpins["clock"],
                self.mode)

        self.status_led = LED(self.ledpins["green"], self.mode)
        self.temperature_led = LED(self.ledpins["red"], self.mode)
        self.humidity_led = LED(self.ledpins["yellow"], self.mode)
        self.query_led = LED(self.ledpins["blue"], self.mode)
        self.leds = [self.status_led, self.temperature_led, self.humidity_led,
                self.query_led]

        # blink all LEDs
        for led in self.leds:
            led.blink(0.3)

        # write status to the screen
        self.__lcd_write("WEATHERSTATION", "OPERATIONAL")
Exemple #6
0
class HeartBeat:
    def __init__(self):
        self._running = True
        self._LED = LED()

    def terminate(self):
        self._running = False

    def run(self):
        while self._running:
            self._LED.ledOn()
            time.sleep(0.5)
            self._LED.ledOff()
            time.sleep(0.5)
Exemple #7
0
    def __init__(self, button_pin=29, led_pin=31):
        # GPIO interaction
        Button.__init__(self, pin=button_pin)
        LED.__init__(self, pin=led_pin)
        GPIO.add_event_callback(self.button_pin, callback=self.listener)
        # for record
        self.pa = None
        self.stream = None
        self.frames = None
        # check button state
        self.button_pressed = None

        while True:
            time.sleep(.01)
Exemple #8
0
def LEDTest():
    power = CPI()

    node1 = Transistor(True)

    led = LED()

    power.setConnection(node1)

    node1.setConnection(led)

    node1.setSignal(True)
    print(led.display())
    node1.setSignal(False)
    print(led.display())
Exemple #9
0
    def __init__(self, args):

        self.kySocket = mySocket(self, args.socket_ip,
                                 args.socket_port)  #arg port 넣기
        self.button = MyButton(self)
        self.tts = busPlayList(keyData.TTS_client_id,
                               keyData.TTS_client_secret)
        self.userBus = UserBus()
        self.control = Control(self)
        self.bus = StationDict(
            self, args.stationID, keyData.serviceKey,
            args.url)  # 순서 중요 tts -> userBus-> control -> bus
        self.led = LED()

        self.updateCycle = args.updateCycle

        self.systemState = False  # 시스템 상태(default : 대기)
    def __InitializeLEDS(self, ledGpioPins):
        ledColor = Color.GREEN
        for i in range(0, Globals.NUMBER_OF_LEDS):
            if i < 5:
                ledColor = Color.GREEN
            else:
                ledColor = Color.RED

            self.__leds.append(
                LED(position=i, gpioPIN=ledGpioPins[i], color=ledColor))
Exemple #11
0
    def lockDoor(self):
        """
		Set the latch pin state to HIGH, retracting the latch (a.k.a. unlocking door)

		Parameters
	    	----------
	    	None

		Returns
	    	-------
	    	None
		"""

        #Lock the door
        self.ser.write("%d" % LOCK)

        #Update the door status
        self.status = "LOCKED"

        #Update the LEDs
        LED.updateLEDs(self.status)
 def __init__(self, bb8):
     self.BB8 = bb8
     self.red = LED(5)
     self.green = LED(6)
     self.blue = LED(12)
     self.State = "default"
     self.nextUpdate = 0
def button_handler(the_button, state):
    """ Handles button event.
        Parameters:
          'the_button' is a reference to the BUTTON instance that invoked the callback (ie the button variable created below)
          'state' is the button state, eg PRESSED, RELEASED, HOLD """

    global led_index

    if state == BUTTON.PRESSED:  # (1)
        led_index += 1

        if led_index >= len(LEDS):
            led_index = 0

        logger.info(
            "Turning the Potentiometer dial will change the rate for LED #{}".
            format(led_index))

    elif state == BUTTON.HOLD:  # (2)
        rate = pot.get_value()
        logger.info("Changing rate for all LEDs to {}".format(rate))
        LED.set_rate_all(rate)
Exemple #14
0
    def __init__(self):
        GPIO.setmode(GPIO.BCM)
        GPIO.setwarnings(False)
        self.green_led = LED(5)
        self.yellow_led = LED(13)
        self.red_led = LED(21)
        self.motor = Motor()
        self.web_cam = cv.VideoCapture(0)
        self.pi_cam = PiCamera()

        self.angle = 0.25
        self.open = False
        self.face = None

        self.server_ip = '10.10.3.21'
        self.port = 8080

        self.threshold = 20000
        self.interval = 10
class ProcessStateIndicator:
    def __init__(self, bb8):
        self.BB8 = bb8
        self.red = LED(5)
        self.green = LED(6)
        self.blue = LED(12)
        self.State = "default"
        self.nextUpdate = 0

    def SetBrightness(self, brightness):
        self.red.SetBrightness(brightness)
        self.green.SetBrightness(brightness)
        self.blue.SetBrightness(brightness)

    def SetValue(self, r, g, b):
        self.red.SetValue(r)
        self.green.SetValue(g)
        self.blue.SetValue(b)

    def SetDefault(self):
        self.SetValue(0, 0, 0)
        self.State = "default"

    def SetR2D2(self):
        self.State = "r2d2"
        self.nextUpdate = time.time()

    def Update(self):
        if self.State == "default":
            v = 255 * self.BB8.Sound.GetAmplitude()
            self.SetValue(v, v, v)
        elif self.State == "r2d2":
            t = time.time()
            if t > self.nextUpdate:
                self.nextUpdate = t + 3 * random.random()
                if self.red.Value == 255:
                    self.SetValue(0, 0, 255)
                else:
                    self.SetValue(255, 0, 0)
Exemple #16
0
import json
# import RPi.GPIO as GPIO
from uuid import getnode as get_mac
import time
from LED import LED
from Buzzer import Buzzer

# GPIO.setmode(GPIO.BCM)

hostename = "broker.hivemq.com"
# mac = get_mac()
mac = 123456789012345
c = "/frame/" + str(mac)
print(c)
buzzer = Buzzer(23)
led = LED(24)


def on_connect(client, userdata, flags, rc):
    client.subscribe(c, 0)
    print("connected with result code " + str(rc))


def on_message(client, userdata, msg):
    #print(msg.topic + " " + str(msg.payload))
    msg = str(msg.payload)[2:-1]
    # print(msg)
    dictionaryToJson = json.dumps(msg.lower())
    print(dictionaryToJson)
    if (dictionaryToJson == "frame_added"):
        buzzer.lawaai_buzzer_add_frame()
Exemple #17
0
class WeatherStation(object):
    """
        Control class for the entire hardware setup.
        Contains:
            - 16x2 LCD
            - temperature & humidity sensor
            - green LED to indicate station is operational
            - blue LED to indicate sensors are currently being queried
            - red LED to indicate extreme temperature readings
            - yellow LED to indicate extreme humidity readings

        Example usage:
        >>> from WeatherStation import WeatherStation
        >>>
        >>> # for details about the config file, see "example.conf"
        >>> ws = WeatherStation("/absolute/path/to/config/file.conf")
        >>> ws.monitor(run_time=3600, frequency=5)
    """

    def __init__(self, confpath="./example.conf"):
        """
            Instantiates a WeatherStation object and all of its individual
            components.

            @param: confpath - absolute path to configuration file.
                default = "./example.conf"
        """
        self.mode = None
        self.warnings = None
        self.params = {}
        self.leds = []
        self.ledpins = {}
        self.sensorpins = {}

        # read through the config file
        try:
            os.stat(confpath)
            self.__parseconfig(confpath)
        except FileNotFoundError:
            print("Config file %r not found." % confpath)
            sys.exit(-1)
        except AssertionError as e:
            print("The config file is missing the following sections: ", e)
            sys.exit(-1)
        except Exception as e:
            print("Error has occured whilst accessing config file:")
            print(e)
            sys.exit(-1)

        # set warnings
        gpio.setwarnings(self.warnings)

        # instantiate all components
        self.lcd = LCD(self.mode)
        self.sensor = SHT11(self.sensorpins["data"], self.sensorpins["clock"],
                self.mode)

        self.status_led = LED(self.ledpins["green"], self.mode)
        self.temperature_led = LED(self.ledpins["red"], self.mode)
        self.humidity_led = LED(self.ledpins["yellow"], self.mode)
        self.query_led = LED(self.ledpins["blue"], self.mode)
        self.leds = [self.status_led, self.temperature_led, self.humidity_led,
                self.query_led]

        # blink all LEDs
        for led in self.leds:
            led.blink(0.3)

        # write status to the screen
        self.__lcd_write("WEATHERSTATION", "OPERATIONAL")


    def __parseconfig(self, confpath):
        """
            Parses the config file, registering all found values.
            In case a paricular value is not present, a fallback is provided.

            @param: confpath - path to the configuration file

            @return: none
        """
        parser = ConfigParser()
        parser.read(confpath)

        # check if all required sections are present:
        sections = parser.sections()
        expected = ["General", "Parameters", "Sensor", "LEDs"]
        assert sections >= expected, "%r" % expected - sections

        # get operations mode
        mode = parser["General"]["MODE"]
        if mode.lower() == "board":
            self.mode = gpio.BOARD
        else:
            self.mode = gpio.BCM

        # get warnings setting
        self.warnings = parser.getboolean("General", "WARNINGS", fallback=False)

        # get operational parameters
        parameters = parser["Parameters"]
        self.params["maxt"] = parameters.getfloat("MAX_TEMP", fallback=40.0)
        self.params["mint"] = parameters.getfloat("MIN_TEMP", fallback=20.0)
        self.params["maxh"] = parameters.getfloat("MAX_HUMID", fallback=70.0)
        self.params["minh"] = parameters.getfloat("MIN_HUMID", fallback=30.0)

        # get sensor pins
        sensorpins = parser["Sensor"]
        self.sensorpins["data"] = sensorpins.getint("DATA", fallback=27)
        self.sensorpins["clock"] = sensorpins.getint("CLOCK", fallback=4)

        # get led pins
        ledpins = parser["LEDs"]
        self.ledpins["green"] = ledpins.getint("GREEN", fallback=12)
        self.ledpins["red"] = ledpins.getint("RED", fallback=19)
        self.ledpins["yellow"] = ledpins.getint("YELLOW", fallback=20)
        self.ledpins["blue"] = ledpins.getint("BLUE", fallback=21)


    def monitor(self, run_time=600, frequency=1):
        """
            Lights the appropriate LEDs and displays the result on the LCD for
            a given ammount of time and at a specified frequency.

            @param run_time: Time to run in seconds.

            @param frequency: The frequency at which the update occurs.

            @return: None
        """
        self.status_led.on()

        start_time = time.time()
        end_time = start_time + run_time

        while time.time() <= end_time:
            # query the sensor
            self.query_led.on()
            try:
                temperature = self.sensor.temperature()
                humidity = self.sensor.humidity(temperature)
            except Exception:
                self.sensor.reset()
                time.sleep(1)
                continue
            self.query_led.off()

            # trigger appropriate LEDs
            self.__trigger_leds(humidity, temperature)

            # write values on the LCD
            self.__lcd_write("%.2f %s" % (temperature, "(C)"),
                    "%.2f %s" % (humidity, "(RH%)"))

            time.sleep(frequency)

        self.clear()
        self.__lcd_write("WEATHERSTATION", "OPERATIONAL")


    def __lcd_write(self, line1="", line2=""):
        """
            Centers and writes the two lines to the LCD.

            @param: line1 - what to write on the first line of the LCD.

            @param: line2 - what to write on the second line of the LCD.

            @return: None
        """
        self.lcd.writeline(line1.center(self.lcd.SCREENWIDTH, " "), line=1)
        self.lcd.writeline(line2.center(self.lcd.SCREENWIDTH, " "), line=2)


    def __trigger_leds(self, humidity, temperature):
        """
            Lights up the LEDs based on the current status.

            @param: humidity - current humidity reading.

            @param: temperature - current temperature reading.

            @return: None
        """

        if self.params["minh"] > humidity or self.params["maxh"] < humidity:
            self.humidity_led.on()
        else:
            self.humidity_led.off()

        if self.params["mint"] > temperature or self.params["maxt"] < temperature:
            self.temperature_led.on()
        else:
            self.temperature_led.off()


    def clear(self):
        """
            Turns off all LED's, clear the LCD, set sensor to idle.

            @param: None

            @return: None
        """
        for led in self.leds:
            led.off()

        self.sensor.reset()

        self.lcd.clear()


    def cleanup(self):
        """
            Turn off associated LED's, clear the LCD, cleanup all pins.
            This method is meant to be called after the instance of
            WeatherStation has done its job and is no longer required.
            After this method is called, this instance of WeatherStation is
            rendered useless.

            @param: None

            @return: None
        """
        self.clear()
        gpio.cleanup()
Exemple #18
0
class Menu:
    def __init__(self):
        self._mongo = Mongo()
        self._sensor = Sensor()
        self._adafruit = Adafruit()
        self._lcd = lcd_ecologic()
        self._led = LED()
        self._firebase = Firebase()

    def leerSensores(self):
        try:
            self._sensor.lectura()
            print()
            print('Temperatura={0:0.1f}° Humedad={1:0.1f}%'.format(
                self._sensor.getTemperatura(), self._sensor.getHumedad()))
            print('Humedad_planta={0} LDR={1}'.format(
                self._sensor.getHumedadPlanta(), self._sensor.getLDR()))
            print('Fecha={0}'.format(self._sensor.getFecha()))
        except:
            sys.exit(1)

    def publicaDatos(self):
        self._adafruit.publicarHumedad(self._sensor.getHumedad())
        self._adafruit.publicarTemperatura(self._sensor.getTemperatura())
        self._adafruit.publicarHumedadPlanta(self._sensor.getHumedadPlanta())
        self._adafruit.publicarLDR(self._sensor.getLDR())
        self._firebase.insertaSensores(self._sensor.getTemperatura(),
                                       self._sensor.getHumedad(),
                                       self._sensor.getLDR(),
                                       self._sensor.getHumedadPlanta(),
                                       self._sensor.getFecha())

    def imprimeDatos(self):
        self._led.encenderLED(self._sensor.getHumedadPlanta())
        self._lcd.imprimirPantalla(self._sensor.getHumedad(),
                                   self._sensor.getTemperatura(),
                                   self._sensor.getHumedadPlanta(),
                                   self._sensor.getLDR(),
                                   self._sensor.getFecha())

    def guardaDatos(self):
        self._mongo.consultarCantidadRegistros()
        self._mongo.insertarDatos(self._sensor.getTemperatura(),
                                  self._sensor.getHumedad(),
                                  self._sensor.getHumedadPlanta(),
                                  self._sensor.getLDR(),
                                  self._sensor.getFecha())

    def run(self):
        try:
            while True:
                self.leerSensores()
                self.guardaDatos()
                self.publicaDatos()
                self.imprimeDatos()
                time.sleep(10)
            else:
                print("Tiempo excedido")
        except KeyboardInterrupt:
            print('Pantalla limpiada')
            self._lcd.limpiarPantalla()
            print('LEDs limpiados')
            self._led.limpiarLED()
Exemple #19
0
    def __init__(self):
        self.pins = [RaspberryPi.SDA, RaspberryPi.GPIO7]
        self.led = LED()

        for pin in self.pins:
            GPIO.setup(pin, GPIO.OUT)
Exemple #20
0
	print("Running QA Environment Configuration")
	environment = cfg.env_qa
else:
	print("Running Production Environment Configuration")
	environment = cfg.env_prod

# Application constants from Environment and Configuration file
sampleTime = cfg.sampleTime
debug = cfg.debug
deviceID = cfg.deviceID
webApiUrl = environment["webApi"]
webApiUsername = environment["username"]
webApiPassword = environment["password"]

# Create an indicator LED on GPIO pin 17
led = LED(17)

# Create the Temperature Sensor on GPIO pin 4
temperatureSensor = TemperatureSensor(4)

# Dictionary to hold Temperature Sensor data
temperatureData = {}

# Sit in a loop reading the sensors every sampleTime, convert result to JSON, and POST to the Web API
while True:
        # Turn LED ON
	led.on()
	
        # Read the Temperature Sensor
	temperatureSensor.read()
	if temperatureSensor.valid:
          'the_pot' is a reference to the POT instance that invoked the callback (ie the pot variable created below)
          'value' is the mapped value (ie in the range MIN_BLINK_RATE_SECS..MAX_BLINK_RATE_SECS) """

    logger.info("Changing LED #{} rate to {}".format(led_index, value))
    LEDS[led_index].set_rate(value)


# Create POT class instances and register pot_handler() callback with it.
pot = POT(analog_channel=POT_CHANNEL,
          min_value=MIN_BLINK_RATE_SECS,
          max_value=MAX_BLINK_RATE_SECS,
          poll_secs=POT_POLL_SECS,
          callback=pot_handler)

# Create LED class instances.
LEDS = [LED(gpio=13, pi=pi), LED(gpio=19, pi=pi)]

# The index of the LED in LEDS List which will be affected when the potentiometer value changes.
# 'led_index' is updated in button_handler() and referenced in pot_handler()
led_index = 0

if __name__ == "__main__":  # (3)

    try:
        logger.info(
            "Version 2 - Thread and Callback Example. Press Control + C To Exit."
        )

        # Initialise all LEDs
        rate = pot.get_value()
        LED.set_rate_all(rate)  # Initialise all LEDS based on POT value.
Exemple #22
0
MIN_L = 1600
MIN_R = 1600

STOP_R = 1550
STOP_L = 1550

MAX_L = 2000
MAX_R = 2000

LM = STOP_L
RM = STOP_R

MAX_ACCL = 5

sense = SenseHat()
led = LED()


def accelerationToMotors(acceleration, LM, RM):
    global MIN_L, MIN_R, MAX_L, MAX_R, MAX_ACCL
    #Detect tilt acceleration
    if acceleration > 0.25:
        LM = min(LM + acceleration * (MAX_ACCL), MAX_L)
        RM = min(RM + acceleration * (MAX_ACCL), MAX_R)
    elif acceleration < -0.3:
        LM = max(LM + acceleration * (MAX_ACCL) * 10, MIN_L)
        RM = max(RM + acceleration * (MAX_ACCL) * 10, MIN_R)

    return LM, RM

Exemple #23
0
class Buzzer:

    def __init__(self):
        self.pins = [RaspberryPi.SDA, RaspberryPi.GPIO7]
        self.led = LED()

        for pin in self.pins:
            GPIO.setup(pin, GPIO.OUT)
        #self.boop()
        #self.mario()
        #time.sleep(5)
        #self.storm()
        #self.beep(659, 125)

    def beep(self, hz, ms):

        #print 'beep ' + str(hz) + 'hz ' + str(ms) + 'ms'
        DELAY_OFFSET = 11
        us = (500000 / hz) - DELAY_OFFSET
        rep = (ms * 500) / (us + DELAY_OFFSET)

        sleep_time = us/1000000.0

        for i in range(0, rep):
            GPIO.output(RaspberryPi.SDA, True)
            GPIO.output(RaspberryPi.GPIO7, False)
            time.sleep(sleep_time)
            GPIO.output(RaspberryPi.SDA, False)
            GPIO.output(RaspberryPi.GPIO7, True)            
            time.sleep(sleep_time)
            
        self.led.beep()            

        #time.sleep(0.05)

    def beepBoopLoop(self):
        for i in range(0, 100000):
            print i
            self.beep(2000, 1000)
            time.sleep(0.10)

    def boop(self):
        print 'boop'
        for _ in xrange(5):
            for value in [True, False]:
                GPIO.output(RaspberryPi.SDA, value)
                time.sleep(0.001)
        time.sleep(0.05) 

    def sleep2(self, ms):
        sleep_time = ms/1000.0
        time.sleep(sleep_time)

    def mario(self):
        self.beep(659, 125)
        self.beep(659, 125)
        self.sleep2(125)
        self.beep(659, 125)
        self.sleep2(167)
        self.beep(523, 125)
        self.beep(659, 125)
        self.sleep2(125)
        self.beep(784, 125)
        self.sleep2(375)
        self.beep(392, 125)
        self.sleep2(375)
        self.beep(523, 125)
        self.sleep2(250)
        self.beep(392, 125)
        self.sleep2(250)
        self.beep(330, 125)
        self.sleep2(250)
        self.beep(440, 125)
        self.sleep2(125)
        self.beep(494, 125)
        self.sleep2(125)
        self.beep(466, 125)
        self.sleep2(42)
        self.beep(440, 125)
        self.sleep2(125)
        self.beep(392, 125)
        self.sleep2(125)
        self.beep(659, 125)
        self.sleep2(125)
        self.beep(784, 125)
        self.sleep2(125)
        self.beep(880, 125)
        self.sleep2(125)
        self.beep(698, 125)
        self.beep(784, 125)
        self.sleep2(125)
        self.beep(659, 125)
        self.sleep2(125)
        self.beep(523, 125)
        self.sleep2(125)
        self.beep(587, 125)
        self.beep(494, 125)
        self.sleep2(125)
        self.beep(523, 125)
        self.sleep2(250)
        self.beep(392, 125)
        self.sleep2(250)
        self.beep(330, 125)
        self.sleep2(250)
        self.beep(440, 125)
        self.sleep2(125)
        self.beep(494, 125)
        self.sleep2(125)
        self.beep(466, 125)
        self.sleep2(42)
        self.beep(440, 125)
        self.sleep2(125)
        self.beep(392, 125)
        self.sleep2(125)
        self.beep(659, 125)
        self.sleep2(125)
        self.beep(784, 125)
        self.sleep2(125)
        self.beep(880, 125)
        self.sleep2(125)
        self.beep(698, 125)
        self.beep(784, 125)
        self.sleep2(125)
        self.beep(659, 125)
        self.sleep2(125)
        self.beep(523, 125)
        self.sleep2(125)
        self.beep(587, 125)
        self.beep(494, 125)
        self.sleep2(375)
        self.beep(784, 125)
        self.beep(740, 125)
        self.beep(698, 125)
        self.sleep2(42)
        self.beep(622, 125)
        self.sleep2(125)
        self.beep(659, 125)
        self.sleep2(167)
        self.beep(415, 125)
        self.beep(440, 125)
        self.beep(523, 125)
        self.sleep2(125)
        self.beep(440, 125)
        self.beep(523, 125)
        self.beep(587, 125)
        self.sleep2(250)
        self.beep(784, 125)
        self.beep(740, 125)
        self.beep(698, 125)
        self.sleep2(42)
        self.beep(622, 125)
        self.sleep2(125)
        self.beep(659, 125)
        self.sleep2(167)
        self.beep(698, 125)
        self.sleep2(125)
        self.beep(698, 125)
        self.beep(698, 125)
        self.sleep2(625)
        self.beep(784, 125)
        self.beep(740, 125)
        self.beep(698, 125)
        self.sleep2(42)
        self.beep(622, 125)
        self.sleep2(125)
        self.beep(659, 125)
        self.sleep2(167)
        self.beep(415, 125)
        self.beep(440, 125)
        self.beep(523, 125)
        self.sleep2(125)
        self.beep(440, 125)
        self.beep(523, 125)
        self.beep(587, 125)
        self.sleep2(250)
        self.beep(622, 125)
        self.sleep2(250)
        self.beep(587, 125)
        self.sleep2(250)
        self.beep(523, 125)
        self.sleep2(1125)
        self.beep(784, 125)
        self.beep(740, 125)
        self.beep(698, 125)
        self.sleep2(42)
        self.beep(622, 125)
        self.sleep2(125)
        self.beep(659, 125)
        self.sleep2(167)
        self.beep(415, 125)
        self.beep(440, 125)
        self.beep(523, 125)
        self.sleep2(125)
        self.beep(440, 125)
        self.beep(523, 125)
        self.beep(587, 125)
        self.sleep2(250)
        self.beep(784, 125)
        self.beep(740, 125)
        self.beep(698, 125)
        self.sleep2(42)
        self.beep(622, 125)
        self.sleep2(125)
        self.beep(659, 125)
        self.sleep2(167)
        self.beep(698, 125)
        self.sleep2(125)
        self.beep(698, 125)
        self.beep(698, 125)
        self.sleep2(625)
        self.beep(784, 125)
        self.beep(740, 125)
        self.beep(698, 125)
        self.sleep2(42)
        self.beep(622, 125)
        self.sleep2(125)
        self.beep(659, 125)
        self.sleep2(167)
        self.beep(415, 125)
        self.beep(440, 125)
        self.beep(523, 125)
        self.sleep2(125)
        self.beep(440, 125)
        self.beep(523, 125)
        self.beep(587, 125)
        self.sleep2(250)
        self.beep(622, 125)
        self.sleep2(250)
        self.beep(587, 125)
        self.sleep2(250)
        self.beep(523, 125)
        self.sleep2(625)
    def storm(self):
         NOTE_B0  =31
         NOTE_C1  =33
         NOTE_CS1 =35
         NOTE_D1  =37
         NOTE_DS1 =39
         NOTE_E1  =41
         NOTE_F1  =44
         NOTE_FS1 =46
         NOTE_G1  =49
         NOTE_GS1 =52
         NOTE_A1  =55
         NOTE_AS1 =58
         NOTE_B1  =62
         NOTE_C2  =65
         NOTE_CS2 =69
         NOTE_D2  =73
         NOTE_DS2 =78
         NOTE_E2  =82
         NOTE_F2  =87
         NOTE_FS2 =93
         NOTE_G2  =98
         NOTE_GS2 =104
         NOTE_A2  =110
         NOTE_AS2 =117
         NOTE_B2  =123
         NOTE_C3  =131
         NOTE_CS3 =139
         NOTE_D3  =147
         NOTE_DS3 =156
         NOTE_E3  =165
         NOTE_F3  =175
         NOTE_FS3 =185
         NOTE_G3  =196
         NOTE_GS3 =208
         NOTE_A3  =220
         NOTE_AS3 =233
         NOTE_B3  =247
         NOTE_C4  =262
         NOTE_CS4 =277
         NOTE_D4  =294
         NOTE_DS4 =311
         NOTE_E4  =330
         NOTE_F4  =349
         NOTE_FS4 =370
         NOTE_G4  =392
         NOTE_GS4 =415
         NOTE_A4  =440
         NOTE_AS4 =466
         NOTE_B4  =494
         NOTE_C5  =523
         NOTE_CS5 =554
         NOTE_D5  =587
         NOTE_DS5 =622
         NOTE_E5  =659
         NOTE_F5  =698
         NOTE_FS5 =740
         NOTE_G5  =784
         NOTE_GS5 =831
         NOTE_A5  =880
         NOTE_AS5 =932
         NOTE_B5  =988
         NOTE_C6  =1047
         NOTE_CS6 =1109
         NOTE_D6  =1175
         NOTE_DS6 =1245
         NOTE_E6  =1319
         NOTE_F6  =1397
         NOTE_FS6 =1480
         NOTE_G6  =1568
         NOTE_GS6 =1661
         NOTE_A6  =1760
         NOTE_AS6 =1865
         NOTE_B6  =1976
         NOTE_C7  =2093
         NOTE_CS7 =2217
         NOTE_D7  =2349
         NOTE_DS7 =2489
         NOTE_E7  =2637
         NOTE_F7  =2794
         NOTE_FS7 =2960
         NOTE_G7  =3136
         NOTE_GS7 =3322
         NOTE_A7  =3520
         NOTE_AS7 =3729
         NOTE_B7  =3951
         NOTE_C8  =4186
         NOTE_CS8 =4435
         NOTE_D8  =4699
         NOTE_DS8 =4978
         
         self.beep( NOTE_D5, 100) 
         self.sleep2(80)
         self.beep( NOTE_F5, 100) 
         self.sleep2(80)
         self.beep( NOTE_D6, 200) 
         self.sleep2(250)
  
         self.beep( NOTE_D5, 100) 
         self.sleep2(80)
         self.beep( NOTE_F5, 100) 
         self.sleep2(80)
         self.beep( NOTE_D6, 200)
         self.sleep2(250)
  
         self.beep( NOTE_E6, 200) 
         self.sleep2(200)
         self.beep( NOTE_F6, 100) 
         self.sleep2(100)
         self.beep( NOTE_E6, 100) 
         self.sleep2(80)
         self.beep( NOTE_F6, 100) 
         self.sleep2(80)
         self.beep( NOTE_E6, 100) 
         self.sleep2(80)
         self.beep( NOTE_C6, 100) 
         self.sleep2(80)
         self.beep( NOTE_A5, 100) 
         self.sleep2(300)
  
         self.beep( NOTE_A5, 200) 
         self.sleep2(100)
         self.beep( NOTE_D5, 200) 
         self.sleep2(100)
         self.beep( NOTE_F5, 100) 
         self.sleep2(100)
         self.beep( NOTE_G5, 100) 
         self.sleep2(100)
         self.beep( NOTE_A5, 100) 
         self.sleep2(500)
  
         self.beep( NOTE_A5, 200) 
         self.sleep2(100)
         self.beep( NOTE_D5, 200) 
         self.sleep2(100)
         self.beep( NOTE_F5, 100) 
         self.sleep2(100)
         self.beep( NOTE_G5, 100) 
         self.sleep2(100)
         self.beep( NOTE_E5, 100) 
         self.sleep2(500)
  
  
  
         self.beep( NOTE_D5, 100) 
         self.sleep2(80)
         self.beep( NOTE_F5, 100) 
         self.sleep2(80)
         self.beep( NOTE_D6, 200) 
         self.sleep2(250)
  
         self.beep( NOTE_D5, 100) 
         self.sleep2(80)
         self.beep( NOTE_F5, 100) 
         self.sleep2(80)
         self.beep( NOTE_D6, 200)
         self.sleep2(250)
  
         self.beep( NOTE_E6, 200) 
         self.sleep2(200)
         self.beep( NOTE_F6, 100) 
         self.sleep2(100)
         self.beep( NOTE_E6, 100) 
         self.sleep2(80)
         self.beep( NOTE_F6, 100) 
         self.sleep2(80)
         self.beep( NOTE_E6, 100) 
         self.sleep2(80)
         self.beep( NOTE_C6, 100) 
         self.sleep2(80)
         self.beep( NOTE_A5, 100) 
         self.sleep2(300)
  
         self.beep( NOTE_A5, 200) 
         self.sleep2(100)
         self.beep( NOTE_D5, 200) 
         self.sleep2(100)
         self.beep( NOTE_F5, 100) 
         self.sleep2(100)
         self.beep( NOTE_G5, 100) 
         self.sleep2(100)
         self.beep( NOTE_A5, 300)
         self.sleep2(100)
         self.beep( NOTE_A5, 200)
         self.sleep2(100)
         self.beep( NOTE_D5, 300)
         self.sleep2(2000)
    def storm2(self):
         NOTE_B0  =31
         NOTE_C1  =33
         NOTE_CS1 =35
         NOTE_D1  =37
         NOTE_DS1 =39
         NOTE_E1  =41
         NOTE_F1  =44
         NOTE_FS1 =46
         NOTE_G1  =49
         NOTE_GS1 =52
         NOTE_A1  =55
         NOTE_AS1 =58
         NOTE_B1  =62
         NOTE_C2  =65
         NOTE_CS2 =69
         NOTE_D2  =73
         NOTE_DS2 =78
         NOTE_E2  =82
         NOTE_F2  =87
         NOTE_FS2 =93
         NOTE_G2  =98
         NOTE_GS2 =104
         NOTE_A2  =110
         NOTE_AS2 =117
         NOTE_B2  =123
         NOTE_C3  =131
         NOTE_CS3 =139
         NOTE_D3  =147
         NOTE_DS3 =156
         NOTE_E3  =165
         NOTE_F3  =175
         NOTE_FS3 =185
         NOTE_G3  =196
         NOTE_GS3 =208
         NOTE_A3  =220
         NOTE_AS3 =233
         NOTE_B3  =247
         NOTE_C4  =262
         NOTE_CS4 =277
         NOTE_D4  =294
         NOTE_DS4 =311
         NOTE_E4  =330
         NOTE_F4  =349
         NOTE_FS4 =370
         NOTE_G4  =392
         NOTE_GS4 =415
         NOTE_A4  =440
         NOTE_AS4 =466
         NOTE_B4  =494
         NOTE_C5  =523
         NOTE_CS5 =554
         NOTE_D5  =587
         NOTE_DS5 =622
         NOTE_E5  =659
         NOTE_F5  =698
         NOTE_FS5 =740
         NOTE_G5  =784
         NOTE_GS5 =831
         NOTE_A5  =880
         NOTE_AS5 =932
         NOTE_B5  =988
         NOTE_C6  =1047
         NOTE_CS6 =1109
         NOTE_D6  =1175
         NOTE_DS6 =1245
         NOTE_E6  =1319
         NOTE_F6  =1397
         NOTE_FS6 =1480
         NOTE_G6  =1568
         NOTE_GS6 =1661
         NOTE_A6  =1760
         NOTE_AS6 =1865
         NOTE_B6  =1976
         NOTE_C7  =2093
         NOTE_CS7 =2217
         NOTE_D7  =2349
         NOTE_DS7 =2489
         NOTE_E7  =2637
         NOTE_F7  =2794
         NOTE_FS7 =2960
         NOTE_G7  =3136
         NOTE_GS7 =3322
         NOTE_A7  =3520
         NOTE_AS7 =3729
         NOTE_B7  =3951
         NOTE_C8  =4186
         NOTE_CS8 =4435
         NOTE_D8  =4699
         NOTE_DS8 =4978
         
         self.beep( NOTE_D5, 100) 
         self.sleep2(80)
         self.beep( NOTE_F5, 100) 
         self.sleep2(80)
         self.beep( NOTE_D6, 200) 
         self.sleep2(250)
  
         self.beep( NOTE_D5, 100) 
         self.sleep2(80)
         self.beep( NOTE_F5, 100) 
         self.sleep2(80)
         self.beep( NOTE_D6, 200)
         self.sleep2(250)
  
         self.beep( NOTE_E6, 200) 
         self.sleep2(200)
         self.beep( NOTE_F6, 100) 
         self.sleep2(100)
         self.beep( NOTE_E6, 100) 
         self.sleep2(80)
         self.beep( NOTE_F6, 100) 
         self.sleep2(80)
         self.beep( NOTE_E6, 100) 
         self.sleep2(80)
         self.beep( NOTE_C6, 100) 
         self.sleep2(80)
         self.beep( NOTE_A5, 100) 
         self.sleep2(300)
         
Exemple #24
0
from LED import LED
from flask import Flask
from flask import render_template, request, redirect, url_for
import _thread

app = Flask(__name__)
lights = LED(255, 102, 0, 1)
lights.gpio()


@app.route('/')
@app.route('/<int:power>')
@app.route('/<int:red>,<int:green>,<int:blue>')
@app.route('/<int:red>,<int:green>,<int:blue>,<int:power>')
def index(red=None, green=None, blue=None, power=None, function=None):
    lights.fading = False
    # only update color if a color is specified and max is 255
    if red is None:
        red = lights.red

    if green is None:
        green = lights.green

    if blue is None:
        blue = lights.blue

    if power is None:
        power = lights.power
    elif power > 1 and power <= 100:
        power /= 100
    elif power > 100:
Exemple #25
0
class ChannelFrame(wx.Panel):
    def __init__(self, *args, **kwargs):
        wx.Panel.__init__(self, *args, **kwargs)

        self.StaticBox = wx.StaticBox(self, -1, "Channel")
        self.StaticBoxSizer = wx.StaticBoxSizer(self.StaticBox, wx.VERTICAL)
        self.grid = wx.GridBagSizer(0, 0)

        self.On = wx.Button(self, -1, "ON", size=(58, 22))
        self.Off = wx.Button(self, -1, "OFF", size=(58, 22))

        self.Led = LED(self)
        self.Led.SetState(0)

        self.PWR = wx.StaticText(self,
                                 label=u"Power [dBm]:  ",
                                 size=(120, 20),
                                 style=wx.ALIGN_RIGHT)
        self.WVL = wx.StaticText(self,
                                 label=u"Wavelength [nm]:  ",
                                 size=(120, 20),
                                 style=wx.ALIGN_RIGHT)

        self.txtPWR = wx.TextCtrl(self, size=(80, 20), value="")
        self.txtWVL = wx.TextCtrl(self, size=(80, 20), value="")

        self.grid.Add(self.On,
                      pos=(0, 0),
                      flag=wx.ALL | wx.ALIGN_CENTER_VERTICAL,
                      border=0)
        self.grid.Add(self.Off,
                      pos=(0, 1),
                      flag=wx.ALL | wx.ALIGN_CENTER_VERTICAL,
                      border=0)
        self.grid.Add(self.Led,
                      pos=(0, 2),
                      flag=wx.ALL | wx.EXPAND | wx.ALIGN_CENTER_VERTICAL,
                      border=0)
        self.grid.Add(self.PWR,
                      pos=(1, 0),
                      flag=wx.ALL | wx.EXPAND | wx.ALIGN_CENTER_VERTICAL,
                      border=0,
                      span=(1, 2))
        self.grid.Add(self.WVL,
                      pos=(2, 0),
                      flag=wx.ALL | wx.EXPAND | wx.ALIGN_CENTER_VERTICAL,
                      border=0,
                      span=(1, 2))
        self.grid.Add(self.txtPWR,
                      pos=(1, 2),
                      flag=wx.ALL | wx.EXPAND | wx.ALIGN_CENTER_VERTICAL,
                      border=0)
        self.grid.Add(self.txtWVL,
                      pos=(2, 2),
                      flag=wx.ALL | wx.EXPAND | wx.ALIGN_CENTER_VERTICAL,
                      border=0)

        self.StaticBoxSizer.Add(self.grid, 0, wx.ALL | wx.LEFT, 0)
        self.SetSizerAndFit(self.StaticBoxSizer)

    def SetLabel(self, text):
        self.StaticBox.SetLabel(str(text))

    def SetChannelId(self, id):
        self.On.SetId(id + 1)
        self.Off.SetId(id)

    def SetBind(self, handler):
        self.Bind(wx.EVT_BUTTON, handler, self.On)
        self.Bind(wx.EVT_BUTTON, handler, self.Off)

    def SetLed(self, colour):
        self.Led.SetState(colour)

    def Configure(self, text, id, handler, LedStatus=0, txtPWR="", txtWVL=""):
        self.SetLabel(text)
        self.SetChannelId(id)
        self.SetBind(handler)
        self.Led.SetState(LedStatus)
        self.txtPWR.SetValue(str(txtPWR))
        self.txtWVL.SetValue(str(txtWVL))

    def Update(self, LedStatus, txtPWR, txtWVL):
        self.Led.SetState(LedStatus)
        self.txtPWR.SetValue(str(txtPWR))
        self.txtWVL.SetValue(str(txtWVL))

    def GetValues(self):
        PWR = self.txtPWR.GetValue()
        WVL = self.txtWVL.GetValue()
        return PWR, WVL
Exemple #26
0
import RPi.GPIO as GPIO
import time
from LED import LED
from Knop import Knop
from Buzzer import Buzzer

GPIO.setmode(GPIO.BCM)

# knop1_ingedrukt = 1
# knop2_ingedrukt = 1
# knop3_ingedrukt = 1
# knop4_ingedrukt = 1

led = LED(25)
buzzer = Buzzer(23)
buttons = [21, 20, 16, 12]

# GPIO.setup(led,GPIO.OUT)
# GPIO.setup(buzzer,GPIO.OUT)

# p = GPIO.PWM(buzzer,261)

knop1 = Knop(buttons[0])
knop2 = Knop(buttons[1])
knop3 = Knop(buttons[2])
knop4 = Knop(buttons[3])
# GPIO.add_event_detect(button, GPIO.RISING, actie, 400)

# def led_knipperen():
#     GPIO.output(led,GPIO.HIGH)
#     time.sleep(0.5)
Exemple #27
0
import threading
import os
from time import sleep

#configurations
distance_threshold = 20  #in CM
blink_beep_speed = Speed.FAST

#variables
picture_taken = False

#objects
sensor = UltrasonicSensor(19, 26)
email = Email()
camera = Camera()
grn_led = LED(13)
red_led = LED(6)
buzzer = Buzzer(5)


#methods
def blink_red():
    red_led.blink(5, blink_beep_speed)


def blink_green():
    grn_led.blink(5, blink_beep_speed)


def beep_buzzer():
    buzzer.beep(5, blink_beep_speed)
Exemple #28
0
class Eye:
    def __init__(self):
        self.LED1 = LED(17)
        self.LED2 = LED(27)
        self.LED3 = LED(22)
        self.LED4 = LED(23)
        self.LED5 = LED(24)
        self.LED6 = LED(25)

    def SetBrightness(self, brightness):
        self.LED1.SetBrightness(brightness)
        self.LED2.SetBrightness(brightness)
        self.LED3.SetBrightness(brightness)
        self.LED4.SetBrightness(brightness)
        self.LED5.SetBrightness(brightness)
        self.LED6.SetBrightness(brightness)

    def SetDefault(self):
        self.LED1.On()
        self.LED2.Off()
        self.LED3.Off()
        self.LED4.Off()
        self.LED5.Off()
        self.LED6.Off()
Exemple #29
0
 def __init__(self):
     self.LED1 = LED(17)
     self.LED2 = LED(27)
     self.LED3 = LED(22)
     self.LED4 = LED(23)
     self.LED5 = LED(24)
     self.LED6 = LED(25)
Exemple #30
0
class Shit_detector():
    def __init__(self):
        GPIO.setmode(GPIO.BCM)
        GPIO.setwarnings(False)
        self.green_led = LED(5)
        self.yellow_led = LED(13)
        self.red_led = LED(21)
        self.motor = Motor()
        self.web_cam = cv.VideoCapture(0)
        self.pi_cam = PiCamera()

        self.angle = 0.25
        self.open = False
        self.face = None

        self.server_ip = '10.10.3.21'
        self.port = 8080

        self.threshold = 20000
        self.interval = 10

    def lock(self):
        self.motor.rotate(0)

    def unlock(self):
        self.motor.rotate(self.angle)

    def reset(self):
        self.unlock()
        self.pi_cam.capture('origin.jpg')
        self.lock()

    def detect_face(self):
        def call_back(channel):
            self.open = True

        button = Button(4, call_back)
        detector = Face_detector()

        while True:
            _, img = self.web_cam.read()
            if detector.has_face(img):
                detector.mark_face(img)
                self.green_led.turn_on()
                time.sleep(self.interval / 2)

                if self.open:
                    self.face = img
                    break
            else:
                self.green_led.turn_off()

        self.green_led.turn_off()
        self.open = False

    def wait_for_flush(self):
        client_socket = socket.socket(socket.AF_INET)
        client_socket.connect((self.server_ip, self.port))
        client_socket.recv(1024)
        client_socket.close()
        print('flushed !')

    def detect_shit(self, img_after):
        img_origin = cv.imread('origin.jpg')
        diff = get_canny_sum_diff(img_origin, img_after)
        if diff > self.threshold:
            print('Difference: {} > threshold: {}'.format(
                diff, self.threshold))
            file_name = datetime.now().strftime("%Y-%m-%d %H:%M:%S").replace(
                ' ', '_')
            cv.imwrite('face.jpg', self.face)
            upload('.', 'face.jpg', file_name + '_face.jpg')
            cv.imwrite('shit.jpg', img_after)
            upload('.', 'shit.jpg', file_name + '_shit.jpg')
            self.yellow_led.turn_on()
        else:
            print('Difference: {} < threshold: {}'.format(
                diff, self.threshold))
            self.yellow_led.turn_off()

    def test(self):
        print('start detect')
        self.detect_face()
        cv.imwrite('face.jpg', self.face)
        print('finish')

    def test2(self):
        self.reset()
        print('finish saving origin.jpg')
        self.detect_face()
        print('finish detect face')
        self.pi_cam.capture('after.jpg')
        img = cv.imread('after.jpg')
        self.detect_shit(img)
        print('finish detect shit')

    def run(self):
        self.reset()
        while True:
            print('detecting face ...')
            self.detect_face()
            print('unlock')
            self.unlock()
            time.sleep(self.interval)
            print('lock')
            self.lock()

            self.red_led.turn_on()
            print('wait for flush')
            self.wait_for_flush()
            print('unlock')
            self.unlock()
            time.sleep(self.interval)
            print('get after image')
            self.pi_cam.capture('after.jpg')
            img_after = cv.imread('after.jpg')
            print('lock')
            self.lock()
            print('detecting shit ...')
            self.detect_shit(img_after)
            print('finish detect shit')
            self.red_led.turn_off()

    def __del__(self):
        self.web_cam.release()
Exemple #31
0
from LED import LED
from flask import Flask
from flask import render_template, request, redirect, url_for
import thread

app = Flask(__name__)

if __name__ == "__main__":
    app.run()

led1_red_pin = 23
led1_green_pin = 24
led1_bluepin = 25
led_1 = LED(0, 0, 0, 1, led1_red_pin, led1_green_pin, led1_bluepin)
led_1.gpio()

led2_red_pin = 16
led2_green_pin = 26
led2_bluepin = 21
led_2 = LED(0, 0, 0, 1, led2_red_pin, led2_green_pin, led2_bluepin)
led_2.gpio()

led3_red_pin = 17
led3_green_pin = 27
led3_bluepin = 22
led_3 = LED(0, 0, 0, 1, led3_red_pin, led3_green_pin, led3_bluepin)
led_3.gpio()

led4_red_pin = 5
led4_green_pin = 6
led4_bluepin = 13
Exemple #32
0
from LED import LED
import board
import neopixel

led = LED(board.D18, 8, neopixel.GRB)
for i in range(3):
    led.random(1)
#led.rainbow(10,2)
led.stop()
Exemple #33
0
pwm = Adafruit_PCA9685.PCA9685()  #init for PWM driver
pwm.set_pwm_freq(200)
sockid = lirc.init("myprog", blocking=False)  #init for LIRC socket

red = Color(255, 0, 0)  #instantiate color objects from colors.py
green = Color(0, 255, 0)
blue = Color(0, 0, 255)
yellow = Color(215, 200, 0)
orange = Color(255, 50, 0)
turquoise = Color(0, 255, 255)
purple = Color(255, 0, 255)
gray = Color(100, 100, 100)
white = Color(255, 255, 255)

led1 = LED(0, 1, 2)  #instantiate 3 LED objects for this 3 LED system
led2 = LED(3, 4, 5)  #LED(R,G,B) = PWM board pin numbers
led3 = LED(6, 7, 8)

t = [led1, led2, led3]  #list used to cycle through for modes


class System():
    def __init__(self):
        self.bright = .5
        self.delay = .5
        self.mode = 'Ok'
        self.modenum = 0
        self.args = None

    def turnon(self, color):
    pub.sendMessage(led_topic, rate=last_rate)  # Set individual LED.


# Create POT class instances.
pot = POT(analog_channel=POT_CHANNEL,
          min_value=MIN_BLINK_RATE_SECS,
          max_value=MAX_BLINK_RATE_SECS,
          poll_secs=POT_POLL_SECS,
          name="MyPOT")

# Last rate/value from Potentiometer/ADC.
last_rate = pot.get_value()

# Create LED class instances.
led1 = LED(gpio=13, pi=pi, name="MyLED")
led2 = LED(gpio=19, pi=pi, name="MyOtherLED")

# Topic names to communicate with individual LEDs.
LED_TOPICS = [
    led1.topic,  # == "LED.MyLED"
    led2.topic  # == "LED.MyOtherLED"
]

# The index of the LED in LEDS which will
# be affected when the potentiometer value changes.
led_index = 0

# Subscribe to POT and BUTTON messages using the on_message_* methods.
pub.subscribe(on_button_message, button.topic)
pub.subscribe(on_pot_message, pot.topic)