Operation Manual
Human-computer interfacing
133
Notes:
# start thread running
self.st a r t()
def pressed( s e l f ):
if self._pressed:
#clearthepressedagnowwehavedetectedit
self._pressed = False
return True
else:
return False
def run( s e l f ):
previous = None
while 1:
# read gpio channel
current = GPIO.input(self.channel)
t i m e.s l e e p(0.01) # wait 10 ms
# detect change from 1 to 0 (a button press)
if current == False and previous == True:
self._pressed = True
#waitforagtobecleared
while self._pressed:
t i m e.s l e e p(0.05) # wait 50 ms
previous = current
def onButtonPress():
print('Button has been pressed!')
# create a button thread for a button on pin 11
button = Button(11)
while True:
# ask for a name and say hello
name = input('Enter a name (or Q to quit): ')
if name.upper() == ('Q'):
break
print('Hello', name)
# check if button has been pressed
if button.pressed():
onButtonPress()