我有一个Raspberry Pi 3,并且正在使用Python 3编写代码。我在我的代码中添加了一个请求,要求用户输入三个数字,如果R,G或B打开或关闭(0 =关和1 =开)。例如,101意味着R = on,B = off和G = on。请求与Raspberry Pi上的RGB LED相关的整数期间出错
但我不断收到一个错误,我认为这是关系到Python的版本,我使用(Python 3中):
TypeError: object of type 'int' has no len()
我是继YouTube的教程在这里:Controlling a RGB LED with a raspberry pi
import time
import RPi.GPIO as GPIO
R = 16
G = 20
B = 21
GPIO.setmode(GPIO.BCM)
GPIO.setup(R,GPIO.OUT)
GPIO.setup(G,GPIO.OUT)
GPIO.setup(B,GPIO.OUT)
GPIO.output(R,GPIO.HIGH)
GPIO.output(G,GPIO.HIGH)
GPIO.output(B,GPIO.HIGH)
def clearCh():
GPIO.cleanup(R)
GPIO.cleanup(G)
GPIO.cleanup(B)
try:
while True:
request = input("RGB-->")
if (len(request) == 3):
GPIO.output(R, int(request[0]))
GPIO.output(G, int(request[1]))
GPIO.output(B, int(request[2]))
except KeyboardInterrupt:
clearCh()
任何提示指向我在正确的方向将不胜感激。
注意,我也试过如下:if (len(str(request)) == 3):
这给了以下错误:
TypeError: 'int' object has no attribute '__getitem__'
谢谢加里。这就说得通了。感谢您花时间回答。 它进行这些更改后工作。 – theAussieGuy