ラズベリー pi で動作するコードに問題があります。Pythonを始めたばかりなので、助けが必要です。
これはコードです:
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
led1=22
led2=17
GPIO.setup(led1, GPIO.OUT)
GPIO.setup(led2, GPIO.OUT)
def blink():
GPIO.output(led1, 1)
time.sleep(1)
GPIO.output(led1, 0)
GPIO.output(led2, 1)
time.sleep(1)
GPIO.output(led2, 0)
while(blink):
blink()
try:
main()
except KeyboardInterrupt:
GPIO.cleanup()
このエラーを実行すると、コンソールに次のように表示されます。
RuntimeWarning: このチャネルは既に使用されていますが、続行しています。警告を無効にするには、GPIO.setwarnings(False) を使用します。GPIO.setup(led1, GPIO.OUT) および:
RuntimeWarning: このチャネルは既に使用されていますが、続行しています。警告を無効にするには、GPIO.setwarnings(False) を使用します。GPIO.setup(led2、GPIO.OUT)
私が正しく理解している場合、コマンドGPIO.cleanup()
は GPIO ポートのすべてのピンをリセットし、LED をオフにする必要があります。
しかし、これは実際には起こらず、LED の 1 つが点灯したままです。
この問題を解決するためにコードを変更するにはどうすればよいですか?