Raspberry Pi GPIO与python

时间:2015-06-18 13:54:02

标签: python raspberry-pi gpio

我被困在这个与工作相关的项目上。我想要完成的是,按下一定数量的按钮后,我希望我的程序结束。我正在思考一个循环。

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)

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

while True:

    input_state = GPIO.input(18)
    if input_state == False:
            print('Button Pressed')
            time.sleep(0.2)

Max_Presses = 100
button_pressed  = 0

def button_pressed():
    return input_state()

 while button_pressed < Max_Presses:

    print 'still going'
    if button_pressed():
            button_pressed += 1

1 个答案:

答案 0 :(得分:0)

是的,while循环听起来像是必须使用的东西。您将需要一个计数器来跟踪按下按钮的次数。检查计数器是否为循环条件,例如

MAX_PRESSES = 10
button_presses = 0

def button_pressed():
     return poll_GPIO_pin_or_whatever()   # something that detects button presses

while button_presses < MAX_PRESSES:
    print 'still going'
    if button_pressed():
        button_presses += 1

检查功能可能通过轮询GPIO引脚来工作,或者可能存在某种适用于您环境的回调机制。