Chapter 2 Button & LED
70
37
38
39
40
loop
( )
e x cept
KeyboardInterrupt
:
# When 'Ctrl+C' is pressed, the subprogram destroy() will
be executed.
destroy
()
RPi.GPIO provides us with a simple and effective function to eliminate the jitter, that is
GPIO.add_event_detect(). It uses callback function. Once it detect that the buttonPin has a specified action
FALLING, execute the specified function buttonEvent(). In the function buttonEvent, each time the ledState is
reversed, the state of the LED will be updated.
d e f
buttonEvent
(
channel
):
g l obal
ledState
p r int
'buttonEvent GPIO%d'
%
channel
ledState
=
n o t
ledState
i f
ledState
:
p r int
(
'Turn on LED ... '
)
e l se
:
p r int
(
'Turn off LED ... '
)
GPIO
.
output
(
ledPin
,
ledState
)
d e f
loop
( ):
#Button detect
GPIO
.
add_event_detect
(
buttonPin
,
GPIO
.
FALLING
,
callback
=
buttonEvent
,
bouncetime
=
300
)
w h ile
T r ue
:
p a ss
Of course, you can also use the same programming idea of C code above to achieve this target.
GPIO.add_event_detect(channel, GPIO.RISING, callback=my_callback, bouncetime=200)
This is an event detection function. The first parameter specifies the IO port to be detected. The second
parameter specifies the action to be detected. The third parameter specified a function name, the function
will be executed when the specified action is detected. And the fourth parameter is used to set the jitter
time.
Summary of Contents for Ultimate Starter Kit
Page 1: ...Free your innovation Freenove is an open source electronics platform www freenove com ...
Page 117: ...117 Chapter 9 Potentiometer RGBLED www freenove com support freenove com Hardware connection ...
Page 155: ...155 Chapter 14 Relay Motor www freenove com support freenove com Hardware connection OFF 3 3V ...
Page 173: ...173 Chapter 16 Stepping Motor www freenove com support freenove com Hardware connection ...
Page 239: ...239 Chapter 22 Matrix Keypad www freenove com support freenove com Circuit Schematic diagram ...
Page 240: ...Chapter 22 Matrix Keypad 240 www freenove com support freenove com Hardware connection ...