我为raspberrypi中的GPIO引脚写了一个这样的脚本。
from gpiozero import LED
led = LED(12)
并且运行正常。但当创建可执行文件时使用pyinstaller,并执行文件。我有这个错误:
/tmp/_MEIFanWCr/gpiozero/devices.py:279: PinFactoryFallback: Falling back from rpigpio: No module named 'gpiozero.pins.rpigpio'
/tmp/_MEIFanWCr/gpiozero/devices.py:279: PinFact
我试着用我的覆盆子皮电子套件来运行一个LED程序。我的代码是:
from gpiozero import led
from signal import pause
led = LED(4)
led.blink()
pause()
抛出
Traceback (most recent call last):
File "/home/pi/python-projects/led.py", line 1, in <module>
from gpiozero import led
ImportError: cannot import name 'le
我使用的是Raspberry Pi 3型号B。
我使用gpiozero和RPi.GPIO尝试了不同的方法。无论使用哪种库,都会出现问题。
以下是使用gpiozero时失败的代码示例。
from gpiozero import Button
from signal import pause
def handle():
print("Pressed!")
button = None
while not button:
try:
button = Button(4, pull_up=True)
button.when_pressed
我对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
在我的Raspberry pi zero上构建了Python3.7,试图从Python3.5.3升级。构建成功了,遇到了smbus的模块not found,并将其切换到smbus2,现在当我导入gpiozero时,我得到了module not found。我的DungeonCube.py程序在Python3.5.3下工作得很好,但是现在Python3.7似乎很难找到gpiozero
这是我做的测试:
python3
Python 3.7.0 (default, Sept 7 2018, 14:22:04)
[GCC 6.3.0 20170516] on linux
Type "help
我正试图通过python从windows机器控制与Raspberry Pi Zero 2w连接的电机和伺服系统。我对RasPi没有多大的解释,但我设法通过远程GPIO获得了一个Led闪烁,稍微修改了代码,所以我的H桥转动了马达:
from gpiozero import LED
from gpiozero.pins.pigpio import PiGPIOFactory
from time import sleep
factory = PiGPIOFactory(host='') #IP is cut out for publishing
led1 = LED(17, pin
我需要帮助我的警报系统代码,我正在构建的GPIOZero库(我的老板非常喜欢这个库)。该系统是为笔记本电脑推车,所以人们不会忘记关闭门,因为有一个蜂鸣器响,如果人们把它打开太长时间。因此,我希望它所做的事情非常简单,但它总是等待函数完成,然后再转到下一个:
如果门打开:日志时间,时间延迟,蜂鸣器打开
如果门关闭/关闭:蜂鸣器关闭,记录时间
是否有一种方法不等待函数在GPIOZero库中完成。请让我知道!
from gpiozero import Button
from signal import pause
from gpiozero import Buzzer
from gpiozero i
我正在尝试使用HC 04距离传感器和AIY语音套件。我在下面的图像链接中使用了设置,除了使用帽子PIN_A和PIN_B而不是RPi GPIO23和24,我使用了1000欧姆和2000欧姆电阻作为分压器(而不是一个330和470个)。
这是我的剧本:
from gpiozero import DistanceSensor
from time import sleep
from aiy.pins import PIN_A
from aiy.pins import PIN_B
sensor = DistanceSensor(echo=PIN_A, trigger=PIN_B)
while Tr
我正在码头容器中运行一个简单的python脚本来打开一些GPIO Leds。我正在使用gpiozero库。脚本运行良好,在容器中按预期工作。问题是,当我突然停下来容器时,LED就会继续工作。这是GPIO的代码。
from gpiozero import PWMLED
from gpiozero import LEDBoard
from time import sleep
leds = LEDBoard(12, 16)
freq = 1
for led in leds:
led.on()
sleep(1000)
for led in leds:
led.off()
这是我
我使用GPIO库在Raspberry Pi上处理简单的gpiozero设备(这里我使用MotionSensor作为示例): import asyncio
from gpiozero import MotionSensor
class MotionSensorHandler():
__whenMotionCallback = None
def __init__(self, pin, whenMotionCallback):
# whenMotionCallback is an async function
self.__whenMotion
下面的PyCharm代码只有在PC和树莓派在同一网络上时才能运行。如果我希望Raspberry Pi在不同的网络上,我应该对代码进行哪些更改才能正常工作?
from gpiozero import LED, Button
from gpiozero.pins.pigpio import PiGPIOFactory
from time import sleep
factory=PiGPIOFactory(host='192.168.182.240')
GPIO17=LED(17,pin_factory=factory)
第一次发帖,只学了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)
我有一个树莓PI附加到一个MCP3008模数转换器,这是测量一个模拟电压的热敏电阻。我使用gpiozero python库在PI和ADC之间进行通信。下面的代码运行了几分钟,然后发出一个错误,然后挂在函数get_temp_percent上。该函数从ADC返回五个测量值的平均值。我使用Signal在等待1秒后抛出一个异常,试图通过挂起,但它只是抛出一个错误并挂起。我的except语句中的任何内容似乎都没有被读取。为什么我不逃避代码挂?
import time
from gpiozero import MCP3008
from math import log
import pymysql.curs
当运行下面的简单代码时,我希望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(
尝试创建非常简单的键盘和鼠标控制器使用树莓派的GPIO引脚。我喜欢在教育环境中使用代码,所以尝试为孩子/学生构建超级简单、可读的代码。但代码的行为有点奇怪,它一直输出相同的击键: import gpiozero
from pynput.mouse import Button, Controller as MouseController
from pynput.keyboard import Key, Controller as KeyboardController
keyboard = KeyboardController()
mouse = MouseController()
Up =
我是这个论坛和Python的新手,需要这样的帮助。我正在建设一个关于树莓派的运动感应器夜灯项目。我让代码处理一个异常,即我被困在嵌套的while循环中。这个构建的目标是,当光敏电阻检测到黑暗时,它将使运动传感器能够检测到运动。当光敏电阻检测到黑暗时,如果感觉到有运动,灯就会亮起来。我已经附上了下面的代码。 from gpiozero import LED
from gpiozero import MotionSensor
from gpiozero import LightSensor
from time import sleep
red_led = LED(17)
pir = Motio
如果led是开的,则我尝试使用if语句打印,但是ide忽略if语句,只做它之外的操作,我也尝试过使用gpiozero库,但是它读取的引脚错误,我没有任何跳线连接到引脚17,但它是唯一能打开led的引脚。
from rpi.gpiozero import LED
import time
GPIO.setmode(GPIO.BOARD
GPIO.setup(11,GPIO.OUT)
for i in range(25):
GPIO.OUTPUT(11,True)
if GPIO.OUTPUT(11,True):
print('LED is on')
我用gpiozero做了一个for循环,只需按一下按钮就能做乘法表,并想长按退出循环。
最初我以为我可以做一个函数,里面有一个break,它会长时间按下退出循环,但由于break在循环之外,我得到了一个语法错误,无论我期望它会被解释为退出函数,而不是函数被调用的循环。
另一个想法是这样做- when false退出所有循环- for循环中的命令将条件切换为false。这是我在任何教程中都没有涉及到的内容,我也不确定我应该搜索哪些术语来了解是否可以做到这一点。
我如何才能做到这一点?
import gpiozero
import time
from signal import pause
bu
首先,如果我的英语不太好,或者有什么问题,这是我的第一篇“帖子”。
我试图使用一个USB游戏垫来打开和关闭与gpiozero的LED。
我在执行程序时出错:
import sys
from gpiozero import LED
led = LED(17)
pipe = open('/dev/input/js0', 'rb')
msg = []
while 1:
for char in pipe.read(1):
msg += [ord(char)]
if len(msg) == 8:
我正在尝试将函数的返回值存储在变量中。当按下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中,
我试图在树莓派上编程一个按钮,将一个整数加到另一个整数上,这样我就可以通过检查变量mod2是否为0来在while循环中的条件之间来回切换。实际上,我试图通过检查变量是奇数还是偶数来反转while循环中的条件。
我正在尝试使用gpiozero库的when_pressed函数,但它似乎无法调用用于添加和输出整数的函数。
所以,我的代码是:
from gpiozero import Button
btn = Button(17) #the button is wired to GPIO pin 17
def addSurf(a):
a = a + 1
return(a)
x =
我想用gpiozero做一个带有物理按钮的计数器。我遵循文档中的步骤,但显然不起作用。这里是我在中遵循的步骤。
import PySimpleGUI as sg
from threading import Thread
from gpiozero import Button
from time import sleep
button = Button(2)
i = 0
sg.theme('Dark blue 3') # Add a touch of color
# All the stuff inside your window.
layout = [ [sg.Text
我对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
Python 3.7.3和Raspberry Pi 4控制台应用程序和1个瞬间按钮 我当前的python脚本将启动并等待按钮的按下,以开始播放硬编码歌曲。 我需要的是让我的python脚本在按下按钮时开始播放一首硬编码的歌曲,并能够再次按下相同的按钮来停止该歌曲。或者,至少使用第二个按钮来“重置”歌曲,并使系统返回到等待第一个按钮按下开始歌曲。 我使用gpiozero按钮和when_pressed事件来调用一个函数来播放歌曲。 有什么想法吗? from pydub import AudioSegment
from pydub.playback import play
from gpiozer
我想舍入一个变量,但是当我运行我的代码时,它会返回以下内容
错误:"TypeError: DiskUsage类型不定义__圆形__方法“。我已经在网上查过了,但是我没有找到能解决我问题的东西。这是我的代码:
from gpiozero import DiskUsage
disk = DiskUsage()
disk = round(DiskUsage(),3)
print('Current disk usage: {}%'.format(disk))
我想舍入它,因为DiskUsage()返回的值太长了。