我现在正在研究如何使用Rasberry Pi和PiFace。代码是用Python编写的。
我的问题是:一旦我按下PiFace上的4个开关中的一个,我似乎就不能执行任何东西。我设法做了一个可以玩灯的程序。
我们从教授那里得到的文档在这里:https://piface.github.io/pifacedigitalio/example.html
我想要一个中断,监听器触发相应的LED。开关1按下->指示灯1触发。
这是我到目前为止的代码(不能工作)。
import pifacedigitalio
def toggle_led0(event):
event.chip.leds[0].toggle()
def toggle_led1(event):
event.chip.leds[1].toggle()
def toggle_led2(event):
event.chip.leds[2].toggle()
def toggle_led3(event):
event.chip.leds[3].toggle()
pifacedigital = pifacedigitalio.PiFaceDigital()
listener = pifacedigitalio.SwitchEventListener(chip=pifacedigital)
listener.register(0, pifacedigitalio.IODIR_FALLING_EDGE, toggle_led0)
listener.register(1, pifacedigitalio.IODIR_FALLING_EDGE, toggle_led1)
listener.register(2, pifacedigitalio.IODIR_FALLING_EDGE, toggle_led2)
listener.register(3, pifacedigitalio.IODIR_FALLING_EDGE, toggle_led3)
listener.activate()发布于 2016-02-02 03:00:22
下面的代码适用于我的Pi B
import pifacedigitalio
from time import sleep
def lighton(event):
try:
print("on pressed")
event.chip.relays[0].value = 1
except:
raise KeyboardInterrupt
def lightoff(event):
try:
print("off pressed")
event.chip.relays[0].value = 0
except:
raise KeyboardInterrupt
pfd = pifacedigitalio.PiFaceDigital()
listener = pifacedigitalio.InputEventListener(chip=pfd)
listener.register(0, pifacedigitalio.IODIR_FALLING_EDGE, lighton)
print("Registered listener0")
listener.register(1, pifacedigitalio.IODIR_FALLING_EDGE, lightoff)
print("Registered listener1")
try:
listener.activate()
print("Activated all")
except (KeyboardInterrupt, SystemExit):
print("\n Ending Process")
listener.deactivate()
listener. destroy()https://stackoverflow.com/questions/33862667
复制相似问题