我正在尝试将函数的返回值存储在变量中。当按下Raspberry Pi gpiozero按钮时(通过引用)调用该函数。 from gpiozero import Button
from signal import pause
def fcn(a):
print(a)
b = a + 1
print(b)
return b
btn = Button(26)
i = 1
btn.when_activated = lambda: fcn(i) # returns 2
pause() 当按下按钮时,它将按预期打印1和2。 但是,我如何将fcn的返回值存储到i中,
我对Rust还不熟悉,我很难理解如何在无限循环中使用阻塞代码的tokio。我有两个按钮连接到我的覆盆子Pi 3,我想听任一按钮被按。我用rust_gpiozero机箱做这个。
以下是按钮代码:
use rust_gpiozero::*;
let mut button = Button::new(19);
button.wait_for_press(None); // blocking here
我不知道如何持续监听主代码中的任何一个按钮。我想我应该使用tokio::task::spawn_blocking,但我不确定如何使用。就像这样:
#[tokio::main]
async fn main
当运行下面的简单代码时,我希望while True返回一个无休止的1和0流,这与pir运动传感器状态有关。然而,一旦触发,即使运动结束,我也只能得到1。如果我反其道而行之(例如,将循环放入when_no_motion中),我会得到一个0字符串……pir.value似乎没有更新。
有什么线索吗?
提前感谢!
from signal import pause
from gpiozero import MotionSensor
pir = MotionSensor(4, queue_len=1)
def do_motion_detected():
while True:
print(
第一次发帖,只学了3周的Python .
我正在尝试创建一个游戏,其中两个玩家必须等待蜂鸣器声音连接到一个面包板,然后按一个按钮,看看谁是第一。
在我试图添加一种记分的方法之前,这个方法很好。现在,当游戏运行时,蜂鸣器不会停止,当按下按钮时,我会收到几条在窗口重复的错误消息。有人能帮我看看我做错了什么吗?
from gpiozero import Button, LED, Buzzer
from time import time, sleep
from random import randint
led1 = LED(17)
led2 = LED(27)
btn1 = Button(14)
我用gpiozero做了一个for循环,只需按一下按钮就能做乘法表,并想长按退出循环。
最初我以为我可以做一个函数,里面有一个break,它会长时间按下退出循环,但由于break在循环之外,我得到了一个语法错误,无论我期望它会被解释为退出函数,而不是函数被调用的循环。
另一个想法是这样做- when false退出所有循环- for循环中的命令将条件切换为false。这是我在任何教程中都没有涉及到的内容,我也不确定我应该搜索哪些术语来了解是否可以做到这一点。
我如何才能做到这一点?
import gpiozero
import time
from signal import pause
bu
我需要帮助我的警报系统代码,我正在构建的GPIOZero库(我的老板非常喜欢这个库)。该系统是为笔记本电脑推车,所以人们不会忘记关闭门,因为有一个蜂鸣器响,如果人们把它打开太长时间。因此,我希望它所做的事情非常简单,但它总是等待函数完成,然后再转到下一个:
如果门打开:日志时间,时间延迟,蜂鸣器打开
如果门关闭/关闭:蜂鸣器关闭,记录时间
是否有一种方法不等待函数在GPIOZero库中完成。请让我知道!
from gpiozero import Button
from signal import pause
from gpiozero import Buzzer
from gpiozero i
from twython import Twython
from time import sleep
from gpiozero import LED, Buzzer, InputDevice, Button
import RPi.GPIO as GPIO
import sys
import Adafruit_DHT
from signal import pause
import mysql.connector
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(13,GPIO.OUT)
no_rain = InputDevi
Python 3.7.3和Raspberry Pi 4控制台应用程序和1个瞬间按钮 我当前的python脚本将启动并等待按钮的按下,以开始播放硬编码歌曲。 我需要的是让我的python脚本在按下按钮时开始播放一首硬编码的歌曲,并能够再次按下相同的按钮来停止该歌曲。或者,至少使用第二个按钮来“重置”歌曲,并使系统返回到等待第一个按钮按下开始歌曲。 我使用gpiozero按钮和when_pressed事件来调用一个函数来播放歌曲。 有什么想法吗? from pydub import AudioSegment
from pydub.playback import play
from gpiozer
如何检查JButton是否已按下?我知道有一种方法的名称是"isEnabled“。
所以我试着写一个代码来测试。
这段代码有两个J按钮,它们是“添加”按钮和“签出”按钮。
当我按下"Add“按钮后,当我按下"Checkout”按钮时,代码将显示"Add按钮被按下“消息,但是如果在按下"Checkout”按钮之前没有按下"Add“按钮,则代码将显示"Add button is not按下”消息。
在这里,代码:
final JButton btnAdd = new JButton("Add");
btnAdd
我的应用程序有24个按钮来计算不同的车辆类型和方向(这个应用程序将用于计算交通流量)。目前,每次按下按钮时,我都会将一行保存到.csv文件中。csv文件包含时间戳、方向等。
我必须测量每个按钮在15分钟内被按下的次数。
我应该如何存储按钮的计数器?我只需要输出在15分钟内按下每个按钮(每个按钮都有一个不同的标识标签)的频率。
我在考虑使用HashMap,它可以将按钮的标记作为键,将出现的次数作为值,如下所示:
HashMap<String, Integer> hm = new HashMap<String, Integer>();
Integer value = (I
我正在研究一个气象站(raspberry pi),我正在使用python。我开发了一个正在工作的程序,但现在我决定更新我的代码并构建所有的东西(生成类等等)。但是现在我遇到了来自gpiozero的Button的两个问题。
首先,当我试图在一个函数或类Button.when_pressed 中分配一个函数时,当按钮被按下时,这个函数就不会被调用。
下面的代码只是尽量少使用代码的一个示例:
from gpiozero import Button
import time
number = 0
def function_that_gets_called():
global number
我对RaspberryPi、Debian和Python非常陌生。
我已经将我的Raspberry Pi 2 Model B v1.1配置为许多有帮助的网站和人员提供的所有建议。然而,当我想启动一个基于GPIOZERO的基本项目来控制一些按钮和LED时,我不能使用:"from gpiozero import LED,Button“命令。输出报告如下:
> Traceback (most recent call last):
> File "", line 1, in
> File "/usr/lib/python2.7/dist-package
对于一个项目,我试着用连接到我的树莓派上的相机拍照,然后按下一个按钮,然后用Gmail发送照片。 到目前为止,我只知道如何在按下按钮后拍照(见代码),但我仍然没有学会如何在拍照后发送一封带有照片的电子邮件。顺便说一句,我希望照片被拍摄和发送的电子邮件只在一个按钮按下完成。另外,我使用的是IDLE python 3。 from gpiozero import Button
from picamera import PiCamera
from signal import pause
import time
camera = PiCamera()
def take_picture_with_