Simple test
Ensure your device works with this simple test.
examples/tsc2007_simpletest.py
1# SPDX-FileCopyrightText: Copyright (c) 2022 ladyada for Adafruit Industries
2#
3# SPDX-License-Identifier: Unlicense
4
5
6import board
7
8import adafruit_tsc2007
9
10# Use for I2C
11i2c = board.I2C() # uses board.SCL and board.SDA
12# i2c = board.STEMMA_I2C() # For using the built-in STEMMA QT connector on a microcontroller
13
14irq_dio = None # don't use an irq pin by default
15# uncomment for optional irq input pin so we don't continuously poll the I2C for touches
16# irq_dio = digitalio.DigitalInOut(board.A0)
17tsc = adafruit_tsc2007.TSC2007(i2c, irq=irq_dio)
18
19while True:
20 if tsc.touched:
21 point = tsc.touch
22 if point["pressure"] < 100: # ignore touches with no 'pressure' as false
23 continue
24 print(f"Touchpoint: ({point['x']}, {point['y']}, {point['pressure']})")
Display Specific test
Initialize a display and set options so that axes are correct to rotation.
examples/tsc2007_3.5_feather_v2.py
1# SPDX-FileCopyrightText: Copyright (c) 2024 Melissa LeBlanc-Williams for Adafruit Industries
2#
3# SPDX-License-Identifier: Unlicense
4
5
6import board
7import displayio
8import fourwire
9from adafruit_hx8357 import HX8357
10
11import adafruit_tsc2007
12
13# Initialize the Display
14displayio.release_displays()
15
16spi = board.SPI()
17tft_cs = board.D9
18tft_dc = board.D10
19
20display_bus = fourwire.FourWire(spi, command=tft_dc, chip_select=tft_cs)
21display = HX8357(display_bus, width=480, height=320)
22
23# Use for I2C
24i2c = board.I2C() # uses board.SCL and board.SDA
25# i2c = board.STEMMA_I2C() # For using the built-in STEMMA QT connector on a microcontroller
26
27tsc = adafruit_tsc2007.TSC2007(i2c, invert_x=True, swap_xy=True)
28
29while True:
30 if tsc.touched:
31 point = tsc.touch
32 if point["pressure"] < 100: # ignore touches with no 'pressure' as false
33 continue
34 print(f"Touchpoint: ({point['x']}, {point['y']}, {point['pressure']})")