touchio – Touch related IO
The touchio module contains classes to provide access to touch IO typically
accelerated by hardware on the onboard microcontroller.
All classes change hardware state and should be deinitialized when they
are no longer needed if the program continues after use. To do so, either
call deinit() or use a context manager. See
Lifetime and ContextManagers for more info.
For more information about working with the touchio module in CircuitPython,
see this Learn guide page.
Limitations: touchio on RP2350 must have a pull-up resistor to 3.3V
instead of ground and set the pull=Pull.UP parameter when constructing
a TouchIn object, due to GPIO hardware limitations.
Example:
import touchio
from board import *
touch_pin = touchio.TouchIn(D6)
print(touch_pin.value)
This example will initialize the the device, and print the
value.
Available on these boards
- class touchio.TouchIn(pin: microcontroller.Pin, pull: digitalio.Pull | None = None)
Read the state of a capacitive touch sensor
Usage:
import touchio from board import * touch = touchio.TouchIn(A1) while True: if touch.value: print("touched!")
Use the TouchIn on the given pin.
- Parameters:
pin (Pin) – the pin to read from
pull (Optional[digitalio.Pull]) – specify external pull resistor type. If None, assume pull-down or chip-specific implementation that does not require a pull.
- __exit__() None
Automatically deinitializes the hardware when exiting a context. See Lifetime and ContextManagers for more info.
- threshold: int | None
Minimum
raw_valueneeded to detect a touch (and forvalueto beTrue).When the TouchIn object is created, an initial
raw_valueis read from the pin, and thenthresholdis set to be 100 + that value.You can adjust
thresholdto make the pin more or less sensitive:import board import touchio touch = touchio.TouchIn(board.A1) touch.threshold = 7300