Você deve instalar os drivers Hyperpixel 2R que permitem um barramento i2c para o Touch IC - https://github.com/pimoroni/hyperpixel2r
Certifique-se de editar /boot/config.txt e adicione :disable-touch após hyperpixel2r , como assim:
dtoverlay=hyperpixel2r:disable-touch
Isso desativa o driver do Linux Touch para que o Python possa conversar com o Touch IC.
Biblioteca estável da Pypi:
pip3 install hyperpixel2r Em alguns casos, você pode precisar usar sudo ou instalar PIP com: sudo apt install python3-pip
Mais recente/biblioteca de desenvolvimento do Github:
git clone https://github.com/pimoroni/hyperpixel2r-pythoncd hyperpixel2r-pythonsudo ./install.sh A versão do Pygame enviada com Raspberry Pi OS não gosta de resoluções não padrão como 480x480. Você pode fingir uma tela padrão de 640x480 forçando o HOTPLUG HDMI e, em seguida, apenas para uma região 480x480 a ser exibida no Hyperpixel 2.0 "Round. In /boot/config.txt :
# Force 640x480 video for Pygame / HyperPixel2r
hdmi_force_hotplug=1
hdmi_mode=1
hdmi_group=1
Configure a instância do driver de toque:
touch = Touch ( bus = 11 , i2c_addr = 0x15 , interrupt_pin = 27 ): Os toques devem ser lidos decorando um manipulador com @touch.on_touch .
O manipulador deve aceitar os argumentos touch_id , x , y e state .
touch_id - 0 ou 1, dependendo de qual toque é rastreadox - x coordenar de 0 a 479y - y coordenar de 0 a 479state - Touch State True for Touched, False para liberadoPor exemplo:
@ touch . on_touch
def handle_touch ( touch_id , x , y , state ):
print ( touch_id , x , y , state )