gt911 --- Bộ Điều Khiển Cảm Ứng Điện Dung 5 Điểm GT911¶
Mô-đun gt911 cung cấp trình điều khiển cho bộ điều khiển màn hình cảm ứng điện dung Goodix GT911, một sự kết hợp phổ biến với các bảng LCD 800x480 kích thước 4.3"--7". Bộ điều khiển theo dõi tối đa năm điểm chạm đồng thời và báo cáo mỗi điểm dưới dạng tuple (x, y, size, id) trong đó id ổn định qua các lần đọc miễn là ngón tay vẫn còn trên bảng.
Trình điều khiển giao tiếp với chip qua I2C và sử dụng hai GPIO bổ sung:
một đường reset, giữ ở mức thấp trong quá trình khởi động và được kích hoạt cùng với đường IRQ để chọn địa chỉ I2C 7-bit của GT911 (
0x5Dkhi IRQ ở mức thấp trong quá trình reset,0x14khi IRQ ở mức cao);một đường ngắt, được bộ điều khiển kích hoạt khi có sự kiện chạm.
Sau khi khởi tạo, các ứng dụng có thể thăm dò các lần chạm bằng GT911.read_points() hoặc cung cấp touch_callback để được gọi tại cạnh xuống của chân IRQ.
class GT911 -- Bộ Điều Khiển Cảm Ứng Điện Dung 5 Điểm¶
- 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)¶
Tạo một đối tượng bộ điều khiển màn hình cảm ứng GT911.
buslà đối tượng busmachine.I2Cmà GT911 được kết nối vào.reset_pinlà số hoặc tên chân (không phải đối tượngPin) được kết nối với đường reset của GT911. Trình điều khiển cần thay đổi hướng chân trong quá trình reset.irq_pinlà số hoặc tên chân (không phải đối tượngPin) được kết nối với đường ngắt của GT911. Trình điều khiển cần thay đổi hướng chân trong quá trình reset.addresslà địa chỉ I2C của bộ điều khiển. Mặc định làgt911._DEFAULT_ADDR.widthlà độ phân giải bảng cảm ứng dọc theo trục X tính bằng điểm ảnh.heightlà độ phân giải bảng cảm ứng dọc theo trục Y tính bằng điểm ảnh.touch_pointslà số điểm chạm đồng thời tối đa để báo cáo (1 đến 5).reverse_xnếu là True thì lật trục X.reverse_ynếu là True thì lật trục Y.reverse_axisnếu là True thì hoán đổi trục X và Y.sitobật chế độ Single-Input-Touch-Output của bộ điều khiển khi là True.refresh_ratelà tốc độ báo cáo chạm tính bằng Hz.touch_callbacklà một hàm có thể gọi tùy chọn được gọi tại cạnh xuống của chân IRQ khi có sự kiện chạm. TruyềnNoneđể dùng chế độ thăm dò.- read_points() tuple¶
Trả về một tuple
(n, points)trong đónlà số điểm chạm đang hoạt động vàpointslà danh sách 5 mụcarray("H", ...). Mỗi mục chứa[x, y, size, id]:xvàylà tọa độ màn hình,sizelà áp lực chạm, vàidlà ID theo dõi duy nhất ổn định cho một ngón tay qua các lần đọc.Chỉ
nmục đầu tiên củapointschứa dữ liệu hợp lệ.