Sie müssen die Hyperpixel 2R -Treiber installieren, die einen i2C -Bus für den Touch IC ermöglichen - https://github.com/pimoroni/Hyperpixel2r
Stellen Sie sicher, dass Sie /boot/config.txt bearbeiten und hinzufügen :disable-touch nach hyperpixel2r , wie SO:
dtoverlay=hyperpixel2r:disable-touch
Dies deaktiviert den Linux Touch -Treiber, damit Python mit dem Touch IC sprechen kann.
Stabile Bibliothek von PYPI:
pip3 install hyperpixel2r In einigen Fällen müssen Sie möglicherweise sudo verwenden oder PIP installieren mit: sudo apt install python3-pip
Neueste/Entwicklungsbibliothek von GitHub:
git clone https://github.com/pimoroni/hyperpixel2r-pythoncd hyperpixel2r-pythonsudo ./install.sh Die Version von Pygame, die mit Raspberry Pi OS geliefert wird, mag keine nicht standardmäßigen Auflösungen wie 480x480. Sie können ein 640 x 480 Standard -Display fälschen, indem Sie HDMI Hotplug erzwingen und dann nur in eine 480x480 -Region auf Hyperpixel 2.0 "Runde angezeigt werden. In /boot/config.txt :
# Force 640x480 video for Pygame / HyperPixel2r
hdmi_force_hotplug=1
hdmi_mode=1
hdmi_group=1
Berührungstreiberinstanz einrichten:
touch = Touch ( bus = 11 , i2c_addr = 0x15 , interrupt_pin = 27 ): Berührungen sollten gelesen werden, indem ein Handler mit @touch.on_touch dekoriert wird.
Der Handler sollte die Argumente annehmen, touch_id , x , y und state annehmen.
touch_id - 0 oder 1 je nachdem, welche Berührung verfolgt wirdx - x Koordinate von 0 bis 479y - y Koordinate von 0 bis 479state - True für berührt, False für veröffentlichtZum Beispiel:
@ touch . on_touch
def handle_touch ( touch_id , x , y , state ):
print ( touch_id , x , y , state )