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()
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
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()
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
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()
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])
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")
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()
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()
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
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()
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
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()
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")
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()
from gpiozero import LED from time import sleep red = LED(17) while True: red.on() sleep(0.2) red.off() sleep(0.2)
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
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()
# 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
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",
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"""
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)
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
#!/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()
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):
#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()
#!/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
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()
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()
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)
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")
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)
# 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()
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()
from gpiozero import LED import time activity = LED(47) activity.on() time.sleep(5) activity.off()
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()
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")
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.
"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
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)
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()
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
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()
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)
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)
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)
from gpiozero import LED from time import sleep green = 12 led = LED(green) while True: led.on() sleep(1) led.off() sleep(1)
#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()