Difference between revisions of "Push button"

From Sketching with Hardware at LMU Wiki
Jump to navigation Jump to search
 
(One intermediate revision by one other user not shown)
Line 16: Line 16:
 
= How to control it in MicroPython =
 
= How to control it in MicroPython =
  
== Simple digital read on pin 26 with internal Pull-up
+
== Simple digital read on pin 26 with internal Pull-up ==
 +
Not all pins have internal pull-up resistors. On the ESP32 Webkit GPIO32, GPIO33, ..., GPIO39 are input only and they do not have internal pull-ups or pull-down resistors.
 
<syntaxhighlight lang="python" line='line'>
 
<syntaxhighlight lang="python" line='line'>
 
from machine import Pin
 
from machine import Pin
Line 34: Line 35:
  
 
<youtube>va1beT6sxLs</youtube>
 
<youtube>va1beT6sxLs</youtube>
 +
 +
[[Category:Sensor]]

Latest revision as of 08:50, 11 June 2024

Description[edit]

With a button we can select which of the two sides are connected to the middle. It is similar to a switch but it only stays in the state as long as it is pressed.

Button02.PNG

How to connect it electrically[edit]

This is the most simple way of connecting a button. if the button is not pressed (open) there is no signal at the pin. Hence here we should use an internal pullup resistor.

Button01.PNG


This is the connection of a button with a pullup resistor. If the button is not pressed, 3.3V are connected to the pin via the 10 KOhm resistor (reads 1). if it is pressed it is connected to GND (reads 0).

Pullup02.PNG

How to control it in MicroPython[edit]

Simple digital read on pin 26 with internal Pull-up[edit]

Not all pins have internal pull-up resistors. On the ESP32 Webkit GPIO32, GPIO33, ..., GPIO39 are input only and they do not have internal pull-ups or pull-down resistors.

1 from machine import Pin
2 in26 = Pin(26, Pin.IN, Pin.PULL_UP)
3 print(in26.value())

Simple digital read on pin 26[edit]

1 from machine import Pin
2 in26 = Pin(26, Pin.IN)
3 print(in26.value())

Related Tutorial Videos[edit]

Digital Input