问题标签 [gpiozero]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
62 浏览

python-3.x - 使用按钮退出石头剪刀布游戏

编程新手,请多多包涵......

我有一个完美运行的摇滚/纸/剪刀游戏。我知道我可能可以用我实际使用的代码的 10% 来完成它,但是请用我的代码向我解释一下,这是我目前的理解方式。我想在代码中的某处添加一个按钮(GPIO03)以完全退出游戏。我已经尝试了 2 天。but.is_pressed,but.wait_for_press 等等。我就是无法让它工作。也许有些东西我还不知道,或者我只是用错了。当在游戏中的任何位置按下按钮时,有人可以添加或更改代码以完全退出游戏吗?我已经无计可施了......

谢谢

0 投票
0 回答
132 浏览

python - Openhab2 exec 使用 pigpio 和 gpiozero 绑定到外部 rpi

在机器 A 上使用 openhab2。机器 B 是控制继电器的 RPi。使用机器 a 中的 pigpio 和 gpiozero 来控制机器 b 的 gpio 引脚。

使用下面的脚本进行测试。我怎样才能重写它以便openhab中的开/关功能起作用?截至目前,它只是在开和关之间循环。请帮助一个菜鸟

0 投票
1 回答
863 浏览

python - 带有 Raspberry Pi 的步进电机仅适用于 GPIOZero 的一些延迟时间

我正在尝试使用 Python 和 GPIOZero 将带有 ULN2003 驱动板的步进电机 28BYJ-48 连接到 Raspberry Pi Model 3 B。我用我找到的几个不同的例子编写了一些有效的代码,现在我可以让电机朝任一方向转动。但是,存在时间延迟问题。逆时针转动时,代码使用从 2 毫秒一直到 50 毫秒的任何延迟时间工作。然而,在顺时针方向上,它仅在 2 和 3 毫秒延迟下工作,但没有其他延迟时间。很奇怪。

代码看起来像这样(非常粗糙 - 只是试图证明这个概念):

0 投票
0 回答
26 浏览

button - 为什么我的 gpio 按钮在连接到 hdmi 时可以工作,但如果没有,它会自动触发树莓派中的按钮?

我还是 python 的新手,我想知道当我从桌面显示器切换到 3.5 TFT LCD 显示器时,如果连接了 hdmi,我尝试使用按钮 gpio 按钮可以工作,但是如果我删除它,它会自动触发按钮我按它。顺便说一句,我使用 gpiozero 作为按钮。有人可以帮忙吗?

0 投票
1 回答
161 浏览

python - GPIOZero Pi 报警系统:需要替代时间延迟

我需要帮助我使用 GPIOZero 库构建的警报系统代码(我的老板真的很喜欢这个库)。该系统适用于笔记本电脑推车,因此人们不会忘记关门,因为如果人们将门打开太久,蜂鸣器就会响起。所以我想要它做的非常简单,但它总是等待函数完成,然后再进行下一个:

如果门打开:记录时间,时间延迟,蜂鸣器打开

如果门关闭/关闭:蜂鸣器关闭,记录时间

有没有办法不等待函数在 GPIOZero 库中完成。请告诉我!

0 投票
1 回答
3348 浏览

python - 继续运行循环,直到使用 gpiozero 按下按钮 - 未注册按钮按下

我在树莓派上有一些 python 代码,我想运行并继续循环,直到按下按钮。

button.wait_for_press() 不适合,因为它会暂停程序直到它运行,但我已经尝试过,看看硬件是否正常工作。

当我运行此代码时,按钮按下根本没有注册。

我做错了什么?

编辑:所以我在 shutterPressed() 函数中添加了一个打印语句,并确认它在按下按钮时正在运行。

In 还添加了一条语句,用于在 if 语句之前打印 shutterHasBeenPressed 的值。这从未改变过虚假。

但是,如果我在循环开始时删除了将变量更改为 false 的行,那么代码就可以工作,因此显然与运行各种位时有关。也许在 shutterPressed() 函数运行后,while 循环会再次启动?

无论哪种方式,我都通过将变量的重新分配移动到 if 语句之后来修复它。

0 投票
2 回答
356 浏览

python - button.when_pressed 中引用函数的返回值

我试图将函数的返回值存储在变量中。当按下 Raspberry Pi gpiozero 按钮时(通过引用)调用该函数。

1按下按钮时,它将2按预期打印。

但是如何存储fcninto的返回值,i以便在每次按下按钮时递增?

编辑:我开始when_activated参考的原因是在我的主脚本中,我有多个按钮和多个功能,可以按任何顺序按下,并且应该将变量相互传递。像这样的东西:

实际上我也在传递datetime物体。

0 投票
2 回答
117 浏览

python-3.x - 如何使 LED 闪烁并同时更改形状的填充颜色?

我正在为实时汽车转向信号编写代码。

我可以做一个 LED 闪光灯,我可以让一个多边形改变它的填充颜色来模拟一个转向信号。

这适用于领导:

这适用于形状填充:

这是我尝试过的,但没有奏效:

这是根据您的建议的新代码:

这是错误:

请帮忙。:)

我希望多边形和 LED 同步“闪烁”。我可以用谨慎的功能让它们单独闪烁,但不能一起闪烁。当我尝试在一个函数中调用这两个函数时,如上所述,灯会亮起,填充颜色会改变一次。

0 投票
2 回答
449 浏览

python-3.x - 如何使用 gpiozero 机器人库通过 L298N 更改电机速度

在我的树莓派中,我需要用 L298N 运行两个电机。我可以在启用引脚上使用 pwm 来改变速度。但我看到 gpiozero 机器人库可以让事情变得更容易。但是当使用 gpiozero 机器人库时,我如何通过给启用引脚提供信号来改变这些电机的速度。

0 投票
1 回答
220 浏览

python - GPIO 零:MotionSensor.value 未实时更新

运行以下简单代码时,我希望 [while True] 返回与 pir 运动传感器状态相关的 1 和 0 的无穷无尽的流。但是,一旦触发,即使动作结束,我也只能得到 1 秒。如果我做相反的事情(即,将循环放入 when_no_motion),我会得到一串 0... pir.value 似乎没有更新。

有什么线索吗?

提前致谢!

还可能值得注意的是,当我尝试使用 GPIOZero Button 而不是 MotionSensor 时,它工作正常,给了我一个 1 和 0 的流,与 Button 值相关......