« Écran Adafruit 2.8 pouces TFT » : différence entre les versions

De knowledge
Aller à la navigation Aller à la recherche
mAucun résumé des modifications
mAucun résumé des modifications
Ligne 80 : Ligne 80 :
dtoverlay=gpio-key,gpio=23,keycode=4,label="BTN3"  # KEY_3
dtoverlay=gpio-key,gpio=23,keycode=4,label="BTN3"  # KEY_3
dtoverlay=gpio-key,gpio=27,keycode=5,label="BTN4"  # KEY_4
dtoverlay=gpio-key,gpio=27,keycode=5,label="BTN4"  # KEY_4
</syntaxhighlight> == Explication == Chaque ligne :
</syntaxhighlight>Explication Chaque ligne :
* Configure le GPIO en entrée avec pull-up
* Configure le GPIO en entrée avec pull-up
* Associe un <code>keycode</code> Linux standard
* Associe un <code>keycode</code> Linux standard
Ligne 95 : Ligne 95 :
   4) echo "Bouton 4 pressé" ;;
   4) echo "Bouton 4 pressé" ;;
esac
esac
</syntaxhighlight> == Remarques ==
</syntaxhighlight>
* Fonctionne aussi avec <code>triggerhappy</code> ou <code>udev</code> pour lancer des scripts
* Compatible avec les menus interactifs en ligne de commande  == Voir aussi ==
* [[Installation du PiTFT capacitif Adafruit]]
* [[Test des boutons GPIO avec gpiod]]Cohabitation entre ==

Version du 10 octobre 2025 à 20:35

Installation du PiTFT capacitif Adafruit sur Raspberry Pi

Présentation

Ce module PiTFT 2.8" d’Adafruit combine :

  • Un écran TFT ILI9341 (320×240)
  • Un contrôleur tactile capacitif FT5x06 ou FT6206
  • Une interface GPIO directe pour Raspberry Pi B+, Pi 2, Pi 3

Préparation du système

  • OS recommandé : Raspberry Pi OS Lite ou Desktop
  • Mise à jour :
sudo apt update && sudo apt full-upgrade

Activation du tactile capacitif

Ajouter dans /boot/firmware/config.txt :

dtoverlay=pitft28-capacitive,rotate=90,speed=64000000,fps=30,drm

Si besoin de GPIO personnalisés :

dtoverlay=pitft28-capacitive,touch-reset=5,touch-int=17

Ruse HDMI pour éviter la perte de framebuffer

Sans écran HDMI, le Pi peut désactiver /dev/fb0. Pour forcer sa création :

hdmi_force_hotplug=1
hdmi_group=2
hdmi_mode=87
hdmi_cvt=320 240 60 1 0 0 0

Tests post-installation

  • Vérifier le périphérique tactile :
cat /proc/bus/input/devices
dmesg | grep ft5
sudo evtest /dev/input/eventX
  • Vérifier l’affichage :
sudo cat /dev/urandom > /dev/fb0

Reboot

sudo reboot

Dépannage

GPIO bloqués

Utiliser gpiod pour tester :

gpioset gpiochip0 5=1
gpioget gpiochip0 5

FT5x06 actif mais dalle muette

  • Vérifier la nappe tactile
  • Tester le registre 0x02 via I²C :
sudo i2cget -y 1 0x38 0x02

Écran noir

  • Vérifier SPI, DRM, overlay actif
  • Vérifier /dev/fb0 et

= Utilisation des 4 boutons physiques = == Objectif == Utiliser les 4 boutons physiques à gauche de l’écran Adafruit PiTFT comme des touches clavier virtuelles : `1`, `2`, `3`, `4`. == Matériel

  • Raspberry Pi avec écran Adafruit PiTFT 2.8" capacitif
  • Boutons connectés aux GPIO : 17, 22, 23, 27 == Méthode == Ajouter les lignes suivantes dans /boot/firmware/config.txt :
dtoverlay=gpio-key,gpio=17,keycode=2,label="BTN1"   # KEY_1
dtoverlay=gpio-key,gpio=22,keycode=3,label="BTN2"   # KEY_2
dtoverlay=gpio-key,gpio=23,keycode=4,label="BTN3"   # KEY_3
dtoverlay=gpio-key,gpio=27,keycode=5,label="BTN4"   # KEY_4

Explication Chaque ligne :

  • Configure le GPIO en entrée avec pull-up
  • Associe un keycode Linux standard
  • Crée un périphérique /dev/input/eventX géré par le noyau == Codes clavier utilisés == {| class="wikitable" ! Touche simulée !! Code Linux !! GPIO utilisé |- | 1 || 2 (KEY_1) || GPIO 17 |- | 2 || 3 (KEY_2) || GPIO 22 |- | 3 || 4 (KEY_3) || GPIO 23 |- | 4 || 5 (KEY_4) || GPIO 27 |} == Test == Lancer :
sudo evtest

→ Appuyer sur les boutons : chaque pression génère un événement EV_KEY correspondant à la touche simulée. == Utilisation dans un script == Exemple en shell :

read -n1 key
case "$key" in
  1) echo "Bouton 1 pressé" ;;
  2) echo "Bouton 2 pressé" ;;
  3) echo "Bouton 3 pressé" ;;
  4) echo "Bouton 4 pressé" ;;
esac