python初心者です。
ラズパイでボタンを押すとLEDが点灯、もう一度押すと消灯というプログラムを作りたいです。
ネットから参考となるソースコードを拾って自分で改良し直したのですがどうにもうまくいきません。
回答よろしくお願い申し上げます。
発生している問題・エラーメッセージ
ボタンを一回押すと点灯し、もう一回押しても点灯し続けてしまいます。
該当のソースコード
python #coding: UTF-8 #python3 import wiringpi,time,RPi.GPIO as GPIO,random,sys from AQM import AQM #GPIO SETUP LCDR = 17 SW1 = 24 wiringpi.wiringPiSetupGpio() wiringpi.pinMode(SW1, 0)#SW1 のピンを INPUT モードにする wiringpi.pinMode(LCDR, 1)#LED1 のピンを OUTPUT モードにする #SENGEN SW_OFF = 0 SW_ON = 1 #MAIN try: def LED_CTR(): sw = 0 now = "" last = 0 for cnt in range(0,100): now = getSW() if(now == last): return if((last == 0) and (now != 0)): sw += 1 sw &= 1 LED(sw) last = now def getSW(): flag = 0 if(wiringpi.digitalRead(SW1) == SW_ON): flag = 1 return flag def LED(number): if(number == 1): wiringpi.digitalWrite(LEDR, 1)#LED1 を点灯する else: wiringpi.digitalWrite(LEDR, 0)#LED1 を消灯する while True: LED_CTR() except KeyboardInterrupt: wiringpi.digitalWrite(LEDR,0) wiringpi.pinMode(LEDR,0) sys.exit()
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー