Вы должны установить драйверы Hyperpixel 2R, которые включают шину I2C для Touch IC - https://github.com/pimoroni/hyperpixel2r
Убедитесь, что вы редактируете /boot/config.txt и добавьте :disable-touch после hyperpixel2r , как так:
dtoverlay=hyperpixel2r:disable-touch
Это отключает драйвер Touch Linux, чтобы Python мог поговорить с Touch IC.
Стабильная библиотека от PYPI:
pip3 install hyperpixel2r В некоторых случаях вам может потребоваться использовать sudo или установить PIP с: sudo apt install python3-pip
Последняя библиотека разработки от GitHub:
git clone https://github.com/pimoroni/hyperpixel2r-pythoncd hyperpixel2r-pythonsudo ./install.sh Версия Pygame, поставляемой с Raspberry Pi OS, не любит нестандартные решения, такие как 480x480. Вы можете подделать стандартный дисплей 640x480, заставив HDMI HotPlug, а затем только в область 480x480 для отображения на гиперпикселе 2,0 дюйма. В /boot/config.txt :
# Force 640x480 video for Pygame / HyperPixel2r
hdmi_force_hotplug=1
hdmi_mode=1
hdmi_group=1
Настройка экземпляра драйвера Touch:
touch = Touch ( bus = 11 , i2c_addr = 0x15 , interrupt_pin = 27 ): Прикосновения должны быть прочитаны путем украшения обработчика @touch.on_touch .
Обработчик должен принять аргументы touch_id , x , y и state .
touch_id - 0 или 1 в зависимости от того, какое прикосновение отслеживаетсяx - x координируется от 0 до 479y - y координируется от 0 до 479state - Touch State True для Touched, False для выпущенногоНапример:
@ touch . on_touch
def handle_touch ( touch_id , x , y , state ):
print ( touch_id , x , y , state )