當前位置: 首頁>>代碼示例>>Python>>正文


Python gpiozero.Button方法代碼示例

本文整理匯總了Python中gpiozero.Button方法的典型用法代碼示例。如果您正苦於以下問題:Python gpiozero.Button方法的具體用法?Python gpiozero.Button怎麽用?Python gpiozero.Button使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在gpiozero的用法示例。


在下文中一共展示了gpiozero.Button方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: __init__

# 需要導入模塊: import gpiozero [as 別名]
# 或者: from gpiozero import Button [as 別名]
def __init__(self):
        self.led_queue = mp.Queue()
        self.demo_mode = mp.Lock()

        self.led_process = mp.Process(target=led_control, args=(self.led_queue, self.demo_mode,))

        self.shutting_down = False
        self.last_button_release = 0
        self.show_end_of_lines = False

        # The button has multiple functions:
        # Turn the device on when off, single press to show the end of long lines on the display,
        # double press to start demo mode, single press to stay at one animation in demo mode,
        # long press to shut down
        self.button = Button(3, hold_time=2, bounce_time=0.05)
        self.button.when_held = self.shutdown
        self.button.when_released = self.button_pressed

        self.tft = SattrackerTFT()

        self.tle_updated_time = None

        self.tracker = None  # load in start because it takes quite a long time

        self.led_array = led_array_from_constants() 
開發者ID:PaulKlinger,項目名稱:satellite_tracker,代碼行數:27,代碼來源:main.py

示例2: ReadProperty

# 需要導入模塊: import gpiozero [as 別名]
# 或者: from gpiozero import Button [as 別名]
def ReadProperty(self, obj, arrayIndex=None):
        if _debug:
            BIPresentValue._debug("ReadProperty %r arrayIndex=%r", obj, arrayIndex)

        # access an array
        if arrayIndex is not None:
            raise ExecutionError(
                errorClass="property", errorCode="propertyIsNotAnArray"
            )
        

        ###TODO: obj._button is the Button object
        
        if _debug:
            BIPresentValue._debug("    - read button: %r", obj._button)

        if obj._button.is_pressed:
            return "active"
        
        else:
            return "inactive" 
開發者ID:JoelBender,項目名稱:bacpypes,代碼行數:23,代碼來源:binaryio.py

示例3: index

# 需要導入模塊: import gpiozero [as 別名]
# 或者: from gpiozero import Button [as 別名]
def index(led_number="n"):
    if led_number != "n":
        leds[int(led_number)].toggle()
    response = "<script>"
    response += "function changed(led)"
    response += "{"
    response += "  window.location.href='/' + led"
    response += "}"
    response += "</script>"
    
    response += '<h1>GPIO Control</h1>'
    response += '<h2>Button=' + switch_status() + '</h2>'
    response += '<h2>LEDs</h2>'
    response += html_for_led(0) 
    response += html_for_led(1) 
    response += html_for_led(2) 
    return response 
開發者ID:simonmonk,項目名稱:raspberrypi_cookbook_ed3,代碼行數:19,代碼來源:ch_16_web_control.py

示例4: listen

# 需要導入模塊: import gpiozero [as 別名]
# 或者: from gpiozero import Button [as 別名]
def listen(gpio_num, log_path, *args):
    button = Button(gpio_num)

    def pressed():
         #print( " Button Pressed " )
         listen.press_start = time.time()

    def released():
        #print( " Button released " )
        listen.press_end = time.time()

    button.wait_for_press()
    pressed()
    button.wait_for_release()
    released()
    duration = listen.press_end - listen.press_start
    print(duration)
    log_button_presss(log_path, duration) 
開發者ID:Pragmatismo,項目名稱:Pigrow,代碼行數:20,代碼來源:watcher_button.py

示例5: pressed

# 需要導入模塊: import gpiozero [as 別名]
# 或者: from gpiozero import Button [as 別名]
def pressed(button):
    button_name = button_map[button.pin.number]
    print(f"Button {button_name} pressed!") 
開發者ID:pimoroni,項目名稱:scroll-phat-hd,代碼行數:5,代碼來源:buttons.py

示例6: pressed

# 需要導入模塊: import gpiozero [as 別名]
# 或者: from gpiozero import Button [as 別名]
def pressed(button):
    global splash_origin, splash_time
    button_name, x, y = button_map[button.pin.number]
    splash_origin = (x, y)
    splash_time = time.time()
    print(f"Button {button_name} pressed!") 
開發者ID:pimoroni,項目名稱:scroll-phat-hd,代碼行數:8,代碼來源:button-splash.py

示例7: __init__

# 需要導入模塊: import gpiozero [as 別名]
# 或者: from gpiozero import Button [as 別名]
def __init__(self, button_id, **kwargs):
        if _debug:
            RPiBinaryInput._debug("__init__ %r %r", button_id, kwargs)
        BinaryInputObject.__init__(self, **kwargs)

        # create a button object
        self._button = Button(button_id)


#
#   BOPresentValue
# 
開發者ID:JoelBender,項目名稱:bacpypes,代碼行數:14,代碼來源:binaryio.py

示例8: WriteProperty

# 需要導入模塊: import gpiozero [as 別名]
# 或者: from gpiozero import Button [as 別名]
def WriteProperty(self, obj, value, arrayIndex=None, priority=None, direct=False):
        if _debug:
            BOPresentValue._debug(
                "WriteProperty %r %r arrayIndex=%r priority=%r direct=%r",
                obj,
                value,
                arrayIndex,
                priority,
                direct,
            )

        # access an array
        if arrayIndex is not None:
            raise ExecutionError(
                errorClass="property", errorCode="propertyIsNotAnArray"
            )

        ###TODO: obj._button is the Button object
        if _debug:
            BOPresentValue._debug("    - write led: %r", obj._led)

        #raise ExecutionError(errorClass="property", errorCode="writeAccessDenied")

        if value == "active":
            obj._led.on()
        elif value == "inactive":
            obj._led.off()
        else:
            ### TODO: insert correct value error. Below is a placeholder.
            print("invalid value for led. Use 'active' to turn on or 'inactive' to turn off.")


#
#   RPiBinaryOutput
# 
開發者ID:JoelBender,項目名稱:bacpypes,代碼行數:37,代碼來源:binaryio.py

示例9: __init__

# 需要導入模塊: import gpiozero [as 別名]
# 或者: from gpiozero import Button [as 別名]
def __init__(self):

        super().__init__()

        import gpiozero
        self.LED = gpiozero.LED
        self.RGBLED = gpiozero.RGBLED
        self.Button = gpiozero.Button
        self.GPIOPinInUse = gpiozero.GPIOPinInUse

        self._buttons = []
        self._lamps = []
        self._rgb = [] 
開發者ID:reuterbal,項目名稱:photobooth,代碼行數:15,代碼來源:__init__.py

示例10: setButton

# 需要導入模塊: import gpiozero [as 別名]
# 或者: from gpiozero import Button [as 別名]
def setButton(self, bcm_pin, handler):

        try:
            self._buttons.append(self.Button(bcm_pin))
            self._buttons[-1].when_pressed = handler
        except self.GPIOPinInUse:
            logging.error('Pin {} already in use!'.format(bcm_pin)) 
開發者ID:reuterbal,項目名稱:photobooth,代碼行數:9,代碼來源:__init__.py

示例11: do_stuff

# 需要導入模塊: import gpiozero [as 別名]
# 或者: from gpiozero import Button [as 別名]
def do_stuff():
    print("Button Pressed") 
開發者ID:simonmonk,項目名稱:raspberrypi_cookbook_ed3,代碼行數:4,代碼來源:ch_12_switch_2.py

示例12: accept_button_callback

# 需要導入模塊: import gpiozero [as 別名]
# 或者: from gpiozero import Button [as 別名]
def accept_button_callback():
	global button_input_received

	accept_button_callback_logger = logging.getLogger('button_utils.accept_button_callback')

	accept_button_callback_logger.info("$$$$$$$$$$$$$$ Accept Button was pushed! $$$$$$$$$$$$$$")
	button_input_received = config.__ACCEPT_INPUT__
	accept_button_callback_logger.info("All done with the button callback!")

	return 
開發者ID:aws-samples,項目名稱:aws-builders-fair-projects,代碼行數:12,代碼來源:button_utils.py

示例13: choice_button_callback

# 需要導入模塊: import gpiozero [as 別名]
# 或者: from gpiozero import Button [as 別名]
def choice_button_callback():
	global button_input_received

	choice_button_callback_logger = logging.getLogger('button_utils.choice_button_callback')

	choice_button_callback_logger.info("############### Choice Button was pushed! #################")
	button_input_received = config.__CHOOSE_AGAIN__

	choice_button_callback_logger.info("All done with the button callback!")

	return 
開發者ID:aws-samples,項目名稱:aws-builders-fair-projects,代碼行數:13,代碼來源:button_utils.py

示例14: main

# 需要導入模塊: import gpiozero [as 別名]
# 或者: from gpiozero import Button [as 別名]
def main():
    # parse the command line arguments
    args = ConfigArgumentParser(description=__doc__).parse_args()

    if _debug:
        _log.debug("initialization")
    if _debug:
        _log.debug("    - args: %r", args)

    # make a device object
    this_device = LocalDeviceObject(
        objectName=args.ini.objectname,
        objectIdentifier=("device", int(args.ini.objectidentifier)),
        maxApduLengthAccepted=int(args.ini.maxapdulengthaccepted),
        segmentationSupported=args.ini.segmentationsupported,
        vendorIdentifier=int(args.ini.vendoridentifier),
    )

    # make a sample application
    this_application = BIPSimpleApplication(this_device, args.ini.address)

    # make the buttons
    for button_id, bio_id in button_list:
        bio = RPiBinaryInput(
            button_id,
            objectIdentifier=("binaryInput", bio_id),
            objectName="Button-%d" % (button_id,),
        )
        _log.debug("    - bio: %r", bio)
        this_application.add_object(bio)

    # make the LEDs
    for led_id, boo_id in led_list:
        boo = RPiBinaryOutput(
            led_id,
            objectIdentifier=("binaryOutput", boo_id),
            objectName="LED-%d" % (led_id,),
        )
        _log.debug("    - boo: %r", boo)
        this_application.add_object(boo)

    _log.debug("running")

    run()

    _log.debug("fini") 
開發者ID:JoelBender,項目名稱:bacpypes,代碼行數:48,代碼來源:binaryio.py

示例15: startgreen

# 需要導入模塊: import gpiozero [as 別名]
# 或者: from gpiozero import Button [as 別名]
def startgreen():
    # Remember all code in the function is indented

# Turn the green off and the amber on for 3 seconds
# ('Pedestrian' red LED stays lit)
def steadyamber():
    # Remember all code in the function is indented

# Turn the amber off, and then the red on for 1 second
def steadyred():
    # Remember all code in the function is indented

# Sound the buzzer for 4 seconds
# (If you have the 'pedestrian' LEDs, turn the red off and green on)
def startwalking():
    # Make the buzzer buzz on and off, half a second of
    # sound followed by half a second of silence

# Turn the buzzer off and wait for 2 seconds
# (If you have a second green 'pedestrian' LED, make it flash on and
# off for the two seconds)
def dontwalk():
    # Remember all code in the function is indented

# Flash the amber on and off for 6 seconds
# (And the green 'pedestrian' LED too)
def flashingambergreen():
    # Remember all code in the function is indented

# Flash the amber for one more second
# (Turn the green 'pedestrian' LED off and the red on)
def flashingamber():
    # Remember all code in the function is indented

# Go through the traffic light sequence by calling each function
# one after the other.
def trafficlightqequence():
    # Remember all code in the function is indented

os.system('clear')  # Clears the terminal
print("Traffic Lights")
# Initialise the traffic lights
startgreen()

# Here is the loop that waits at lease 20 seconds before
# stopping the cars if the button has been pressed
while True:  # Loop around forever
    buttonnotpressed = True  # Button has not been pressed
    start = time.time()  # Records the current time
    while buttonnotpressed:  # While the button has not been pressed
        time.sleep(0.1)  # Wait for 0.1s
        if button.ispressed:  # If the button is pressed
            now = time.time()
            buttonnotpressed = False  # Button has been pressed
            if (now - start) <= 20:  # If under 20 seconds
                time.sleep(20 - (now - start))  # Wait until 20s is up
                trafficlightqequence()  # Run the traffic light sequence 
開發者ID:CamJam-EduKit,項目名稱:EduKit1,代碼行數:59,代碼來源:7-TrafficLights.py


注:本文中的gpiozero.Button方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。