我们从Python开源项目中,提取了以下50个代码示例,用于说明如何使用RPi.GPIO.OUT。
def show(): """Output the buffer""" global _gpio_setup if not _gpio_setup: GPIO.setmode(GPIO.BCM) GPIO.setwarnings(False) GPIO.setup([DAT,CLK,CS],GPIO.OUT) _gpio_setup = True GPIO.output(CS, 0) _sof() for pixel in pixels: r, g, b, brightness = pixel _write_byte(0b11100000 | brightness) _write_byte(b) _write_byte(g) _write_byte(r) _eof() GPIO.output(CS, 1)
def setup(): if os.path.isdir(ImagePath) == False: os.mkdir(ImagePath, 0777) try: GPIO.cleanup() finally: pass GPIO.setmode(GPIO.BOARD) GPIO.setup(BeepPin, GPIO.OUT) GPIO.setup(LedPin, GPIO.OUT) GPIO.setup(ButtonPin, GPIO.IN, pull_up_down=GPIO.PUD_UP) ledOn() beepOn() time.sleep(0.1) ledOff() beepOff() # Loop, wait for button press
def __init__(self): gpio.setmode(gpio.BOARD) # set up and init self.trigger = 13 self.echo = 11 gpio.setup(self.trigger, gpio.OUT) gpio.setup(self.echo, gpio.IN) self.pulse_start = 0. self.pulse_end = 0. self.speed_of_sound = 343 * 100 self.max_distance = 100 self.min_distance = 1
def __init__(self): print('init robot gpio') # set up hardware gpio.setmode(gpio.BOARD) # use pin numbers not gpio numbers # wheels ( 4 wheel motors ) self.reverse_left = 38 self.reverse_right = 35 self.forward_left = 40 self.forward_right = 37 gpio.setup(self.reverse_left, gpio.OUT) gpio.setup(self.forward_left, gpio.OUT) gpio.setup(self.forward_right, gpio.OUT) gpio.setup(self.reverse_right, gpio.OUT) self.wheel_pulse = 0.2 #self.actions = ['forward', 'reverse', 'turn_left', 'turn_right', 'hard_left', 'hard_right'] self.actions = ['forward', 'reverse', 'hard_left', 'hard_right']
def set_up_gpio(self): GPIO.setmode(GPIO.BCM) #GPIO.setup(camera_led_pin, GPIO.OUT, initial=False) # Set GPIO to output GPIO.setup(config.led_pin_select,GPIO.OUT) # The 'Select' button LED GPIO.setup(config.led_pin_left,GPIO.OUT) # The 'Left' button LED GPIO.setup(config.led_pin_right,GPIO.OUT) # The 'Right' button LED # Detect falling edge on all buttons GPIO.setup(config.button_pin_select, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(config.button_pin_left, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(config.button_pin_right, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(config.button_pin_exit, GPIO.IN, pull_up_down=GPIO.PUD_UP) # Drumminhands found it necessary to switch off LEDs initially GPIO.output(config.led_pin_select, False) GPIO.output(config.led_pin_left, False) GPIO.output(config.led_pin_right, False)
def __init__(self, dev='/dev/spidev0.0', speed=1000000, pin_rst=22, pin_ce=0): self.pin_rst = pin_rst self.pin_ce = pin_ce SPI.openSPI(device=dev, speed=speed) GPIO.setmode(GPIO.BOARD) GPIO.setup(pin_rst, GPIO.OUT) GPIO.output(pin_rst, 1) if pin_ce != 0: GPIO.setup(pin_ce, GPIO.OUT) GPIO.output(pin_ce, 1) self.reset() self.dev_write(0x2A, 0x8D) self.dev_write(0x2B, 0x3E) self.dev_write(0x2D, 30) self.dev_write(0x2C, 0) self.dev_write(0x15, 0x40) self.dev_write(0x11, 0x3D) self.set_antenna(True)
def __GPIOInit(self): """ Initialises the GPIO pins for the pi (tested on the Pi3 Model B+) """ # Set mode PIN numbering to BCM, and define GPIO pin functions GPIO.setmode(GPIO.BCM) # Setup Function for input Pins inputBNTs = (self.__soundBNTs + self.__stepBNTs) inputBNTs.append(self.__playBNT) inputBNTs.append(self.__recBNT) for b in inputBNTs: GPIO.setup(b, GPIO.IN, pull_up_down=GPIO.PUD_UP) # Func for ouput Pins GPIO.setup(self.__LED, GPIO.OUT)
def send_gpio_order(param): """ GPIO???? type in(GPIO.IN) out(GPIO.OUT) value 1 GPIO.HIGH 0 GPIO.LOW :param param: :return: """ print param channel, type, value = param try: import RPi.GPIO as GPIO except RuntimeError: print("????") GPIO.setwarnings(False) GPIO.setmode(GPIO.BOARD) if type == 'in': GPIO.setup(channel, GPIO.IN) GPIO.input(channel, value) else: GPIO.setup(channel, GPIO.OUT) GPIO.output(channel, value)
def setup_output(self, name, pwm=False, initial=False): """ Set pin as output. :param name: Numer of the pin. :type name: int :param pwm: If value if PWM. :type pwm: bool :param initial: Initial value to set. :type initial: bool """ self._pins[name] = {"name": name, "type": "out", "pwm": None} GPIO.setup(name, GPIO.OUT) if pwm: pwm = GPIO.PWM(name, 200) pwm.start(initial * 100.0) self._pins[name]["pwm"] = pwm else: self[name] = initial
def init(self,bitrate,SDAPIN,SCLPIN): if(SDAPIN != SCLPIN): self.SCL = SCLPIN self.SDA = SDAPIN else: print "SDA = GPIO"+str(self.SDA)+" SCL = GPIO"+str(self.SCL) #configer SCL as output GPIO.setmode(GPIO.BCM) GPIO.setwarnings(False) GPIO.setup(self.SCL, GPIO.OUT) GPIO.setup(self.SDA, GPIO.OUT) GPIO.output(self.SDA, GPIO.HIGH) GPIO.output(self.SCL, GPIO.HIGH) if bitrate == 100: self.int_clk = 0.0000025 elif bitrate == 400: self.int_clk = 0.000000625 elif bitrate == 1000: self.int_clk = 1 elif bitrate == 3200: self.int_clk = 1
def Start(self): #SCL # ______ # | |______ #SDA # ___ # | |_________ GPIO.setup(self.SDA, GPIO.OUT) #cnfigure SDA as output GPIO.output(self.SDA, GPIO.HIGH) GPIO.output(self.SCL, GPIO.HIGH) self.tick(1) GPIO.output(self.SDA, GPIO.LOW) self.tick(1) GPIO.output(self.SCL, GPIO.LOW) self.tick(2)
def ReadAck(self): GPIO.setup(self.SDA, GPIO.IN) readbuffer =0 for i in range(8): GPIO.output(self.SCL, GPIO.HIGH) self.tick(2) readbuffer |= (GPIO.input(self.SDA)<< 7) >> i GPIO.output(self.SCL, GPIO.LOW) self.tick(2) GPIO.setup(self.SDA, GPIO.OUT) GPIO.output(self.SDA, GPIO.LOW) GPIO.output(self.SCL, GPIO.HIGH) self.tick(2) GPIO.output(self.SCL, GPIO.LOW) GPIO.output(self.SDA, GPIO.LOW) self.tick(2) return readbuffer
def ReadNack(self): GPIO.setup(self.SDA, GPIO.IN) readbuffer =0 for i in range(8): GPIO.output(self.SCL, GPIO.HIGH) self.tick(2) readbuffer |= (GPIO.input(self.SDA)<< 7) >> i GPIO.output(self.SCL, GPIO.LOW) self.tick(2) GPIO.setup(self.SDA, GPIO.OUT) GPIO.output(self.SDA, GPIO.HIGH) GPIO.output(self.SCL, GPIO.HIGH) self.tick(2) GPIO.output(self.SCL, GPIO.LOW) GPIO.output(self.SDA, GPIO.LOW) self.tick(2) return readbuffer
def __init__(self, channel, invert=False): from navio import adafruit_pwm_servo_driver as pwm from navio import util import RPi.GPIO as GPIO util.check_apm() #Navio+ requires the GPIO line 27 to be set to low #before the PCA9685 is accesed GPIO.setwarnings(False) GPIO.setmode(GPIO.BCM) GPIO.setup(27, GPIO.OUT) GPIO.output(27,GPIO.LOW) #GPIO.cleanup() self.frequency = 60 self.channel = channel self.invert = invert self.pwm = pwm.PWM() self.pwm.setPWMFreq(self.frequency)
def __init__(self, ready): Thread.__init__(self) self.ready = ready self.picked_up = False self.on = True self._ringer1 = 11 self._ringer2 = 13 self._button = 7 GPIO.setmode(GPIO.BOARD) GPIO.setwarnings(False) GPIO.setup(self._ringer1, GPIO.OUT) GPIO.output(self._ringer1, GPIO.LOW) GPIO.setup(self._ringer2, GPIO.OUT) GPIO.output(self._ringer2, GPIO.LOW) GPIO.setup(self._button, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) self._last_state = 0 self._last_ts = time.time() self._last_check = time.time() self._ring = 1 self.max_ring_cnt = 2
def __init__(self): GPIO.setmode(GPIO.BCM) GPIO.setup(self.dir_pin, GPIO.OUT) GPIO.setup(self.pulse_pin, GPIO.OUT) GPIO.setup(self.ms1_pin, GPIO.OUT) GPIO.setup(self.ms2_pin, GPIO.OUT) GPIO.setup(self.sleep_pin, GPIO.OUT) GPIO.setup(self.reset_pin, GPIO.OUT) dir=False GPIO.output(self.dir_pin, dir) GPIO.output(self.pulse_pin, False) GPIO.output(self.ms1_pin, True) GPIO.output(self.ms2_pin, False) GPIO.output(self.sleep_pin, False) GPIO.output(self.reset_pin, True) self.p1 = GPIO.PWM(self.pulse_pin, self.pulse_freq)
def main(): try: while True: for led in LEDS: for idx, pin in enumerate(led): if pin == O: GPIO.setup(PINS[idx], GPIO.IN) else: GPIO.setup(PINS[idx], GPIO.OUT) GPIO.output(PINS[idx], pin) time.sleep(.1) except KeyboardInterrupt: pass finally: GPIO.cleanup()
def main(): import RPi.GPIO as GPIO try: print('UNKNOWN:%d' % GPIO.UNKNOWN) print('SERIAL:%d' % GPIO.SERIAL) print('SPI:%d' % GPIO.SPI) print('I2C:%d' % GPIO.I2C) print('HARD_PWM:%d' % GPIO.HARD_PWM) GPIO.setmode(GPIO.BOARD) GPIO.setup(3, GPIO.OUT) for pin in range(1, 41): try: print('%02d: %d' % (pin, GPIO.gpio_function(pin))) except ValueError as ex: print(ex) finally: GPIO.cleanup()
def main(): import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) GPIO.setup(12, GPIO.OUT) p = GPIO.PWM(12, 50) try: p.start(0) for dc in range(0, 101, 5): p.ChangeDutyCycle(dc) time.sleep(0.1) for dc in range(100, -1, -5): p.ChangeDutyCycle(dc) time.sleep(0.1) finally: p.stop() GPIO.cleanup()
def main(): import RPi.GPIO as GPIO import time try: GPIO.setmode(GPIO.BCM) GPIO.setwarnings(False) GPIO.setup(18, GPIO.OUT) GPIO.setup(27, GPIO.IN) while True: time.sleep(1) finally: GPIO.cleanup()
def __init__(self, left_p=13, right_p=15, forward_p=12, backward_p=11, apply_time=0.3, wait_time=0): self.left_p = left_p self.right_p = right_p self.forward_p = forward_p self.backward_p = backward_p self.apply_time = apply_time self.wait_time = wait_time print("Setting up GPIO pins.") GPIO.setmode(GPIO.BOARD) GPIO.setup(self.backward_p, GPIO.OUT) # Backwards. GPIO.setup(self.forward_p, GPIO.OUT) # Forwards. GPIO.setup(self.left_p, GPIO.OUT) # Left. GPIO.setup(self.right_p, GPIO.OUT) # Right. # Reset in case they're still on from before. GPIO.output(self.backward_p, 0) GPIO.output(self.forward_p, 0) GPIO.output(self.left_p, 0) GPIO.output(self.right_p, 0)
def on_message(mosq, obj, msg): """ Handle incoming messages """ if msg.topic == MONITOR_REFRESH: refresh() return topicparts = msg.topic.split("/") pin = int(topicparts[len(topicparts) - 1]) try: value = int(float(msg.payload)) except ValueError: value = 0 if pin not in GPIO_OUTPUT_PINS: GPIO.setup(pin, GPIO.OUT, initial=GPIO.HIGH) GPIO_OUTPUT_PINS.append(pin) if topicparts[2] == 'in': if value == 1: GPIO.output(pin, GPIO.LOW) else: GPIO.output(pin, GPIO.HIGH) # End of MQTT callbacks
def __init__(self, data): GPIO.setmode(GPIO.BCM) GPIO.setwarnings(False) self.SPIMOSI = 23 self.SPIMISO = 24 self.SPICLK = 18 self.SPICS = 25 if "mosiPin" in data: self.SPIMOSI = data["mosiPin"] if "misoPin" in data: self.SPIMISO = data["misoPin"] if "clkPin" in data: self.SPICLK = data["clkPin"] if "csPin" in data: self.SPICS = data["csPin"] GPIO.setup(self.SPIMOSI, GPIO.OUT) GPIO.setup(self.SPIMISO, GPIO.IN) GPIO.setup(self.SPICLK, GPIO.OUT) GPIO.setup(self.SPICS, GPIO.OUT) if MCP3008.sharedClass == None: MCP3008.sharedClass = self #read SPI data from MCP3008 chip, 8 possible adc's (0 thru 7)
def init_gpio(self, rpi_settings): """ Initialize GPIO pin to a default value. Leds are off by default Mute button is set as an input :param rpi_settings: RpiSettings object """ # All led are off by default if self.rpi_settings.pin_led_muted: GPIO.setup(rpi_settings.pin_led_muted, GPIO.OUT, initial=GPIO.LOW) if self.rpi_settings.pin_led_started: GPIO.setup(rpi_settings.pin_led_started, GPIO.OUT, initial=GPIO.LOW) if self.rpi_settings.pin_led_listening: GPIO.setup(rpi_settings.pin_led_listening, GPIO.OUT, initial=GPIO.LOW) if self.rpi_settings.pin_led_talking: GPIO.setup(rpi_settings.pin_led_talking, GPIO.OUT, initial=GPIO.LOW) # MUTE button if self.rpi_settings.pin_mute_button: GPIO.setup(rpi_settings.pin_mute_button, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.add_event_detect(rpi_settings.pin_mute_button, GPIO.FALLING, callback=self.switch_kalliope_mute_led, bouncetime=500)
def __init__(self, clk_pin=11, data_pin=13, ce_pin=15): # init GPIO # no warnings GPIO.setwarnings(False) # use safer pin number (avoid GPIO renumber on each Pi release) GPIO.setmode(GPIO.BOARD) # set GPIO pins self._clk_pin = clk_pin self._data_pin = data_pin self._ce_pin = ce_pin # CLK and CE (sometime call RST) pin are always output GPIO.setup(self._clk_pin, GPIO.OUT, initial=GPIO.LOW) GPIO.setup(self._ce_pin, GPIO.OUT, initial=GPIO.LOW) # turn off WP (write protect) self._start_tx() self._w_byte(0x8e) self._w_byte(0x00) self._end_tx() # charge mode is disabled self._start_tx() self._w_byte(0x90) self._w_byte(0x00) self._end_tx()
def _w_byte(self, byte): """ Write byte to the chip. :param byte: byte value :type byte: int """ # data pin is now output GPIO.setup(self._data_pin, GPIO.OUT) # clock the byte to chip for _ in range(8): GPIO.output(self._clk_pin, GPIO.LOW) time.sleep(self.CLK_DELAY) # chip read data on clk rising edge GPIO.output(self._data_pin, byte & 0x01) byte >>= 1 GPIO.output(self._clk_pin, GPIO.HIGH) time.sleep(self.CLK_DELAY)
def turn_on(gpio_num, freq, dc): global g_led_pwm # print('turn_on: %d, %d, %d' % (gpio_num, freq, dc)) if not g_led_pwm.has_key(gpio_num): g_led_pwm[gpio_num] = {} GPIO.setup(gpio_num, GPIO.OUT) g_led_pwm[gpio_num]['obj'] = GPIO.PWM(gpio_num, freq) g_led_pwm[gpio_num]['obj'].start(0) g_led_pwm[gpio_num]['obj'].ChangeFrequency(freq) g_led_pwm[gpio_num]['obj'].ChangeDutyCycle(dc) g_led_pwm[gpio_num]['freq'] = freq g_led_pwm[gpio_num]['dc'] = dc g_led_pwm[gpio_num]['status'] = 'on' status_notify()
def RCtime (PiPin): measurement = 0 # Discharge capacitor GPIO.setup(PiPin, GPIO.OUT) GPIO.output(PiPin, GPIO.LOW) time.sleep(0.1) GPIO.setup(PiPin, GPIO.IN) # Count loops until voltage across # capacitor reads high on GPIO start = time.time() while (GPIO.input(PiPin) == GPIO.LOW): measurement += 1 end = time.time() # print end - start # return measurement return str(end - start) # Connects the socket
def RCtime (PiPin): measurement = 0 # Discharge capacitor GPIO.setup(PiPin, GPIO.OUT) GPIO.output(PiPin, GPIO.LOW) time.sleep(0.1) GPIO.setup(PiPin, GPIO.IN) # Count loops until voltage across # capacitor reads high on GPIO start = time.time() while (GPIO.input(PiPin) == GPIO.LOW): measurement += 1 end = time.time() # print end - start # return measurement return str(end - start) # Main program loop
def ResetIOT_HW(cls, bMode): """Set Raspberry pi GPIO pins and reset RF Explorer device Parameters: bMode -- True if the baudrate is set to 500000bps, False to 2400bps """ try: import RPi.GPIO as GPIO #print("RPi info: " + str(GPIO.RPI_INFO)) #information about your RPi: #print("RPi.GPio version: " + GPIO.VERSION) #version of RPi.GPIO: GPIO.setwarnings(False) GPIO.setmode(GPIO.BOARD) #refer to the pin numbers on the P1 header of the Raspberry Pi board GPIO.setup(12, GPIO.OUT) #set /reset (pin 12) to output GPIO.output(12, False) #set /reset (pin 12) to LOW GPIO.setup(21, GPIO.OUT) #set GPIO2 (pin 21) to output GPIO.output(21, bMode) #set GPIO2 (pin 21) to HIGH (for 500Kbps) time.sleep(0.1) #wait 100ms GPIO.output(12, True) #set /reset to HIGH time.sleep(2.5) #wait 2.5sec GPIO.setup(21, GPIO.IN) #set GPIO2 to input GPIO.cleanup() #clean up GPIO channels except RuntimeError: print("Error importing RPi.GPIO! This is probably because you need superuser privileges. You can achieve this by using 'sudo' to run your script")
def light_sense(): count = 0 #Output on the pin for GPIO.setup(pin_to_circuit, GPIO.OUT) GPIO.output(pin_to_circuit, GPIO.LOW) time.sleep(0.1) #Change the pin back to input GPIO.setup(pin_to_circuit, GPIO.IN) #Count until the pin goes high while (GPIO.input(pin_to_circuit) == GPIO.LOW): count += 1 if (count > 3000): led5_on() return count else: led5_off() return count
def _setup_pin(self, pin): self._logger.debug(u"_setup_pin(%s)" % (pin,)) if pin: p = None if self._pigpiod is None: self._pigpiod = pigpio.pi() if self._settings.get_boolean(['pigpiod']): if not self._pigpiod.connected: self._logger.error(u"Unable to communicate with PiGPIOd") else: p = PiGPIOpin(self._pigpiod, pin, self._logger) else: GPIO.setwarnings(False) GPIO.setmode(GPIO.BOARD) GPIO.setup(pin, GPIO.OUT) GPIO.output(pin, GPIO.HIGH) p = GPIO.PWM(pin, 100) p.start(100) return p
def __init__(self, direction_channel, pwm=None, offset=True): '''Init a motor on giving dir. channel and PWM channel.''' if self._DEBUG: print self._DEBUG_INFO, "Debug on" self.direction_channel = direction_channel self._pwm = pwm self._offset = offset self.forward_offset = self._offset self.backward_offset = not self.forward_offset self._speed = 0 GPIO.setwarnings(False) GPIO.setmode(GPIO.BCM) if self._DEBUG: print self._DEBUG_INFO, 'setup motor direction channel at', direction_channel print self._DEBUG_INFO, 'setup motor pwm channel as', self._pwm.__name__ GPIO.setup(self.direction_channel, GPIO.OUT)
def note(frequency, duration=1.0): """Play a single note. :param frequency: Musical frequency in hertz :param duration: Optional duration in seconds, use None to sustain note """ global _timeout if frequency <= 0: raise ValueError("Frequency must be > 0") if duration is not None and duration <= 0: raise ValueError("Duration must be > 0") clear_timeout() pwm.ChangeFrequency(frequency) GPIO.setup(BUZZER, GPIO.OUT) if duration is not None and duration > 0: _timeout = Timer(duration, stop) _timeout.start()
def __init__(self, no, dir=IN): self.gpio_no = no print("GPIO ########## self.gpio_no, dir={}, {}".format(self.gpio_no, dir)) GPIO.setmode(GPIO.BCM) #GPIO.setmode(GPIO.BOARD) if dir==Pin.IN: GPIO.setup(self.gpio_no, GPIO.IN) print("GPIO >>>>>>>>>>>>>>>>>>>>>>>>>>> IN") else: GPIO.setup(self.gpio_no, GPIO.OUT) print("GPIO <<<<<<<<<<<<<<<<<<<<<<<<<< OUT")
def setup_GPIO(): GPIO.setwarnings(False) GPIO.setmode(GPIO.BOARD) GPIO.setup(7, GPIO.OUT) GPIO.setup(37, GPIO.OUT) GPIO.setup(35, GPIO.IN)
def setup_GPIO(): GPIO.setmode(GPIO.BOARD) GPIO.setup(7, GPIO.OUT) GPIO.setup(37, GPIO.OUT)
def switchOnLight(PIN): GPIO.setup(PIN, GPIO.OUT) GPIO.output(PIN, True)
def switchOffLight(PIN): GPIO.setup(PIN, GPIO.OUT) GPIO.output(PIN, False)
def startup(self): # funciton that starts th GPIO board and pin required GPIO.setmode(GPIO.BOARD) GPIO.setup(self.channel, GPIO.OUT) self.pwm = GPIO.PWM(self.channel, self.frequency) self.pwm.start(self.frequency)
def __init__(self, name = ''): self.importlib = GPIO self.logger = com_logger.Logger(name) # self.setwarnings(False) self.IN = GPIO.IN if GPIO is not None else None self.OUT = GPIO.OUT if GPIO is not None else None self.LOW = GPIO.LOW if GPIO is not None else None self.HIGH = GPIO.HIGH if GPIO is not None else None self.PUD_UP = GPIO.PUD_UP if GPIO is not None else None self.PUD_DOWN = GPIO.PUD_DOWN if GPIO is not None else None self.RISING = GPIO.RISING if GPIO is not None else None
def reset_led(self): GPIO.setmode(GPIO.BOARD) GPIO.setwarnings(False) for gpio in self.gpios: gpio = int(gpio) GPIO.setup(gpio, GPIO.OUT) GPIO.output(gpio, GPIO.HIGH)
def __init__(self): gpio.setmode(gpio.BOARD) # set up and init self.trigger = 11 self.echo = 13 gpio.setup(self.trigger, gpio.OUT) gpio.setup(self.echo, gpio.IN) self.pulse_start = 0. self.pulse_end = 0. self.speed_of_sound = 343 * 100 self.car_length = 1
def _GPIO_Power_Regist(pins): GPIO.setmode(GPIO.BOARD) GPIO.setwarnings(False) GPIO.setup( pins , GPIO.OUT) return
def _read_data(self): self.data=[] # reset GPIO.setup( self.pin , GPIO.OUT) GPIO.output( self.pin , GPIO.LOW) time.sleep(0.03) # ????18ms GPIO.setup( self.pin , GPIO.IN) count=0 while GPIO.input( self.pin ) == GPIO.HIGH: continue while GPIO.input( self.pin ) == GPIO.LOW: continue # ????80us??????? while GPIO.input( self.pin ) == GPIO.HIGH: count += 1 continue base = count / 2 # Get data while len(self.data)< DHT11_DATA_LEN*8: i = 0 # ??50us????? while GPIO.input( self.pin ) == GPIO.LOW: continue # ?????????26-28us??0?????70us??1 while GPIO.input( self.pin ) == GPIO.HIGH: i += 1 if i > 100: #????? break if i < base: self.data.append(0) else: self.data.append(1) #print("DHT11 get data: ", self.data)
def detect(run_event): isDetected = False GPIO.setmode(GPIO.BOARD) GPIO.setup(11, GPIO.IN) # Set GPIO 11 pin as input GPIO.setup(12,GPIO.OUT) GPIO.setup(16,GPIO.OUT) while run_event.is_set(): i=GPIO.input(11) if i==0: # if don't detect signal #print "\033[95mNobody detected.\033[0m",i GPIO.output(12,GPIO.HIGH) GPIO.output(16,GPIO.LOW) isDetected = False time.sleep(0.1) if i==1 and isDetected == False: # if detect signal GPIO.output(16,GPIO.HIGH) GPIO.output(12,GPIO.LOW) print "\033[92mSomeone detected.\033[0m --> " + time.strftime("%H:%M:%S") bot.send_message(admin, "Someone detected --> " + time.strftime("%H:%M:%S")) for i in range(1, 6, 4): print i name=video(3*i, frameRate) #One video of 3 seconds and another of 15 if (name == "error"): bot.send_message (admin, "The camera is busy now.") else: bot.send_document(admin, open(name, 'rb')) #bot.send_document(admin, open('media/video/' + video(3), 'rb')) #bot.send_document(admin, open('media/video/' + video(15), 'rb')) print "ya" isDetected = True GPIO.cleanup()
def __init__(self, **kwargs): self.pump_pin = kwargs["pump_pin"] self.lights_pin = kwargs["lights_pin"] self.pump_default_on = kwargs["pump_default_on"] self.lights_default_on = kwargs["lights_default_on"] GPIO.setmode(GPIO.BOARD) GPIO.setup(self.pump_pin, GPIO.OUT) GPIO.setup(self.lights_pin, GPIO.OUT)
def __init__(self, **kwargs): self.pump_pin = kwargs["pump_pin"] self.lights_pin = kwargs["lights_pin"] self.pump_default_on = kwargs["pump_default_on"] self.lights_default_on = kwargs["lights_default_on"] print "GPIO.setmode(GPIO.BOARD)" print "GPIO.setup({}, GPIO.OUT)".format(self.pump_pin) print "GPIO.setup({}, GPIO.OUT)".format(self.lights_pin)