Esempio n. 1
0
class Paddle:
	def __init__(self, paddleId, buttonPressCb):
		self.id = paddleId
		self.button = Button(pins[paddleId]['buttonPin'])
		self.led = LED(pins[paddleId]['ledPin'])
		self.led.off()
		self.pressedAt = None
		self.buttonPressCb = buttonPressCb

	def enable(self):
		self.button.when_pressed = self.handleButtonPress
		print ("Paddle enabled")
	
	def disable(self):
		self.button.when_pressed = None
		print ("Paddle disabled")
	
	def handleButtonPress(self):
		self.pressedAt = datetime.now()
		self.buttonPressCb(self)

	def on(self):
		self.led.on()

	def off(self):
		self.led.off()

	def pressed(self):
		return self.button.is_pressed
class LED_CONTROL:
    def __init__(self, parent="none", label="LED", gpio_pin = 23):
        self.led = LED(gpio_pin)
        self.label=label
        self.ledLabel = tk.Label(master=parent,text = self.label)
        self.ledLabel.pack()#grid(row = 0, column = 0)
##        self.ser=
                        
        self.ledOnButt = tk.Button(master=parent,text = "ON", fg = "green", command = self.ledOn)
        self.ledOnButt.pack(fill="x")
        
        self.ledOffButt = tk.Button(master=parent,text = "OFF", fg = "RED", command = self.ledOff)
        self.ledOffButt.pack(fill="x")        
##
##        self.ledZapTime = tk.Entry(master=parent,width=10)
##        self.ledZapTime.insert(0,"zap in ms")
##        self.ledZapTime.pack(fill="x")
##        
##        self.ledZapButt = tk.Button(master=parent,text = "ZAP!", command = self.ledZap)
##        self.ledZapButt.pack(fill="x")        
 
    #callbacks for LED
    def ledOn(self):
        self.led.on()
        
    def ledOff(self):
        self.led.off()
def blink_led():
	led = LED(4)
	print "LED IS ON !!"
	led.on()
	sleep(5)
	print "LED IS OFF !!"
	led.off()
class SoundButton:

       def __init__(self, id, button_pin, led_pin, sound_file):
               self.id = id
               self.button_pin = button_pin
               self.led_pin = led_pin
               self.sound_file = sound_file
               self.sound = Sound(sound_file)

               self.button = Button(button_pin)
               self.led = LED(led_pin)
               self.led.off()

               print(self.button_pin)
               
               self.button.when_pressed = self.pressed

       def pressed(self):
               #print("pressed")
               self.led.on()
               time.sleep(5)
               pygame.mixer.music.load(self.sound_file)
               pygame.mixer.music.play()
               self.led.off()
	       
       def turn_off_led(self):
               self.led.off()
class SoundButton:

       def __init__(self, id, button_pin, led_pin, sound_file):
               self.id = id
               self.button_pin = button_pin
               self.led_pin = led_pin
               self.sound_file = sound_file
               self.sound = Sound(sound_file)

               self.button = Button(button_pin)
               self.led = LED(led_pin)
               self.led.off()

               print(self.button_pin)
               
               self.button.when_pressed = self.pressed

       def pressed(self):
               print("pressed")
               pygame.mixer.music.load(self.sound_file)
               pygame.mixer.music.play()
	       soundButtons [current_sound_button_object].turn_off_led()
               self.led.on()
	       current_sound_button_object = self.id
	       
       def turn_off_led(self):
               self.led.off()
Esempio n. 6
0
class HardwareController(object):

    def __init__(self):

        self.button = Button(pin=BUTTON_PIN, hold_time=1, hold_repeat=True)
        self.status_led = LED(STATUS_LED_PIN)
        self.button_led = LED(BUTTON_LED_PIN)

        self.button.when_pressed = self.button_pressed
        self.button.when_released = self.button_released
        self.button.when_held = self.button_held
        self.hold_time = 0

        self.status_led.blink(on_time=0.1, off_time=0.1, n=5, background=False)
        self.status_led.on()

        return

    def close(self):

        self.button.close()
        self.button_led.close()
        self.status_led.close()

        return

    def button_held(self):

        logger.debug("button held")
        self.hold_time = self.button.active_time
        self.button_led.blink(on_time=0.25, off_time=0.1, n=1)

        return

    def button_pressed(self):

        logger.debug("button pressed")
        self.hold_time = 0

        return

    def button_released(self):

        increments = int(self.hold_time / BUTTON_HOLD_INCREMENTS)
        logger.debug("button released. Held for {0} increments".format(increments))

        if increments > 0:
            time.sleep(2)
            self.button_led.blink(on_time=0.5, off_time=0.5, n=increments, background=False)
            time.sleep(1)

            if increments == 1:
                logger.info("Shutdown called via button press")
                check_call(['sudo', 'poweroff'])
            elif increments == 2:
                logger.info("Reboot called via button press")
                check_call(['sudo', 'reboot'])

        return
Esempio n. 7
0
class Pixels:
    PIXELS_N = 12

    def __init__(self, pattern=AlexaLedPattern):
        self.pattern = pattern(show=self.show)

        self.dev = apa102.APA102(num_led=self.PIXELS_N)
        
        self.power = LED(5)
        self.power.on()

        self.queue = Queue.Queue()
        self.thread = threading.Thread(target=self._run)
        self.thread.daemon = True
        self.thread.start()

        self.last_direction = None

    def wakeup(self, direction=0):
        self.last_direction = direction
        def f():
            self.pattern.wakeup(direction)

        self.put(f)

    def listen(self):
        if self.last_direction:
            def f():
                self.pattern.wakeup(self.last_direction)
            self.put(f)
        else:
            self.put(self.pattern.listen)

    def think(self):
        self.put(self.pattern.think)

    def speak(self):
        self.put(self.pattern.speak)

    def off(self):
        self.put(self.pattern.off)

    def put(self, func):
        self.pattern.stop = True
        self.queue.put(func)

    def _run(self):
        while True:
            func = self.queue.get()
            self.pattern.stop = False
            func()

    def show(self, data):
        for i in range(self.PIXELS_N):
            self.dev.set_pixel(i, int(data[4*i + 1]), int(data[4*i + 2]), int(data[4*i + 3]))

        self.dev.show()
Esempio n. 8
0
class stepperMotor:
	
	def __init__(self,enable, direction, step):
		self.enablePin = LED(enable)
		self.directionPin = LED(direction)
		self.stepPin = LED(step)
		self.stepLocation = 0

		self.enablePin.on() #Logic high disables motor
		self.directionPin.on() #Default direction is forward
		self.stepPin.off()

	def rotate(self, steps, pause):
		with open('motorStepLocation','r') as motorLocation:
			for line in motorLocation:
				self.stepLocation = int(line.split(None, 1)[0])
		motorLocation.close()

		print self.stepLocation
		self.stepPin.off()
		self.enablePin.off() #Logic low enables motor
		if (steps > 0):
			self.directionPin.on() #Choose forward direction
			tmpForward = 1
		else:
			self.directionPin.off() #Choose reverse direction
			tmpForward = -1

		for iStep in range (0, abs(steps)):
			self.stepPin.on()
			sleep(pause)
			self.stepPin.off()
			sleep(pause)
			self.stepLocation = self.stepLocation + tmpForward

		self.enablePin.on() #Logic high disables motor
		print self.stepLocation
		subprocess.check_output("mv motorStepLocation motorStepLocation.old", shell = True)
		subprocess.check_output("echo %i >> motorStepLocation" %self.stepLocation, shell = True)
	
	def gotToOrigin(self):
		with open('motorStepLocation','r') as motorLocation:
                        for line in motorLocation:
                                self.stepLocation = int(line.split(None, 1)[0])
                motorLocation.close()

		self.rotate(-self.stepLocation, 0.01)

	def getPosition(self):
                with open('motorStepLocation','r') as motorLocation:
                        for line in motorLocation:
                                self.stepLocation = int(line.split(None, 1)[0])
                motorLocation.close()

                print self.stepLocation
		return self.stepLocation
Esempio n. 9
0
class RelayCtl:
   'Class to control the relay'
   
   def __init__(self, pin, defaultmode):
      self.pin = pin
      self.relay=LED(pin)
      if(defaultmode == "on"):
         self.relay.on()
      if (defaultmode == "off"):
         self.relay.off()
   def relayOn(self):
      self.relay.on()
   def relayOff(self):
      self.relay.off()
Esempio n. 10
0
class board:
    def __init__(self, ble):
        self.led = LED(22)
        self.button = Button(25)
        self.ble = ble

    def switch_led(self, *args, **kwargs):
        print(self.led.is_lit, args, kwargs)
        if self.led.is_lit:
            self.led.off()
            self.ble.light.Set(constants.GATT_CHRC_IFACE, "Value", [0x00])
        else:
            self.led.on()
            self.ble.light.Set(constants.GATT_CHRC_IFACE, "Value", [0x01])
Esempio n. 11
0
 def initialize(self):
     self.log=LoggerFactory.get_file_logger(config.log_filename,"LoadManagerThread",config.log_level)
     self.log.info("Initializing")
     load1=LED(config.load_1_pin)
     load2=LED(config.load_2_pin)
     load1.on()
     load2.on()
     time.sleep(1)
     load1.off()
     load2.off()
     time.sleep(1)
     load1.on()
     load2.on()
     self.log.info("Successfully initialized")
Esempio n. 12
0
class Light:

    def __init__(self):
        self._ledGreen = LED(22)
        self._ledYellow = LED(27)
        self._ledRed = LED(17)
        pass

    def green_light_on(self):
        logging.debug("green light on")
        try:
            self._ledGreen.on()
        except:
            logging.warn("Unable to turn on green light", exc_info=True)

    def yellow_light_on(self):
        logging.debug("yellow light on")
        try:
            self._ledYellow.on()
        except:
            logging.warn("Unable to turn on yellow light", exc_info=True)

    def red_light_on(self):
        logging.debug("red light on")
        try:
            self._ledRed.on()
        except:
            logging.warn("Unable to turn on red light", exc_info=True)

    def green_light_off(self):
        logging.debug("Turning green light off")
        try:
            self._ledGreen.off()
        except:
            logging.warn("Unable to turn off green light", exc_info=True)

    def yellow_light_off(self):
        logging.debug("Turning yellow light off")
        try:
            self._ledYellow.off()
        except:
            logging.warn("Unable to turn off yellow light", exc_info=True)

    def red_light_off(self):
        logging.debug("Turning red light off")
        try:
            self._ledRed.off()
        except:
            logging.warn("Unable to turn off red light", exc_info=True)

    def is_green_light_on(self):
        return self._ledGreen.is_lit()
        
    def is_yellow_light_on(self):
        return self._ledYellow.is_lit()
        
    def is_red_light_on(self):
        return self._ledRed.is_lit()
Esempio n. 13
0
class TrafficLightCar:

	def __init__(self):
		self.led_r = LED(15)
		self.led_y = LED(18)
		self.led_g = LED(24)

	def set_red(self, bool):
		if bool:
			self.led_r.on()
		else:
			self.led_r.off()

	def set_yellow(self, bool):
		if bool:
			self.led_y.on()
		else:
			self.led_y.off()

	def set_green(self, bool):
		if bool:
			self.led_g.on()
		else:
			self.led_g.off()
Esempio n. 14
0
class TrafficLightPed:

	def __init__(self):
		self.led_r = LED(12)
		self.led_g = LED(21)
		self.led_req = LED(16)
		self.btn_req = Button(19)
		self.btn_req.when_pressed = self.req_btn_pressed
		self.pressed = False

	def set_red(self, bool):
		if bool:
			self.led_r.on()
		else:
			self.led_r.off()

	def set_green(self, bool):
		if bool:
			self.led_g.on()
		else:
			self.led_g.off()

	def set_request(self, bool):
		if bool:
			self.led_req.on()
		else:
			self.led_req.off()

	def req_btn_pressed(self):
		self.pressed = True

	def is_req_btn_pressed(self):
		return self.pressed

	def clear_events(self):
		self.pressed = False
Esempio n. 15
0
def main(model_def, vidsrc):
    print("Reset K210")
    k210_reset = LED(27)

    k210_reset.off()
    time.sleep(0.5)
    k210_reset.on()
    time.sleep(0.5)
    print("Reset K210 .... Done")

    #VOC
    classname = [
        "aeroplane", "bicycle", "bird", "boat", "bottle", "bus", "car", "cat",
        "chair", "cow", "diningtable", "dog", "horse", "motorbike", "person",
        "pottedplant", "sheep", "sofa", "train", "tvmonitor"
    ]

    fps = 0
    fps_store = 0

    #xapispi = xapi_spi.Xapi_spi(0,0,60000000)
    xapispi = xapi_spi.Xapi_spi(0, 0, 60000000)
    xapispi.init()

    boxstruct = namedtuple('boxstruct',
                           ['x1', 'y1', 'x2', 'y2', 'boxclass', 'prob'])

    cap = cv2.VideoCapture(vidsrc)
    print(cap.get(cv2.CAP_PROP_FPS))

    # Check if camera opened successfully
    if (cap.isOpened() == False):
        print("Error opening video stream or file")

    #Send a dummy image over
    img = np.empty((224, 320, 3), dtype=np.uint8)
    xapispi.spi_send_img(img)

    font = cv2.FONT_HERSHEY_PLAIN
    TopLeftCornerOfText = (10, 11)
    fontScale = 1
    fontColor = (165, 26, 26)
    lineType = 1

    pending_box = False
    boxes = []
    boxesold = []

    # Read until video is completed

    starttime = datetime.datetime.now()
    while (cap.isOpened()):

        # Capture frame-by-frame
        ret, frame = cap.read()
        if ret == True:
            img = image_resize(frame, width=320, height=224)

            xapispi.spi_send_img(img)
            boxes = xapispi.spi_getbox()

            fps += 1

            if len(boxes) > 0:
                for box in boxes:
                    x1 = box.x1
                    x2 = box.x2
                    y1 = box.y1
                    y2 = box.y2
                    boxclass = box.boxclass
                    prob = box.prob
                    if model_def == 'voc':
                        text = "{} : {:.2f}".format(classname[boxclass[0]],
                                                    prob[0])
                    else:
                        text = "{:.2f}".format(prob[0])
                    if prob[0] > 0.7:
                        cv2.putText(img, text, (x1, y1 - 5),
                                    cv2.FONT_HERSHEY_SIMPLEX, 0.5, fontColor,
                                    1)
                        cv2.rectangle(img, (x1, y1), (x2, y2), fontColor, 1)

            endtime = datetime.datetime.now()

            difftime = endtime - starttime
            if difftime.total_seconds() > 10.0:
                fps_store = fps
                fps = 0
                starttime = datetime.datetime.now()
                print("FPS : " + str(fps_store / 10))

            cv2.imshow('XaLogic XAPIZ3500 Demo', img)
            endtime = datetime.datetime.now()

            # Press Q on keyboard to  exit
            if cv2.waitKey(1) & 0xFF == ord('q'):
                break

        # Break the loop
        else:
            break

    # When everything done, release the video capture object
    cap.release()

    # Closes all the frames
    cv2.destroyAllWindows()
Esempio n. 16
0
    data = line.split(',')
    temp = data[1].strip().split(' ')[0]
    press = data[2].strip().split(' ')[0]
    hum = data[3].strip().split(' ')[0]
    #print(temp + ' ... ' + press + ' ... ' +hum)

    # measured rel. humidity - humidity (temp in F, pressure)
    ind = float(hum) - 1 / (float(temp)*9/5+32) * float(press)
    #ind = float(hum)/ float(temp)
    print (ind)
    inds.append(ind)

  if inds[-1] > inds[-2] and inds[-2] > inds[-3] and inds[-3] > inds[-4]:
    counter = 0
    while counter < 30:
      led2.on()
      sleep(0.5)
      led2.off()
      sleep(0.5)
      counter += 1
except:
  pass


# print sensor data for log
try:
  sensor = BME280(mode=BME280_OSAMPLE_8)

  degrees = sensor.read_temperature()
  pascals = sensor.read_pressure()
  hectopascals = pascals / 100
import bluetooth
import time
from gpiozero import LED


print "BlueToothKeylessEntry"
ledUnlock = LED(17) #GPIO pin 17 on rpizero set to unlock
ledLock = LED(27) #GPIO pin 27 on rpizero set to lock
lockStatus = 0
while True:
    result = bluetooth.lookup_name('98:E7:F5:FB:XX:XX', timeout=5)
    if (result != None):  			#mac address found within proximity

	if (lockStatus == 0): 			#If car is not already unlocked
		ledUnlock.on()
		time.sleep(2)
		ledUnlock.off()
		time.sleep(2)
		lockStatus = 1
#						print "Car was locked, now it is unlocked"
    else:					#mac address not found

	if (lockStatus == 1):			#if car is not already locked
		ledLock.on()
		time.sleep(2)
		ledLock.off()
		time.sleep(2)
		lockStatus = 0
#						print "Car was unlocked, now it is locked"
    time.sleep(15)				#search for phone every 15 seconds
Esempio n. 18
0
from gpiozero import LED
from time import sleep

red = LED(4)
blue = LED(17)
green = LED(22)
red.on()
blue.on()
green.on()
sleep(1)
red.off()
green.off()
blue.off()
Esempio n. 19
0
client = S3Client.S3Client()


def do_action():
    commands = json.loads(
        client.get_object("mudon", "ship-it/rest.json").read())
    for command in commands:
        api.invoke(command)
    finished.on()


# Wait for the arm button to be pressed and then turn on the armed LED
# and then wait for the button to be released and blink the button a bit then
# do the action
arm_button.wait_for_press()
armed.on()
deploy_button.wait_for_release()

done = False
blinked = False
invoked = False
blink_period = 18
blink_current = blink_period
blink_working = True

while True:
    if blink_working:
        blinked = not blinked
        if blinked:
            working.on()
        else:
from gpiozero import LED
from gpiozero.pins.pigpio import PiGPIOFactory
import time
from time import sleep
import numpy as np

# to run "GPIOZERO_PIN_FACTORY=pigpio python3 Remote_Pin_Control.py"

partnum = input("partnum: ")
factory = PiGPIOFactory(host='192.168.4.2')  # host='129.128.174.163'
led = LED(17, pin_factory=factory)
length = 200
local_pi_trigs = np.zeros((length))
start_time = time.time()

for i in range(length):
    local_pi_trigs[i] = time.time() - start_time
    print(time.time() - start_time)
    led.on()
    sleep(1)
    led.off()
    sleep(1)

###save trial information###
filename = "test"
filename_part = (
    "/home/pi/Documents/GitHub/GoPro_Grid_Pi/Pi3_Amp_Latencies/Pi_Times/" +
    partnum + "_" + filename + ".csv")

np.savetxt(filename_part, (local_pi_trigs), delimiter=',', fmt="%s")
Esempio n. 21
0
class KeyManager(metaclass=Singleton):
    def __init__(self, _id, connect_led_io):
        #connect_led.ledon:when powered on and connect ok///ledblink:when powered on and connect fail
        self.c_led = LED(connect_led_io)
        self.id = _id
        self.keys = {}
        self.key_list = []
        self.events = []
        self.register_ok = False
        self.mTimer = Timer(2, self.register)
        self.hb_timer = Timer(2, self.heart_beat)

    def post_once(self, json_strings, expired_time=5):
        try:
            r = requests.post(url,
                              data=json_strings,
                              headers={"Content-Type": "application/json"},
                              timeout=expired_time)
            print("return from server is {0}".format(r.content))

        except requests.exceptions.RequestException as e:
            print(e)
            return False

        else:
            if r.content.decode('utf-8') == 'ok':
                return True
        return False

    def add_key(self, key):
        if key.event not in self.keys:
            self.keys[key.event] = key
            self.key_list.append(key)
            self.events.append(key.event)

    def register(self):
        if not self.keys:
            return False
        data = {
            'id': self.id,
            'type': 'button',
            'event': "register",
            'myevents': self.events
        }
        ret = self.post_once(json.dumps(data), REGISTER_TIMEOUT)
        if ret == True:
            print('register_ok')
            self.register_ok = True
        else:
            print('register_fail')
            self.register_ok = False
            self.mTimer = Timer(2, self.register)
            self.mTimer.start()

    def run(self):
        self.mTimer.start()
        self.hb_timer.start()

    def heart_beat(self):
        data = {
            'id': self.id,
            'type': 'button',
            'event': "heartbeat",
        }
        ret = self.post_once(json.dumps(data), HEARTBEAT_TIMEOUT)
        if ret == True:
            print('hb ok')
            self.hbok = True
            self.c_led.on()  #reverse ,actually the it let he led on
        else:
            print('hb fail')
            self.hbok = False
            self.c_led.blink(LED_BLINK_ON, LED_BLINK_OFF)

    # for key in self.key_list:
    #     if key.posting == False:
    #         if self.hbok == True:
    #             print('led on hb')
    #             key.ledon()
    #         else:
    #             key.ledoff()

        self.hb_timer = Timer(5, self.heart_beat)
        self.hb_timer.start()
Esempio n. 22
0
from gpiozero import LED
from time import sleep

red = LED(17)

while True:
    red.on()
    sleep(0.2)
    red.off()
    sleep(0.2)
Esempio n. 23
0
from gpiozero import LED, Button
from signal import pause
from time import sleep

led = LED(17)
led_1 = LED(27)
led_2 = LED(22)
button = Button(2)

while True:
    led_1.on()
    sleep(1)
    led_1.off()
    sleep(0.1)
    led.on()
    sleep(1)
    led.off()
    sleep(0.1)
    led_2.on()
    sleep(1)
    led_2.off()
    sleep(0.1)
    if button.when_pressed:
        led_.





# button.when_released = led_1.off
Esempio n. 24
0
class EchBVJR:
    def __init__(self, sB, sV, sJ, sR):
        self.sB = sB
        self.sV = sV
        self.sJ = sJ
        self.sR = sR
        self.b = False
        self.v = False
        self.j = False
        self.r = False
        self.ledB = LED(17)  # LED bleue sur pin 17
        self.ledV = LED(27)  # LED verte sur pin 27
        self.ledJ = LED(22)  # LED jaune sur pin 22
        self.ledR = LED(16)  # LED rouge sur pin 16
        self.buzzer = BuzzLevel()

    def onVal(self, val):
        level = 0
        if val <= self.sB:
            self.b = True
            level = 1
        else:
            self.b = False
        if val <= self.sV:
            self.v = True
            level = 2
        else:
            self.v = False
        if val <= self.sJ:
            self.j = True
            level = 3
        else:
            self.j = False
        if val <= self.sR:
            self.r = True
            level = 4
        else:
            self.r = False
        self.appliquer()
        self.buzzer.setLevel(level)

    def off(self):
        self.b = False
        self.v = False
        self.j = False
        self.r = False
        self.appliquer()
        self.buzzer.setLevel(0)

    def blinkVal(self, val, freq):  # Clignotement de l'echelle
        self.blink = True
        ti = time.time()
        while self.blink:
            self.onVal(val)
            ##            print(self.etat())
            time.sleep(1 / freq / 2)
            self.off()
            ##            print(self.etat())
            time.sleep(1 / freq / 2)

    def blinkOnVal(self, val, freq):  # Demarrage du clignotement
        thread1 = threading.Thread(target=self.blinkVal, args=(val, freq))
        thread1.start()

    def blinkOff(self):  # Fin du clignotement
        self.blink = False

    def appliquer(self):  # Application de l'etat choisi aux LEDs
        if self.b:
            self.ledB.on()
        else:
            self.ledB.off()
        if self.v:
            self.ledV.on()
        else:
            self.ledV.off()
        if self.j:
            self.ledJ.on()
        else:
            self.ledJ.off()
        if self.r:
            self.ledR.on()
        else:
            self.ledR.off()

    def etat(
        self
    ):  # Methode de test pour rapporter l'état de chaque led dans le terminal
        aff = ""
        if self.b:
            aff += "B"
        if self.v:
            aff += "V"
        if self.j:
            aff += "J"
        if self.r:
            aff += "R"
        return aff
factory = PiGPIOFactory(host='192.168.0.122')
red = LED(18, pin_factory=factory)

# 18
# 23
# 24

# led.on()
# sleep(1)
# led.off()
# sleep(1)

yellow = LED(23, pin_factory=factory)
green = LED(24, pin_factory=factory)
red.on()
sleep(2)
yellow.on()
sleep(2)
green.on()
sleep(2)
red.off()
sleep(2)
yellow.off()
sleep(2)
green.off()

array = [1, 2, 3, 2, 1]
for a in array:
    red.on()
    yellow.on()
Esempio n. 26
0
    # allow the camera to warmup
    time.sleep(0.1)
    led1.off()
        
    #cap=cv2.VideoCapture(0)
    for frame in camera.capture_continuous(rawCapture, format="bgr", use_video_port=True):
	# grab the raw NumPy array representing the image, then initialize the timestamp
	# and occupied/unoccupied text
        image = frame.array
        
        (rects, weights) = hog.detectMultiScale(image, winStride=(8,8), padding=(32,32), scale=1.1)

    	# draw the original bounding boxes
        if(len(rects)>0):
        	for (x, y, w, h) in rects:
          		cv2.rectangle(image, (x, y), (x + w, y + h), (0, 0, 255), 2)
          		print("Human Detected")
          		led1.on()
        else:
         	led1.off()
          #redect(image)         
        #if flag == 0:
         #   break
        #time.sleep(2)   
        cv2.imshow('feed',image)
        rawCapture.truncate(0)
        ch = 0xFF & cv2.waitKey(1)
        if ch == 27:
            break

Esempio n. 27
0
client = mqtt.Client()
client.on_connect = on_connect

try:
    client.connect(server, port, 60)
except:
    print("Failed to connect to mqtt broker")

init_gpio()

client.loop_start()
while 1:
    if pir.motion_detected:
        print("Motion detected")
        green_lamp.on()

        start = datetime.now()
        ts_start = (start - epoch).total_seconds()

        while pir.value == 1:
            sleep(60)

        print("No Motion detected")

        end = datetime.now()
        ts_end = (end - epoch).total_seconds()
        duration = ts_end - ts_start
        pl = json.dumps({
            'building': 'H8105',
            'assembly_line': "VSC",
Esempio n. 28
0
def estadoLeds(estado):
    if estado == 'encender':
        led0.on()
    elif estado == 'apagar':
        led0.off()
    else:
        led0.off()


if __name__ == '__main__':
    while True:
        print('Bienvenido recuerde que puede apagar o encender los leds ')
        for i in relays:
            led0 = LED(i)
            led0.on()
            sleep(0.5)
        for i in relays:
            led0 = LED(i)
            led0.off()
            sleep(0.5)
        """estado = input('ingrese el estado de los leds: ')
        estadoLeds(estado)
        led0.on()
        sleep(1.5)
        led0.off()
        sleep(1.5)"""
        """TODO --> conectar 4 led restantes y controla el encendido y agrado de los mismos"""
        """TODO --> Controlar el encendido y apagado de los led mediente la consola:
           si el usuario ingresa encender todo los leds se encienden y si el usuario ingresa apagar
           realiza la accion de apagar todos los leds"""
Esempio n. 29
0
from gpiozero import LED
import time
 # Module sys has to be imported:
import sys                

print sys.argv[1], sys.argv[2]
pin = LED(int(sys.argv[1]))

if sys.argv[2] == 'on':
    print 'Turned on'
    pin.on()
else:
    'Turned off'
    pin.off()
    time.sleep(5)
Esempio n. 30
0
from gpiozero import LED
import time
import random
​
nose = LED(25)
left = LED(23)
right = LED(24)
leds = [LED(7), LED(8), LED(9), LED(22), LED(18), LED(17)]
​
left.off()
right.off()
time.sleep(1)
nose.blink()
left.on()
right.on()
​
def sparkle():
    for i in range(25):
        result = random.choice(leds)
        result.on()
        time.sleep(0.2)
        result.off()
​
while True:
    sparkle()        
    time.sleep(0.2)
#!/usr/bin/env python3
from gpiozero import Button, LED
import os
from signal import pause

powerPin = 3
resetPin = 2
ledPin = 14
powerenPin = 4
hold = 1

led = LED(ledPin)
led.on()

power = LED(powerenPin)
power.on()


#functions that handle button events
def pressed_power():
    led.blink(.2, .2)
    os.system("sleep 5s && sudo shutdown -h now")


def pressed_reset():
    led.blink(.2, .2)
    os.system("sleep 5s && sudo shutdown -r now")


def released_button():
    led.on()
led_y = LED(4)
led_w = LED(3)
led_g = LED(2)

but_r = Button(26)
but_b = Button(19)
but_y = Button(13)
but_w = Button(6)
but_g = Button(5)

but_run = Button(21)

if __name__ == "__main__":
    but_run.wait_for_press()

    led_r.on()
    led_b.on()
    led_y.on()
    led_w.on()
    led_g.on()

    but_run.wait_for_release()
    but_run.wait_for_press()

    led_r.off()
    led_b.off()
    led_y.off()
    led_w.off()
    led_g.off()

    current = False
Esempio n. 33
0
#!/usr/bin/env python3

from time import sleep
from gpiozero import LED, MotionSensor
from db_interface import *

# Initialize objects for I/O devices, assign GPIO pins
laser = LED(17)
pir = MotionSensor(4)

while True:
    # Note: pir.wait_for_motion() causes program to become unexitable
    if pir.motion_detected:
        add_timestamp(conn, location_id)
        laser.on()
        sleep(5*60)
    else:
        laser.off()
Esempio n. 34
0
import os

from gpiozero import LED, Button
from signal import pause
from time import sleep
import pygame


green = LED(17)

for i in range(2):

    for i in range(10):

        green.on()
        sleep(1)
        green.off()
        sleep(1)

pygame.mixer.init()

print("Mixer init...")
curr_index = 0

wav_files = []

# ASSUMING YOU HAVE A DRIVE MOUNTED AT THE FOLLOWING LOCATION
USB_DRIVE = '/media/pi/U/'

for item in os.listdir(USB_DRIVE):
Esempio n. 35
0
#print (result)
driving_time = result['rows'][0]['elements'][0]['duration_in_traffic']['text']
#print driving_time
#with open("test.txt", "a") as myfile:
#    myfile.write("Time: %s" % driving_time)
dt2 = int(filter(str.isdigit, driving_time))
print dt2
dt3 = "ETA to %s is %d Minutes" % (trafficLoc, dt2)

if dt2 <= 35:
    print "Good"
    TravelString = "The Traffic is Good, ETA: %d Minutes" % (dt2)
    push = pb.push_note(dt3, TravelString)
    if trafficLoc == "Work":
        print "GLED ON"
        Gled.on()
        sleep(1800)
        Gled.off()
elif dt2 >= 36 or dt2 <= 40:
    print "Moderate"
    TravelString = "The Traffic is Moderate, ETA: %d Minutes" % (dt2)
    push = pb.push_note(dt3, TravelString)
    if trafficLoc == "Work":
        print "OLED ON"
        Oled.on()
        sleep(1800)
        Oled.off()
else:
    print "Heavy"
    TravelString = "WTF Traffic is a nightmare!!!, ETA: %d Minutes" % (dt2)
    push = pb.push_note(dt3, TravelString)
#!/usr/bin/python3

from gpiozero import LED
from time import sleep

pair1 = LED(11)
pair2 = LED(9)
pair3 = LED(10)
pair4 = LED(7)
pair5 = LED(8)

for i in range(4):
    pair1.on()
    sleep(2)
    pair1.off()
    pair2.on()
    sleep(2)
    pair2.off()
    pair3.on()
    sleep(2)
    pair3.off()
    pair4.on()
    sleep(2)
    pair4.off()
    pair5.on()
    sleep(2)
    pair5.off()
Esempio n. 37
0
#!/usr/bin/env python3
########################################################################
# Filename    : Blink.py
# Description : Basic usage of GPIO. Let led blink.
# auther      : www.freenove.com
# modification: 2019/12/26
########################################################################
from gpiozero import LED
from time import sleep

print ('Program is starting ... ')

led = LED(17)           # define LED pin according to BCM Numbering
# led = LED("J8:11")     # BOARD Numbering
'''
# pins numbering, the following lines are all equivalent
led = LED("GPIO17")     # BCM
led = LED("BCM17")      # BCM
led = LED("BOARD11")    # BOARD
led = LED("WPI0")       # WiringPi
led = LED("J8:11")      # BOARD
'''

while True:
    led.on()    # turn on LED
    print ('led turned on >>>')	 # print message on terminal
    sleep(1)    # wait 1 second
    led.off()   # turn off LED 
    print ('led turned off <<<')
    sleep(1)    # wait 1 second
Esempio n. 38
0
from gpiozero import LED
from time import sleep

led = {}
led[2] = LED(17)
led[3] = LED(24)
led[4] = LED(5)
led[5] = LED(13)
led[6] = LED(12)
led[7] = LED(25)
led[0] = LED(16)
led[1] = LED(20)
ledC = LED(6)

while True:
	for i in range(0, 8):
		if i%2 == 0: ledC.on()
		else: ledC.off()
		led[i].on()
		sleep(1)
		led[i].off()
		
Esempio n. 39
0
from gpiozero import LightSensor, LED
from time import sleep

light = LightSensor(4, charge_time_limit=0.001)
buzzer = LED(26)

buzzer.off()
sleep(1)

light.wait_for_dark()
buzzer.on()
Esempio n. 40
0
File: led.py Progetto: ezbins/python
from gpiozero import LED
from time import sleep
import random

led1 = LED(2)
led2 = LED(3)
while True:
    number = random.randrange(10)
    if number ==2:	
       led2.off()
       led1.on()
       print(number)
       sleep(2)
    if number ==3:
      led1.off()
      led2.on()
      print(number) 
      sleep(2)
Esempio n. 41
0
class Thermostat:
  
    def __init__(self, gtkWindow):
	self.TemperatureSetPoint = 20
	self.ActualTemperature = 25
	self.Power = False
	self.ManualPower = gtkWindow.wg.ThermostatManualPower_checkbutton.get_active()
	self.StatusCode = 0
	self.WaterIsLow = False
	self.StatusMessage = 'System OK'
	self.RefillPump = LED(20)
	self.RefillPumpTimeON = 5
	self.RefillPumpPumping = False
	
	#Make sure refill pump is OFF on startup
	self.RefillPumpOFF()
	
	#Create timer to update system
	GObject.timeout_add_seconds(10, self.ThermostatUpdate)
	
	#Create serial port communication
	self.SerialPort = serial.Serial(port='/dev/ttyUSB0', baudrate = 19200, timeout = 2)
	self.SerialPort.isOpen()
	self.ThermostatUpdate()
	
    def __del__(self):
	self.SerialPort.close()
	print 'Serial port closed'
	
    def SetTemperature(self, newSetPoint):
	self.SerialPort.write('SS ' + str(newSetPoint) + '\r')
	time.sleep(0.1)
	print self.SerialPort.readline()
	self.ThermostatUpdate()
	
    def PowerON(self):
	if (self.Power):
	    self.SerialPort.write('SO 1\r')
	else:
	    self.SerialPort.write('SO 0\r')
	    
	self.SerialPort.readline()
	
    def RefillPumpON(self):
	#Pin signal is inverted in external circuit
	self.RefillPump.off()
	self.RefillPumpPumping = True
	
    def RefillPumpOFF(self):
	self.RefillPump.on()
	self.RefillPumpPumping = False
	
    def ThermostatClearFault(self):
	self.SerialPort.write('SUFS\r')
	time.sleep(0.1)
	tmpRes = self.SerialPort.readline()
	
    def ThermostatUpdate(self):
	#Get Unit On status
	self.SerialPort.write('RO\r')
	time.sleep(0.04)
	tmpRes = self.SerialPort.read(2)
	self.Power = bool(tmpRes == '1\r')
	
	#Get actual temperature
	self.SerialPort.write('RT\r')
	time.sleep(0.04)
	self.ActualTemperature = self.SerialPort.readline()
	
	#Get set point from thermostat
	self.SerialPort.write('RS\r')
	time.sleep(0.04)
	self.TemperatureSetPoint = self.SerialPort.readline()

	#Get fault status
	self.SerialPort.write('RUFS\r')
	time.sleep(0.04)
	self.StatusCode = self.SerialPort.readline()
	self.FaultStatusMessageUpdate()
	return True
      
    def FaultStatusMessageUpdate(self):
	tmpCodes = [int(i) for i in self.StatusCode.split()]
	tmpBinaryV3 = list(bin(tmpCodes[2]))
	tmpBinaryV3 = [0] * (8-len(tmpBinaryV3)+2) + map(int,tmpBinaryV3[2:])
	if (self.WaterIsLow):
	    print("Water is low")
	if (tmpBinaryV3[7]):
	    self.StatusMessage = 'Code ' + ''.join(str(e) for e in tmpBinaryV3) + ' - Low Level Warning'
	    self.WaterIsLow = True
	   
	if (tmpBinaryV3[4]):
	    self.StatusMessage = 'Code ' + ''.join(str(e) for e in tmpBinaryV3) + ' - Low Level Fault'
	    self.WaterIsLow = True
	    
	if (not(tmpBinaryV3[7]) and not(tmpBinaryV3[4])):
	    self.StatusMessage = 'Code ' + ''.join(str(e) for e in tmpBinaryV3) + ' - OK'
	    if (self.WaterIsLow):
		print("Thermostat cleared fault")
Esempio n. 42
0
class FourWheelDriveCar():
    # Define the number of all the GPIO that will used for the 4wd car

    def __init__(self):
        '''
        1. Read pin number from configure file
        2. Init all GPIO configureation
        '''
        config = configparser.ConfigParser()
        config.read("config.ini")

        freFrequency = 30
        backFrequency = 30

        self.lfMotor = Motor(config.getint("car", "LEFT_FRONT_1"), config.getint("car", "LEFT_FRONT_2"), pin_factory=factory)
        self.rfMotor = Motor(config.getint("car", "RIGHT_FRONT_1"), config.getint("car", "RIGHT_FRONT_2"), pin_factory=factory)
        self.rfPwa = PWMOutputDevice(config.getint("car", "RIGHT_FRONT__PWA"), frequency=freFrequency, pin_factory=factory)
        self.lfPwa = PWMOutputDevice(config.getint("car", "LEFT_FRONT__PWA"), frequency=freFrequency, pin_factory=factory)
        self.forwardFire = LED(config.getint("car", "FORWARD_STBY"), pin_factory=factory)


        self.lbMotor = Motor(config.getint("car", "LEFT_BEHIND_1"), config.getint("car", "LEFT_BEHIND_2"), pin_factory=factory)
        self.rbMotor = Motor(config.getint("car", "RIGHT_BEHIND_1"), config.getint("car", "RIGHT_BEHIND_2"), pin_factory=factory)
        self.rbPwa = PWMOutputDevice(config.getint("car", "RIGHT_BEHIND__PWA"), frequency=backFrequency,  pin_factory=factory)
        self.lbPwa = PWMOutputDevice(config.getint("car", "LEFT_BEHIND__PWA"), frequency=backFrequency, pin_factory=factory)
        self.behindFire = LED(config.getint("car", "BEHIND_STBY"), pin_factory=factory)

        self.fire_on()

    def fire_on(self):
        self.forwardFire.on()
        self.behindFire.on()

        self.lfPwa.on()
        self.rfPwa.on()
        self.lbPwa.on()
        self.rbPwa.on()

    def fire_off(self):
        self.lfPwa.off()
        self.rfPwa.off()
        self.lbPwa.off()
        self.rbPwa.off()
        self.forwardFire.off()
        self.behindFire.off()

    def reset(self):
        # Rest all the GPIO as LOW

        self.lfPwa.off()
        self.rfPwa.off()
        self.lbPwa.off()
        self.rbPwa.off()

        self.lfMotor.stop()
        self.rfMotor.stop()
        self.lbMotor.stop()
        self.rbMotor.stop()

        self.fire_on()

    def __forword(self):
        '''
        前进
        :return:
        '''
        self.reset()
        #
        self.lfMotor.forward()
        self.lfPwa.pulse()

        self.rfMotor.forward()
        self.rfPwa.pulse()

        self.lbMotor.forward()
        self.lbPwa.pulse()
        #
        self.rbMotor.forward()
        self.rbPwa.pulse()

    def __backword(self):
        '''
        后退
        :return:
        '''
        self.reset()

        self.lfMotor.backward()
        self.lfPwa.pulse()

        self.rfMotor.backward()
        self.rfPwa.pulse()

        self.lbMotor.backward()
        self.lbPwa.pulse()

        self.rbMotor.backward()
        self.rbPwa.pulse()

    def __turnLeft(self):
        '''
        向左转
        To turn left, the LEFT_FRONT wheel will move backword
        All other wheels move forword
        '''
        self.reset()
        self.lfMotor.backward()
        self.rfMotor.forward()
        self.lbMotor.forward()
        self.rbMotor.backward()


    def __turnRight(self):
        '''
        向右转
        To turn right, the RIGHT_FRONT wheel move backword
        All other wheels move forword
        '''
        self.reset()
        self.lfMotor.forward()
        self.rfMotor.backward()
        self.lbMotor.backward()
        self.rbMotor.forward()

    def __backLeft(self):
        '''
        To go backword and turn left, the LEFT_BEHIND wheel move forword
        All other wheels move backword
        '''
        self.reset()
        print('TODO __backLeft')

    def __backRight(self):
        '''
        To go backword and turn right, the RIGHT_BEHIND wheel move forword
        All other wheels move backword
        '''
        self.reset()
        print('TODO __backRight')

    def __stop(self):
        self.reset()

    def carMove(self, direction):
        '''
        Car move according to the input paramter - direction
        '''
        if direction.lower() == 'w':
            self.__forword()
        elif direction.lower() == 's':
            self.__backword()
        # elif direction.lower() == 'a':
        #     self.__turnLeft()
        # elif direction.lower() == 'd':
        #     self.__turnRight()
        # elif direction.lower() == 'BL':
        #     self.__backLeft()
        # elif direction.lower() == 'BR':
        #     self.__backRight()
        elif direction.lower() == 'stop':
            self.__stop()
        elif direction.lower() == 'clear':
            self.__stop()
            self.fire_off()
        else:
            print("The input direction is wrong! You can just input: F, B, L, R, BL,BR or S, current is ", direction)
Esempio n. 43
0



# Definimos entradas y salidas
#Entradas
PinCRC=Button(19)       # Confirmar Rele Caldera


#Salidas
PinCC=LED(20)           # Telerruptor Cerrar Caldera
PinCA=LED(22)   	# Telerruptor Abrir Caldera


#Inicialiazamos Salidas
PinCA.on()
time.sleep(0.3)
PinCA.off()


#Variables Termostato
N_VAR_CAL=3			# Num. variables
CALDERA=[0,0,0]         # [0]ENCENDIDO/Apagado ;[1]TAgua;[2]Error;
ANT_CALDERA=[0,0,0] 


for i in range(N_VAR_CAL):
	CALDERA[i]=0		
	ANT_CALDERA[i]=0

global CRC			# Confirmar Rele Caldera
import time
from random import uniform

red = LED(5)
yellow = LED(6)
green = LED(13)

button1 = Button(2)
button2 = Button(3)
button3 = Button(4)

while True:
    if button1.is_pressed:
        time.sleep(0.3)
        print("Button 1 Pressed")
        red.on()
        sample(LOOP_AMEN, rate=uniform(0.5,2))
    elif button2.is_pressed:
        time.sleep(0.1)
        print("Button 2 is Pressed")
        yellow.on()
        play(G5)
    elif button3.is_pressed:
        time.sleep(0.1)
        print("Button 3 is Pressed")
        green.on()
        play(D5)
    else:
        red.off()
        yellow.off()
        green.off()
Esempio n. 45
0
from gpiozero import LED
from mcpi.minecraft import Minecraft
from mcpi import block
red = LED(17)
amber = LED(27)
green = LED(9)
mc = Minecraft.create()

while True:
    pos = mc.player.getPos()
    blockType = mc.getBlockWithData(pos.x, pos.y-1, pos.z)
    if blockType.data == 14:
        red.on()
    else:
        red.off()
Esempio n. 46
0
from gpiozero import LED
import time

activity = LED(47)

activity.on()
time.sleep(5)
activity.off()
Esempio n. 47
0
def main():
    # Init variablen voor gebruik in game loop
    r_knop = Button(14)         # Groene Knop
    g_knop = Button(15)         # Rode knop
    b_knop = Button(4)          # Start knop
    g_lamp = LED(22)            # Groen LED Kleur
    r_lamp = LED(27)            # Rood LED Kleur       
    led = LED(22)               # led lampje
    sda_lcd = 2                 # LCD scherm
    scl_lcd = 3                 
    
    control_pins = [12,16,18,22]

    GPIO.setmode(GPIO.BOARD)
    for pin in control_pins:
        GPIO.setup(pin, GPIO.OUT)
        GPIO.output(pin, 0)

    mp1, mp2, mp3, mp4 = OD(18), OD(23), OD(24), OD(25)
    step_pins = [mp1, mp2, mp3, mp4]
    seq = [
        [1,0,0,0],
        [1,1,0,0],
        [0,1,0,0],
        [0,1,1,0],
        [0,0,1,0],
        [0,0,1,1],
        [0,0,0,1],
        [1,0,0,1]
    ]

    step_count = len(seq)
    step_links = 1
    step_rechts = -1
    step_counter = 0
    
#LCD scherm aanmaken
    lcd_rs        = 25 
    lcd_en        = 24
    lcd_d4        = 23
    lcd_d5        = 17
    lcd_d6        = 18
    lcd_d7        = 22
    lcd_backlight = 4
    lcd_columns = 16
    lcd_rows = 2

    lcd = LCD.Adafruit_CharLCD(lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6, lcd_d7, lcd_columns, lcd_rows, lcd_backlight)    
    
    speel = True
    punten = 0
    start = True

    moeilijkheids_graad = 0.8   #elke moeilijker rondes wordt snelheid s die de gebruiker heeft om te klikken gelijk aan 0.8s
    moeilijker = 2              #na dit aantal rondes wordt het spel moeilijker
    teller = 0                  #hoeveelste ronde waar het programma in zit
    maximale_tijd = 1000        #begint met 1 seconde, steeds korter. In milliseconden.
    min_tijd = 2                #minimale tijd dat verstreken is voor een lampje aangaat
    max_tijd = 5                #maximale tijd dat verstreken is voor een lampje aangaat

    while start:
        delay = 1000
        
        lcd.message("Begin met blauw./nPunten: 0")
        
        print("Begin spel. Druk op de blauwe knop.")

        if b_knop.is_pressed:                              
            sleep(random.randint(min_tijd,max_tijd))             #  Random tijnd wanneer de lamp aan gaat
            g_lamp.on()                         #1. Groen lamp gaat aan

            if g_knop.is_pressed:               #2. Groene lamp klik event 
                g_lamp.off()                    #Groene lamp uit

                # 3. Motor gaat aan
                for halfstep in range(8):
                    for pin in range(4):
                    GPIO.output(control_pins[pin], seq[halfstep][pin])
                    sleep(0.001)

                #Start speel loop
                while speel:
                    teller += 1

                    # Moel
                    if teller % moeilijker == 0:
                        min_tijd = min_tijd * moeilijkheids_graad
                        max_tijd = max_tijd * moeilijkheids_graad

                    #Prints voor debuging
                    print(step_counter)
#;-;
                    kleur = random.choice(["groen", "rood"])    #Selecteer een willekeurige kleur
    
                    if kleur == "rood":
                        sleep(random.randint(min_tijd,max_tijd)) # 4. Lamp gaat aan 
                        r_lamp.on()
                        print("rode lamp")
                    else:
                        sleep(random.randint(min_tijd,max_tijd)) 
                        g_lamp.on()
                        print("groene lamp")
                    
                    press = datetime.datetime.now()

                    # Groen knop invoer event.
                    if g_knop.is_pressed():
                        
                        # check als de kleur overheen komt met de de gedrukte knop
                        if kleur == "groen":
                            change = datetime.datetime.now() #change time \

                            if change - press > 1: # Als de gebruiker te langzaam is.
                                lcd.clear()
                                lcd.message("Game over./nPunten: " + str(sum(punten)))
                                break
                            g_lamp.off()
                        
                            # Motor systeem versie 2
                            for halfstep in range(8):
                                for pin in range(4):
                                GPIO.output(control_pins[pin], seq[halfstep][pin])
                                sleep(0.001)
                            
                            print("Goed antwoord")

                        else:
                            lcd.clear()
                            lcd.message("Game over")
                            g_lamp.off()
                            r_lamp.off()
                            speel = False
                            print(f"Totaal aantal goed: "+str(punten))   # Toon aantal goed beantwoord
                            break               #Stop het spel door verkeerd antwoord
                    
                    # Rood knop invoer event.
                    # Checkt of de kleur rood is en voegt punten toe.
                    elif r_knop.is_pressed:
                        if kleur == "rood":
                            r_lamp.off()                            
                            #change time
                            change = datetime.datetime.now()

                            if change - press > 1: # Als de gebruiker te langzaam is.
                                lcd.clear()
                                lcd.message("Game over./nPunten: " + str(sum(punten)))
                                break

                            # Motor systeem versie 1
                            for pin in range(0, 4):
                               xpin = step_pins[pin]
                               if Seq[step_counter][pin] != 0:
                                   xpin.on()
                               else:
                                   xpin.off()
                            step_counter += step_rechts
                            

                            print("Goed antwoord")

                        else:
                            g_lamp.off()
                            r_lamp.off()
                            speel = False
                            lcd.clear()
                            lcd.message("Game over./nPunten: " + str(sum(punten)))
                            print(f"Totaal aantal goed: "+str(punten))   #aantal toont goed beantwoorde/Toon aantal goed beantwoord
                        break                                       #Stolp het splel door verkeerd antwoord

                    #restart de sequence
                    if (step_counter>=step_count):
                        step_counter = 0
                    if (step_counter<0):
                        step_counter = step_count+step_links

                else:       
                    #Iets ging fout. Kom niet in de spel loop.
                    print("Verkeerde invoer. Gebruiker komt niet in speel loop.")
                    sleep(2)
                
            #PUNTEN BEREKENINGING.
            if r_knop.is_pressed or g_knop.is_pressed:          #Groen of rood ingedrukt
                                                      
                diff = change - press                 #Verschil tussen press en change in microseconden/milliseconden
                millisec = (diff.days * 24 * 60 * 60 + diff.seconds) * 1000 + diff.microseconds / 1000.0 # Stackoverflow ;-; Het werkt :o
                print("Hoelang je erover deed: " + millisec)

            if teller % moeilijker == 0:
                maximale_tijd = maximale_tijd * moeilijkheids_graad
            if millisec <= maximale_tijd:
                punten_lijst = []
                punten_lijst.append(millisec)
                lcd.clear()
                lcd.message("Punten: " + str(sum(punten_lijst)))
                print(sum(punten_lijst))

        else:
            print("Spel niet gestart")

    GPIO.cleanup()

if __name__ == "__main__":
    main()
Esempio n. 48
0
class Modas:
    def __init__(self):
        # TODO: init PiCamera

        # TODO: set camera resolution

        # init green, red LEDs
        self.green = LED(24)
        self.red = LED(23)
        # init button
        self.button = Button(8)
        # init PIR
        self.pir = MotionSensor(25)

        # when button  is released, toggle system arm / disarm
        self.button.when_released = self.toggle

        # system is disarmed by default
        self.armed = False
        self.disarm_system()

    def init_alert(self):
        self.green.off()
        self.red.blink(on_time=.25, off_time=.25, n=None, background=True)
        print("motion detected")
        # TODO: Take photo

        # delay
        sleep(2)

    def reset(self):
        self.red.off()
        self.green.on()

    def toggle(self):
        self.armed = not self.armed
        if self.armed:
            self.arm_system()
        else:
            self.disarm_system()

    def arm_system(self):
        print("System armed in 3 seconds")
        self.red.off()
        # TODO: enable camera

        # 3 second delay
        self.green.blink(on_time=.25, off_time=.25, n=6, background=False)
        # enable PIR
        self.pir.when_motion = self.init_alert
        self.pir.when_no_motion = self.reset
        self.green.on()
        print("System armed")

    def disarm_system(self):
        # disable PIR
        self.pir.when_motion = None
        self.pir.when_no_motion = None
        # TODO: disable camera

        self.red.on()
        self.green.off()
        print("System disarmed")
Esempio n. 49
0
from pygame.mixer import Sound
from gpiozero import Button, LED
from signal import pause
from time import sleep

pygame.mixer.init()

good = Sound("/home/pi/crackerjoke/goodjoke.wav")
bad = Sound("/home/pi/crackerjoke/badjoke.wav")

goodbutton = Button(21)
badbutton = Button(24)

red = LED(8)
green = LED(7)

while True:
   red.on()
   green.on()
   goodbutton.when_pressed = good.play
   badbutton.when_pressed = bad.play

pause()
#################################################################

#If you’d like the code to run on reboot, allowing you to detach yourself from the monitor, keyboard, and mouse, open a terminal window and type:
nano ~/.config/lxsession/LXDE-pi/autostart
#At the bottom of the file, add:
@python /home/pi/crackerjoke/crackerjoke.py
#Save and reboot.
Esempio n. 50
0
    "What's up?",
    "How's it going?",
    "Have you been here before?",
    "Get a hair cut!",
]

# Loop to take and tweet photos
while True:
    try:
        # Wait for the button to be pressed
        button.wait_for_press()
        timestamp = datetime.now().isoformat()
        photo_path = '/home/pi/Desktop/camera/photos/%s.jpg' % timestamp

        # Turn on LEDs and sleep 1 second between each one
        red.on()
        sleep(1)
        red.off()

        yellow.on()
        sleep(1)
        yellow.off()

        green.on()
        sleep(1)
        green.off()

        # Take a picture and save it to photo_path
        camera.capture(photo_path)

        # Tweet the picture with a random message
Esempio n. 51
0
from gpiozero import LED
from time import sleep

led = LED(18)
led1 = LED(17)
led2 = LED(27)
buzz = LED(22)

while True:
    led.on()
    sleep(0.03)
    led.off()
    sleep(0.03)

    led1.on()
    sleep(0.03)
    led1.off()
    sleep(0.03)

    led2.on()
    sleep(0.03)
    led2.off()
    sleep(0.1)
Esempio n. 52
0
import explorerhat
from gpiozero import Button, LED, Motor
from time import sleep


button = Button(9)
led1 = LED(10)

motor1 = Motor(forward=19 , backward=20)
motor2 = Motor(forward=21 , backward=26)




while True:
        if button.is_pressed:
                print("Button pressed")
                led1.on()
                motor1.forward()
                motor2.forward()
        else:
        		print("Button is not pressed")
        		led1.off()
        		motor1.stop()
        		motor2.stop()
#A 3 LED traffic light sequence activate dby a button press
from gpiozero import LED, Button
from time import sleep

led_red = LED(17)
led_yellow = LED(27)
led_green = LED(22)
button= Button(5)
while True:
    button.wait_for_press()
    for n in range (3):
        led_red.on()
        led_yellow.off()
        sleep(1)
        led_yellow.on()
        sleep(1)
        led_red.off()
        led_yellow.off()
        led_green.on()
        sleep(1)
        led_green.off()
        led_yellow.on()
        led_red.off()
        sleep(1)
        led_red.on()
        led_yellow.off()
        sleep(1)
        led_red.off()
Esempio n. 54
0
def cam():
    
 cap = cv.VideoCapture(0)
 
 def make_1080p():
    cap.set(3, 1920)
    cap.set(4, 1080)

 def make_720p():
    cap.set(3, 1280)
    cap.set(4, 720)

 def make_480p():
    cap.set(3, 640)
    cap.set(4, 480)

 def change_res(width, height):
    cap.set(3, width)
    cap.set(4, height)

 make_480p()
 change_res(640, 480)

 #variables
 qx=0
 qy=0
 i=0
 a=0
 b=0
 cX0=0
 cX1=0
 cX2=0
 cX3=0
 cY0=0
 cY1=0
 cY2=0
 cY3=0
 A=0
 Cximg=320
 Cyimg=240
 q=0
 k=0
 p=0
 g=0
 metadedafita=20
 motor1 = LED(19)
 motor2 = LED(6)
 motor3 = LED(11)
 motor4 = LED(10)
 motor1i = LED(26)
 motor2i = LED(13)
 motor3i = LED(5)
 motor4i = LED(9)
 o=0
 oa=0
 vel1 = LED(22)
 vel2 = LED(27)
 vel3 = LED(17)
 vel4 = LED(4)
 
 while (cap.isOpened()):
    ret, img = cap.read()
    
    if ret == True:
        #gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
        gray = cv.cvtColor(img, cv.COLOR_BGR2HSV)
        gray_filter=cv.inRange(gray, (0, 0, 147), (180, 255, 255))
        #ret,thresh = cv2.threshold(dst,100,255,0)
        ret,thresh = cv.threshold(gray_filter,100,255,0)
        #img_filter=cv.morphologyEx(thresh, cv.MORPH_OPEN,
        #cv.imshow('Morph', img_filter)
        kernel1 = np.ones((3,3),np.uint8)
        img_filter = cv.dilate(thresh, kernel1, iterations=5)
        kernel = np.ones((3,3),np.uint8)
        img_filter1 = cv.erode(img_filter,kernel,iterations = 20)
        #cv.imshow('Erode', img_filter)
        contours, hierarchy = cv.findContours(img_filter1,cv.RETR_TREE,cv.CHAIN_APPROX_SIMPLE)
        #ret,thresh = cv.threshold(gray,100,255,0)

        #contours, hierarchy = cv.findContours(thresh,cv.RETR_TREE,cv.CHAIN_APPROX_SIMPLE)
        for c in contours:
            M = cv.moments(c)
            if M["m00"] != 0:
             cX = int(M["m10"] / M["m00"])
             cY = int(M["m01"] / M["m00"])
             cX3=cX2
             cX2=cX1
             cX1=cX0
             cX0=cX
             angulo1=atan((cY-Cyimg)/(cX-Cximg))*180/3.14
             angulo2=atan((cX-Cximg)/(cY-Cyimg))*180/3.14
             cY3=cY2
             cY2=cY1
             cY1=cY0
             cY0=cY
             q=q+1
             k=abs(int(Cximg-cX))
             j=abs(int(Cyimg-cY))
             if (j-k)<0:
                 if (abs(cX0-cX2)<=10) & (abs(cX1-cX3)<=10) & (abs(cX0-cX1)>50) & (abs(cX2-cX3)>50):
                  if p==1:
                      while(g!=2):
                             motor1.off()
                             motor2.off()
                             motor3.on()
                             motor4.on()
                             motor1i.on()
                             motor2i.on()
                             motor3i.on()
                             motor4i.on()
                             g=g+1
                      p=0
                      g=0
                  elif p==2:
                      while(g!=2):
                             motor1.on()
                             motor2.on()
                             motor3.off()
                             motor4.off()
                             motor1i.on()
                             motor2i.on()
                             motor3i.on()
                             motor4i.on()
                             g=g+1
                      p=0
                      g=0
                  if (a!=0) & ((a%2)==0):
                      i=0
                      a=0
                  elif (a!=0) & ((a%2)==1):
                      i=1
                      a=0
                  elif (b!=0) & ((b%2)==0):
                      i=1
                      b=0
                  elif (b!=0) & ((b%2)==1):
                      i=0
                      b=0
                  
                  i=i+1
                  dy=int(qy-cY)
                  qy=cY
                  dx=Cximg-cX
                  erro=int(dx+qx)
                  qx=dx
                  print('I:',i)
                  if (abs(erro)<=25) & (abs(dy)<=15):
                     oa=1
                     if (o!=oa):
                         o=oa
                         motor1i.off()
                         motor2i.off()
                         motor3i.off()
                         motor4i.off()
                         time.sleep(0.1)
                     print('Correto')
                     motor1.off()
                     motor2.off()
                     motor3.off()
                     motor4.off()
                     motor1i.on()
                     motor2i.on()
                     motor3i.on()
                     motor4i.on()
                     #vel1.on
                     #vel2.on
                     #vel3.on
                     #vel4.on
                     

                     
                     #ré
                     #if (o!=oa):
                      #   o=oa
                       #  motor1i.off()
                         #motor2i.off()
                         #motor3i.off()
                         #motor4i.off()
                         #time.sleep(0.1)
                     #motor1.on()
                     #motor2.on()
                     #motor3.on()
                     #motor4.on()
                     #motor1i.on()
                     #motor2i.on()
                     #motor3i.on()
                     #motor4i.on()
                     #vel1.on
                     #vel2.on
                     #vel3.on
                     #vel4.on
                     
                     
                  #elif ((abs(Cyimg-cY1)<=10) & (abs(Cyimg-cY0)>30)) or ((abs(Cyimg-cY0)<=10) & (abs(Cyimg-cY1)>30)) :
                     #print('Translação esquerda tantos mm')
                     #translação esquerda tantos mm.
                     #rotaciona horario 90 graus
                     #anda ré tantos mm.
                
                  else:
                     #vel1.off()
                     #vel2.off()
                     #vel3.off()
                     #vel4.off()
                     if (abs(dy)<=15):
                         oa=2
                         if (o!=oa):
                             o=oa
                             motor1i.off()
                             motor2i.off()
                             motor3i.off()
                             motor4i.off()
                             time.sleep(0.1)
                         if (A==0):
                             print('Movimento 2 translacional, distancia de',-erro)
                             if (erro<0):
                                 motor1.on()
                                 motor2.off()
                                 motor3.off()
                                 motor4.on()
                                 motor1i.on()
                                 motor2i.on()
                                 motor3i.on()
                                 motor4i.on()
                             else:
                                 motor1.off()
                                 motor2.on()
                                 motor3.on()
                                 motor4.off()
                                 motor1i.on()
                                 motor2i.on()
                                 motor3i.on()
                                 motor4i.on()
                        
                         elif (A==1):
                             i=i-1
                             A=0
                            
                     elif (abs(angulo1)>=2):
                         oa=3
                         if (o!=oa):
                             o=oa
                             motor1i.off()
                             motor2i.off()
                             motor3i.off()
                             motor4i.off()
                             time.sleep(0.1)
                         print('Movimento 2 rotacional, angulo de',angulo1)
                         
                         if (angulo1<0):
                             p=1
                             motor1.off()
                             motor2.off()
                             motor3.on()
                             motor4.on()
                             motor1i.on()
                             motor2i.on()
                             motor3i.on()
                             motor4i.on()
                         else:
                             p=2
                             motor1.on()
                             motor2.on()
                             motor3.off()
                             motor4.off()
                             motor1i.on()
                             motor2i.on()
                             motor3i.on()
                             motor4i.on()
                             
                 elif (abs(cX0-cX1)<=10) & (abs(cY0-cY1)<=10):
                     #vel1.off
                     #vel2.off
                     #vel3.off
                     #vel4.off
                     if(Cximg-cX)<0:
                         motor1.on()
                         motor2.off()
                         motor3.off()
                         motor4.on()
                         motor1i.on()
                         motor2i.on()
                         motor3i.on()
                         motor4i.on()
                     else:
                         motor1.off()
                         motor2.on()
                         motor3.on()
                         motor4.off()
                         motor1i.on()
                         motor2i.on()
                         motor3i.on()
                         motor4i.on()
                         
                 else:
                  motor1i.off()
                  motor2i.off()
                  motor3i.off()
                  motor4i.off()
                  if (i%2)==0:
                      a=a+1
                      b=0
                      A=1
                      print('A:',a)
                  elif (i%2)==1:
                      b=b+1
                      a=0
                      A=1
                      print('B:',b)

               
             elif  (j-k)>0:                     
                 if (abs(cY0-cY2)<=10) & (abs(cY1-cY3)<=10) & (abs(cY0-cY1)>50) & (abs(cY2-cY3)>50):
                  if p==3:
                      while(g!=2):
                             motor1.on()
                             motor2.on()
                             motor3.off()
                             motor4.off()
                             motor1i.on()
                             motor2i.on()
                             motor3i.on()
                             motor4i.on()
                             g=g+1
                      p=0
                      g=0
                  elif p==4:
                      while(g!=2):
                             motor1.off()
                             motor2.off()
                             motor3.on()
                             motor4.on()
                             motor1i.on()
                             motor2i.on()
                             motor3i.on()
                             motor4i.on()
                             g=g+1
                      p=0
                      g=0
                  if (a!=0) & ((a%2)==0):
                      i=0
                      a=0
                  elif (a!=0) & ((a%2)==1):
                      i=1
                      a=0
                  elif (b!=0) & ((b%2)==0):
                      i=1
                      b=0
                  elif (b!=0) & ((b%2)==1):
                      i=0
                      b=0
                  
                  i=i+1
                  dx=int(qx-cX)
                  qx=cX
                  dy=Cyimg-cY
                  erro=int(dy+qy)
                  qy=dy
                  print('I:',i)
                  if (abs(erro)<=25) & (abs(dx)<=15):
                      oa=1
                     if (o!=oa):
                         o=oa
                         motor1i.off()
                         motor2i.off()
                         motor3i.off()
                         motor4i.off()
                         time.sleep(0.1)
                      motor1.on()
                      motor2.off()
                      motor3.off()
                      motor4.on()
                      motor1i.on()
                      motor2i.on()
                      motor3i.on()
                      motor4i.on()
                      #vel1.on
                      #vel2.on
                      #vel3.on
                      #vel4.on
                      
                      #ré
                      #motor1.off()
                      #motor2.on()
                      #motor3.on()
                      #motor4.off()
                      #motor1i.on()
                      #motor2i.on()
                      #motor3i.on()
                      #motor4i.on()
                      #vel1.on
                      #vel2.on
                      #vel3.on
                      #vel4.on
                      print('Correto')
                  else:
                     #vel1.off
                     #vel2.off
                     #vel3.off
                     #vel4.off
                     if (abs(dx)<=15):
                         oa=2
                         if (o!=oa):
                             o=oa
                             motor1i.off()
                             motor2i.off()
                             motor3i.off()
                             motor4i.off()
                             time.sleep(0.1)
                         if (A==0):
                             print('Movimento translacional, distancia de', erro)
                             if (erro>0):
                                 motor1.off()
                                 motor2.off()
                                 motor3.off()
                                 motor4.off()
                                 motor1i.on()
                                 motor2i.on()
                                 motor3i.on()
                                 motor4i.on()
                                 
                             else:
                                 
                                 motor1.on()
                                 motor2.on()
                                 motor3.on()
                                 motor4.on()
                                 motor1i.on()
                                 motor2i.on()
                                 motor3i.on()
                                 motor4i.on()
                                 
                         elif (A==1):
                             i=i-1
                             A=0
                     elif (abs(angulo2)>=2):
                         oa=3
                         if (o!=oa):
                             o=oa
                             motor1i.off()
                             motor2i.off()
                             motor3i.off()
                             motor4i.off()
                             time.sleep(0.1)
                         if (angulo2<0):
                             p=3
                             motor1.on()
                             motor2.on()
                             motor3.off()
                             motor4.off()
                             motor1i.on()
                             motor2i.on()
                             motor3i.on()
                             motor4i.on()
                         else:
                             p=4
                             motor1.off()
                             motor2.off()
                             motor3.on()
                             motor4.on()
                             motor1i.on()
                             motor2i.on()
                             motor3i.on()
                             motor4i.on()
                         print('Movimento rotacional, angulo de',-angulo)                  
                    
                 elif (abs(cY0-cY1)<=10) & (abs(cX0-cX1)<=10):
                     #vel1.off
                     #vel2.off
                     #vel3.off
                     #vel4.off
                     if(Cyimg-cY)<0:
                         motor1.on()
                         motor2.off()
                         motor3.off()
                         motor4.on()
                         motor1i.on()
                         motor2i.on()
                         motor3i.on()
                         motor4i.on()
                     else:
                         motor1.off()
                         motor2.on()
                         motor3.on()
                         motor4.off()
                         motor1i.on()
                         motor2i.on()
                         motor3i.on()
                         motor4i.on()
                         
                 else:
                  motor1i.off()
                  motor2i.off()
                  motor3i.off()
                  motor4i.off()
                  if (i%2)==0:
                      a=a+1
                      b=0
                      A=1
                      print('A:',a)
                  elif (i%2)==1:
                      b=b+1
                      a=0
                      A=1
                      print('B:',b)

            else:
             cX, cY = 0, 0
            
             
            cv.circle(thresh, (cX, cY), 5, (255, 255, 255), -1)
            cv.circle(thresh, (320,240), 5, (255, 255, 255), -1)
            cv.putText(thresh, "o", (cX , cY),cv.FONT_HERSHEY_SIMPLEX, 0.5, (0, 0, 255), 2)        
            #cv2.imshow('img',img)
            cv.imshow('Thresh',thresh)
            
        

        if cv.waitKey(1) & 0xFF == ord ('q'):
            break
    else:
        break
Esempio n. 55
0
from mcpi.minecraft import Minecraft
from mcpi import block
from gpiozero import LED
red = LED(17)
amber = LED(27)
green = LED(9)
mc = Minecraft.create()

while True:
    pos = mc.player.getPos()
    blockType = mc.getBlockWithData(pos.x, pos.y-1, pos.z)
    if blockType.data == 14:
        red.on()
        amber.off()
        green.off()
    elif blockType.data == 4:
        red.off()
        amber.on()
        green.off()
    elif blockType.data == 5:
        red.off()
        amber.off()
        green.on()
    else:
        red.off()
        amber.off()
        green.off()
        
    

Esempio n. 56
0
The hardware is respeaker 4 mic array for raspberry pi:
    https://www.seeedstudio.com/ReSpeaker-Mic-Array-Far-field-w--7-PDM-Microphones--p-2719.html
"""

import time
from voice_engine.source import Source
from voice_engine.kws import KWS
from voice_engine.doa_respeaker_4mic_array import DOA
from voice_engine.delay_sum import DelaySum
from pixel_ring import pixel_ring
from pixel_ring.echo import Pattern
from gpiozero import LED

pixel_ring.change_pattern(Pattern)
power = LED(5)
power.on()

max_offset = int(16000 * 0.081 / 340)


def main():
    src = Source(rate=16000, frames_size=320, channels=4)
    ds = DelaySum(channels=4,
                  frames_size=src.frames_size,
                  max_offset=max_offset)
    kws = KWS()
    doa = DOA(rate=16000, chunks=20)

    src.link(ds)
    ds.link(kws)
Esempio n. 57
0
logo_raspi = Image.open('/home/pi/gpiozerotest/Raspi128.png').resize((LCD.LCDWIDTH, LCD.LCDHEIGHT), Image.ANTIALIAS).convert('1')
disp.image(logo_raspi)
disp.display()
time.sleep(2)
draw.text((0,20), 'Press button', font=font)
disp.image(image)
disp.display()
time.sleep(5)
#check to see if button is pressed
if dropbox.is_pressed:
	logo_dropbox = Image.open('/home/pi/gpiozerotest/Dropbox-logo-300x300.jpeg').resize((LCD.LCDWIDTH, LCD.LCDHEIGHT), Image.ANTIALIAS).convert('1')
	print 'button pressed'
	disp.image(logo_dropbox)
	disp.display()
	led_drop.on()
	time.sleep(2)
	draw.rectangle((0,0,LCD.LCDWIDTH,LCD.LCDHEIGHT), outline=255, fill=255)
	draw.text((3,0), 'Dropbox', font=font)
	draw.text((3,10), 'Upload', font=font)
	draw.text((3,20), 'in progress', font=font)
	disp.image(image)
	disp.display()
	subprocess.call('/home/pi/Dropbox-Uploader/dropbox_uploader.sh upload /home/pi/photo_output /photos', shell=True)
	draw.text((3,30), 'Completed', font=font)
	subprocess.call('sudo rm  /home/pi/photo_output/*.jpg', shell=True)
	disp.display()
	time.sleep(5)
	led_drop.off()
	draw.rectangle((0,0,LCD.LCDWIDTH,LCD.LCDHEIGHT), outline=255, fill=255)
        draw.text((3,0), 'Files uploaded', font=font)
Esempio n. 58
0
from gpiozero import Buzzer, LED
from time import sleep

buzzer = Buzzer(21)
red = LED(14)
green = LED(15)

while True:
    buzzer.on()
    green.off()
    red.on()
    sleep(1)
    buzzer.off()
    red.off()
    green.on()
    sleep(1)
Esempio n. 59
0
from gpiozero import LED
from time import sleep

green = 12

led = LED(green)

while True:
    led.on()
    sleep(1)
    led.off()
    sleep(1)
Esempio n. 60
0
#Statemachine til beskrivelse af livets gang
from gpiozero import LED
from time import sleep

NSred= LED(13)
NSgul=LED(19)
NSgreen=LED(26)
EVred=LED(21)
EVgul=LED(20)
EVgreen=LED(16)


print("Test!")
EVred.on()
sleep(1)
EVgreen.on()
sleep(1)
EVgul.on()
sleep(1)
NSred.on()
sleep(1)
NSgreen.on()
sleep(1)
NSgul.on()
sleep(1)
EVred.off()
EVgreen.off()
EVgul.off()
NSred.off()
NSgreen.off()
NSgul.off()