本文整理汇总了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()
示例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"
示例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
示例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)
示例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!")
示例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!")
示例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
#
示例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
#
示例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 = []
示例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))
示例11: do_stuff
# 需要导入模块: import gpiozero [as 别名]
# 或者: from gpiozero import Button [as 别名]
def do_stuff():
print("Button Pressed")
示例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
示例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
示例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")
示例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