gt911 — GT911 5점 정전식 터치 컨트롤러¶
gt911 모듈은 4.3”–7” 800x480 LCD 패널과 흔히 함께 사용되는 Goodix GT911 투영형 정전식 터치스크린 컨트롤러용 드라이버를 제공합니다. 이 컨트롤러는 최대 5개의 동시 터치 포인트를 추적하며, 각각을 (x, y, size, id) 튜플로 보고합니다. 여기서 id는 손가락이 패널에 남아 있는 동안 읽기를 거쳐 안정적으로 유지됩니다.
드라이버는 I2C를 통해 칩과 통신하며, 두 개의 추가 GPIO를 사용합니다:
reset 라인: 전원 켜기 중에 낮게 유지되며, IRQ 라인과 함께 토글되어 GT911의 7비트 I2C 주소를 선택합니다(리셋 중 IRQ가 낮으면
0x5D, 높으면0x14);interrupt 라인: 터치 이벤트가 발생하면 컨트롤러에 의해 어서트됩니다.
생성 후, 애플리케이션은 GT911.read_points()로 터치를 폴링하거나, IRQ 핀의 하강 에지에서 호출될 touch_callback을 제공할 수 있습니다.
class GT911 – 5점 정전식 터치 컨트롤러¶
- class gt911.GT911(bus: machine.I2C, reset_pin: int | str, irq_pin: int | str, address: int = _DEFAULT_ADDR, width: int = 800, height: int = 480, touch_points: int = 1, reverse_x: bool = False, reverse_y: bool = False, reverse_axis: bool = True, sito: bool = True, refresh_rate: int = 240, touch_callback: Callable | None = None)¶
GT911 터치 스크린 컨트롤러 객체를 생성합니다.
bus는 GT911이 연결된machine.I2C버스 객체입니다.reset_pin은 GT911 리셋 라인에 연결된 핀 번호 또는 이름(Pin객체가 아님)입니다. 드라이버는 리셋 중에 핀 방향을 변경해야 합니다.irq_pin은 GT911 인터럽트 라인에 연결된 핀 번호 또는 이름(Pin객체가 아님)입니다. 드라이버는 리셋 중에 핀 방향을 변경해야 합니다.address는 컨트롤러의 I2C 주소입니다. 기본값은gt911._DEFAULT_ADDR입니다.width는 X축 방향의 터치 패널 해상도(픽셀)입니다.height는 Y축 방향의 터치 패널 해상도(픽셀)입니다.touch_points는 보고할 최대 동시 터치 포인트 수(1~5)입니다.reverse_x가 True이면 X축을 뒤집습니다.reverse_y가 True이면 Y축을 뒤집습니다.reverse_axis가 True이면 X축과 Y축을 교환합니다.sito가 True이면 컨트롤러의 Single-Input-Touch-Output 모드를 활성화합니다.refresh_rate는 터치 보고 속도(Hz)입니다.touch_callback은 터치 이벤트가 발생할 때 IRQ 핀의 하강 에지에서 호출되는 선택적 호출 가능 객체입니다. 폴링 모드를 사용하려면None을 전달하세요.