如何使用Python中的按钮对可切换变量进行编码

时间:2017-02-09 08:44:40

标签: python raspberry-pi gpio

我这里有这个代码。它所做的只是当我有一个按下按钮时,按下它,它会打印"按下按钮"每隔0.3秒。我已经尝试了所有的东西,而且我无法弄清楚我的生活是如何制作的,所以这个按钮可以在True和False之间切换一个变量,或者0,1等等... I'我真的很感激一些帮助。感谢

 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

2 个答案:

答案 0 :(得分:1)

您想知道按钮的状态是否已更改。

您需要跟踪状态并在从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)

答案 1 :(得分:-1)

inputValue

每当按下按钮时,您可以将您正在使用的任何内容设置为等于not [variable]的布尔变量(Boolean switch = False if button is pressed: switch = not switch ?)。我不太了解你在代码中做了什么,但这里有一些伪代码:

var newDateObj = new Date();
newDateObj.setTime(oldDateObj.getTime() + (5 * 60 * 1000));