2017-02-09 17 views
1

ここにこのコードがあります。それは、私がプッシュダウンしたボタンを持っているときに、3秒ごとに「ボタンを押した」ボタンを印刷することです。私はすべてを試しましたが、私の人生のために、このボタンがTrueとFalse、または0,1などの間の変数を切り替えるようにする方法を理解できません。本当に助けていただければ幸いです。まさにこのような感謝ボタンでトグル可能な変数をPythonでコード化する方法

import RPi.GPIO as GPIO 
import time 


GPIO.setmode(GPIO.BCM) 
GPIO.setup(18, GPIO.IN,pull_up_down=GPIO.PUD_UP) 


while True: 
    inputValue = GPIO.input(18) 
    if (inputValue == False): 
     print("Button press ") 
    time.sleep(0.3) 

は何か:

https://www.youtube.com/watch?v=PH3hNLXxNeE

+0

「ロボット」にタグを付ける理由は何ですか? – Arman

+0

エレクトロニクスとプログラミングと関係があります... @arman – Caspar

答えて

0

あなたはボタンの状態が変更されたかどうかを知りたいです。

GPIOから新しい値を取得したときに状態を把握して比較する必要があります。

latest_state = None 

while True: 
    inputValue = GPIO.input(18) 
    if inputValue != latest_state: 
     latest_state = inputValue 
     if latest_state: 
      print("Button pressed") 
     else: 
      print("Button depressed") 
    time.sleep(0.3) 
+0

これは完全に動作します。ありがとうございました。 – Caspar

-1
>>> x = True 
>>> x 
True 

>>> x = not x 
>>> x 
False 

>>> x = not x 
>>> x 
True 

ボタンが押されたときはいつでも、あなたはブール変数(inputValue?)not [variable]に等しいとして使用しているものは何でも設定することができます。私はかなりあなたのコードでやっているのか理解していないが、ここでいくつかの擬似コードです:

Boolean switch = False 
if button is pressed: 
    switch = not switch 
+0

申し訳ありませんが、私はあなたが提案していることを理解していません。 – Caspar

+0

'Boolean switch = False'は無効ですPython –

+0

私が言ったように、それはPythonコードではなく、疑似コードです。私はPythonライブラリOPを使って条件付き ''ボタンを押したままにする方法がわからなかった – JGut

関連する問題