2

我正在研究 Raspberry Pi 车库开门器。到目前为止,我已经编写了基本代码,但我希望再添加一件事,但我不确定如何添加。对于那些不知道的人,Raspberry Pi 具有可以使用 Python 脚本设置的 GPIO 引脚。我正在使用一个脚本,将 GPIO 引脚设置为高电平(5 伏输出),保持 0.5 秒,然后设置为低电平。输出连接到继电器,然后连接到我的车库门。

我要做的是使用另一个GPIO引脚触发警报2秒,然后将第一个GPIO引脚的状态设置为高电平,从而打开门。这是我到目前为止所拥有的。

#!/usr/bin/python

# Import required Python libraries
import RPi.GPIO as GPIO
import time

# Use BCM GPIO references instead of physical pin numbers
GPIO.setmode(GPIO.BCM)

# init list with pin numbers
pinList = [2]

# loop through pins and set mode and state to 'low'
for i in pinList:
    GPIO.setup(i, GPIO.OUT)
    GPIO.output(i, GPIO.HIGH)

def trigger() :
    for i in pinList:
      GPIO.output(i, GPIO.LOW)
      time.sleep(0.5)
      GPIO.output(i, GPIO.HIGH)
      GPIO.cleanup()

try:
    trigger()
except KeyboardInterrupt:
    print "  Quit"

# Reset GPIO settings
GPIO.cleanup()

谁能帮我弄清楚如何添加另一个GPIO引脚触发2秒,然后触发主继电器开门?

4

1 回答 1

0

我使用WiringPi和 Raspberry Pi 来直接控制 GPIO,并使用它通过 SPI 和 I2C 连接其他设备。

这是python库的链接。

启动并运行库后,只需使用以下代码的变体:

import wiringpi
import time
wiringpi.pinMode(1,1)       #Set GPIO 1 to Output
wiringpi.pinMode(2,1)       #Set GPIO 1 to Output
wiringpi.digitalWrite(1,1)  #Write HIGH to pin1
time.sleep(2)               #2 sec delay
wiringpi.digitalWrite(2,1)  #Write HIGH to pin2

请注意输出和输入,因为 Raspberry Pi GPIO 的运行电压为 3.3v 而不是 5v,如果您用它驱动一些大的东西(GPIO 的额定电流为 16mA)或连接错误,您最终可能会破坏您的 Raspberry Pi。

于 2013-11-16T05:26:37.173 回答