接力器不运转

2024-04-20 14:39:15 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我第一次编写Raspberry PI,也是第一次使用Python、JavaScript或Node Red。在

我正试着用红色节点的伺服电机来提升闸门。 基本上,我要做的就是用我的pi相机拍一张车牌的照片,处理它,发送到OpenALPR,然后把车牌作为消息有效载荷. 在

现在,我要做的是激活伺服电机如果msg.payload.results消息[0].车牌号与我需要的车牌号相符。我正在尝试创建一个全局变量,用于激活伺服电机的子流。 代码如下:

if(msg.payload.results[0].plate=="SB06KBE" || 
msg.payload.results[0].plate=="AR18AUG")
{
    console.log(msg.payload.results[0].plate);
    context.global.cond=1;
}
else console.log("not recognized");

此节点进入马达子流:

motor

变量节点:

^{pr2}$

电机节点pwm:

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BOARD)

GPIO.setup(7,GPIO.OUT)
p=GPIO.PWM(7,50)
p.start(7)

if mycond==1:
  try:
    while True:
      p.ChangeDutyCycle(7)
      time.sleep(1)
      p.ChangeDutyCycle(3)
      time.sleep(10)
  except keyboardInterrupt:
      p.stop()
      GPIO.cleanup()

由于某种原因,马达无法启动。在

我尝试使用switch节点,删除了子流中的变量节点和motor节点中的if条件,但开关不会转到任何输出。 这是我尝试使用的交换机节点:

switch

另外,如果我移除子流中的变量节点,即使无法识别车牌,电机也会运行。在

LE:我还尝试将switch节点的前两个输出连接到两个JavaScript节点,这两个节点将打印消息,但是即使满足条件,它们也不会运行。在

提前谢谢!在


Tags: log消息gpioif节点timemsgjavascript