我正在使用我的树莓Pi上的GPIO引脚与PIR传感器来检测运动。当传感器检测到运动时,我想将软件移到其他功能上。
目前,为了检测运动,我让我的程序在等待运动被检测的同时不断地循环运行。虽然这在目前是有效的,但对于未来的使用,这将是令人难以置信的低效,我希望通过将其分配给一个事件来改进这一点。
有没有办法将我的GPIO输入绑定到程序检测到的事件,而无需手动运行循环。
这是我当前检测运动的循环:
var = 1
counter = 0
while var == 1:
if GPIO.input(7):
counter += 1
time.sleep(0.5)
我有一个Arduino设置多个传感器打印到串行端口。最初,我实现了PIR传感器,并内置了几个延迟,这样它就不会向运动检测消息发送垃圾邮件。但是,delay()函数当然会暂停整个代码,并干扰其他传感器。 我想做的是: 1)当运动传感器持续x时间为高电平时,打印一条消息到串行 2)在未检测到运动的地方插入一段简短的时间 3)如果运动传感器在时间 一般的想法是使用软件将误报降至最低。我一直在尝试使用millis()函数来控制它,但没有取得太大成功。这可能是一个非常简单的解决方案,我只是看不出来。
void loop() {
// Get value from motion sensor
我目前正在为具有Windows Mobile 6.5的Motorola MC9500开发一个windows mobile应用程序。我已经尝试了Symbol的EMDK库访问设备的内置运动传感器,但没有任何成功。
用于.NET v2.7的emdkv2.7中有Symbol.Sensor类库,它应该访问所有内置的传感器,但我不知道如何使用它。
Symbol.Sensor.SensorManager manager = new Symbol.Sensor.SensorManager();
我在这里得到了一个MissingMethodException异常,说...“找不到PInvoke DLL Sens
为了一个项目,我在raspberry pi上连接了多达三个5v的运动传感器,我对python还很陌生。我已经成功地编写了一个运动传感器,当检测到运动时,它会点亮LED并发出蜂鸣器的声音。我如何编码多个传感器,然后点亮不同的LED?
# Motion detected with buzzer and LED
import RPi.GPIO as GPIO
import time
GPIO.setwarnings(False)
#Refer pins by their sequence number on the board
GPIO.setmode(GPIO.BCM)
#Read out