CircuitPython library for 4-wire resistive touchscreens
Software and Dependencies:
Adafruit CircuitPython firmware for the supported boards: https://circuitpython.org/downloads
- class adafruit_touchscreen.Touchscreen(x1_pin, x2_pin, y1_pin, y2_pin, *, x_resistance=None, samples=4, z_threshold=10000, calibration=None, size=None)¶
A driver for common and inexpensive resistive touchscreens. Analog input capable pins are required to read the intrinsic potentiometers
Create the Touchscreen object. At a minimum you need the 4 pins that will connect to the 4 contacts on a screen. X and Y are just our names, you can rotate and flip the data if you like. All pins must be capable of becoming DigitalInOut pins.
x2_pinmust also be capable of becoming AnalogIn pins. If you know the resistance across the x1 and x2 pins when not touched, pass that in as ‘x_resistance’.
calibrationis a tuple of two tuples, the default is ((0, 65535), (0, 65535)). The numbers are the min/max readings for the X and Y coordinate planes, respectively. To figure these out, pass in no calibration value or size value and read the raw minimum and maximum values out while touching the panel.
sizeis a tuple that gives the X and Y pixel size of the underlying screen. If passed in, we will automatically scale/rotate so touches correspond to the graphical coordinate system.
x1_pin (Pin) – Data pin for Left side of the screen. Must also be capable of becoming AnalogIn pins.
x2_pin (Pin) – Data pin for Right side of the screen. Must also be capable of becoming AnalogIn pins.
y1_pin (Pin) – Data pin for Bottom side of the screen.
y2_pin (Pin) – Data pin for Top side of the screen. Must also be capable of becoming AnalogIn pins.
x_resistance (int) – If you know the resistance across the x1 and x2 pins when not touched, pass that in as
samples (int) – change by adjusting
samplesarg. Defaults to
z_threshold (int) – We can also detect the ‘z’ threshold, how much its pressed. We don’t register a touch unless its higher than
- property touch_point¶
A tuple that represents the x, y and z (touch pressure) coordinates of a touch. Or, None if no touch is detected