Publié le 11 janvier 2021 - par

Configurer un écran tactile Waveshare 4 pouces 800×480 pixel sur Raspberry Pi

Pour créer un jeu (style Memory) avec un vieux Raspberry Pi et un écran tactile j’ai opté pour cet écran Waveshare 4 pouces résistif qui a une résolution de 800×480 pixels. Il se connecte directement à la prise HDMI d’un Raspberry Pi 3 ou Pi 4 ce qui facilite le montage et le paramétrage.

Configuration d’un écran Waveshare 4 pouces 800×480 pixels.

Cliquez pour en savoir plus sur les niveaux.

Ce tutoriel ne décrit pas en détail toutes les étapes de la mise en œuvre. Si vous débutez, sachez qu’il faudra utiliser un certain nombre de commandes et sans doute chercher un peu si certaines choses ne sont pas claires.

[stextbox id=’warning’ caption=’Connexion Internet’]Pour les différentes manips (mise à jour et installation du logiciel de calibration, il faudra connecter le Raspberry Pi à Internet.[/stextbox]

Déballage du produit

L’écran arrive dans une boîte en carton épais. La boîte n’a pas souffert du voyage.

A l’ouverture on trouve une plaque de mousse découpée. En haut de l’image les deux adaptateurs HDMI / HDMI et HDMI / Micro HDMI qui permettent d’utiliser l’écran avec un Raspberry Pi ancienne génération (prise HDMI) ou un Raspberry Pi 4 (micro HDMI). Au centre, le stylet et les entretoises en laiton avec leurs vis. En bas on aperçoit la prise du connecteur GPIO du clavier.

Une fois enlevés le premier adaptateur on découvre le second.

Sous la première plaque, on découvre la partie inférieure de l’écran. Une plaque de mousse au fond de la boîte assure la protection de l’écran lui-même.

Tout le contenu de la boîte est prêt pour le montage

Les deux adaptateurs HDMI que vous pourrez utiliser en fonction de votre modèle de Raspberry Pi.

Juste pour la photo voici l’adaptateur HDMI/HDMI en place sur l’écran. Ne le connectez pas tout de suite, il faut d’abord configurer le Raspberry Pi avant de connecter l’écran LCD.

Mise en route de l’écran Waveshare

On va d’abord modifier la configuration du système. Vous pouvez mettre l’écran en place sur le Raspberry Pi mais connectez toujours la sortie HDMI du Raspberry Pi sur un écran « normal ».

Commencez par créer votre carte SD à partir d’une distribution Raspberry Pi OS avec Raspberry Pi Imager. Mettez la distribution à jour.

Activez dans le menu de configuration :  VNC et SSH si vous en avez besoin. J’active VNC pour faciliter les copies d’écran lors de la rédaction des articles. De plus j’ai fait la configuration depuis VNC pour ne pas être embêté par la sortie HDMI.

Avant la configuration, l’écran LCD affiche plusieurs fois l’image du bureau…

Mettre le Raspberry Pi sous tension. L’écran démarre mais affiche plusieurs fois une partie de l’image.

Image sur VNC – 640x480px

Sous VNC l’écran s’affiche en 640×480…
Pour adapter la sortie HDMI à l’écran, on va modifier le fichier /boot/config.txt
Ouvrez le fichier config.txt avec nano

Ajoutez à la fin du fichier

Avec un Raspberry Pi 4 il faut décommenter (enlever le  #)  de la ligne

Lorsque ces modifs sont faites, enregistrez le fichier config.txt (CTRL+X)  ajoutez le pilote de la partie tactile de l’écran. Ouvrez un terminal et entrez :

Après redémarrage, la partie tactile de l’écran fonctionnera.

Tourner l’image sur l’écran LCD tactile

Une fois le driver installé, l’orientation de l’image sur l’écran peut être modifiée avec ces commandes :

Rotation de 0 degré (si on le lance au début… on ne change rien en fait 😛 mais ça permet de faire revenir l’affichage dans sa position de départ… )

Rotation de 90 degrés

Rotation de 180 degrés

Rotation de 270 degrés

En fonction de l’utilisation que vous allez faire de votre écran et de son positionnement, vous pourrez tourner l’affichage.

Calibrer l’écran tactile LCD

Cet écran LCD tactile peut être calibré avec l’utilitaire xinput-calibrator. Pensez bien à connecter le Raspberry Pi à Internet avant de lancer l’installation.
Ouvrez un terminal et exécutez la commande suivante :

Lorsque l’installation est finie, vous trouvez dans le menu « Préférences » Calibrate Touchscreen » qui va servir à calibrer l’écran tactile. Cliquez dessus pour ouvrir le logiciel de calibration.

Le logiciel affiche une croix dans un angle. utilisez le stylet pour cliquer sur le cercle au centre de la cible. Vous aurez à répéter cette opération pour les 4 angles de l’écran. Le logiciel peut ainsi savoir exactement où les croix sont affichées et quelles sont les éventuelles corrections à apporter.

Au centre de l’écran un timer défile. Si pour une raison quelconque l’écran tactile ne perçoit pas vos appuis avec le stylet, a la fin du temps, le programme se fermera.

Vous obtenez alors le résultat de la calibration. La partie entourée en jaune est celle qui nous intéresse. copiez la et collez la dans un fichier  /etc/X11/xorg.conf.d/99-calibration.conf. S’il n’existe pas créez le ainsi que le répertoire qui le contient.

et collez dans le fichier le texte récupéré lors de la calibration.

Vos paramètres seront différents car ils dépendent de l’écran et sont personnalisés. Redémarrez le Raspberry Pi pour prendre les modifications en compte.

Installer un clavier virtuel

Installer matchbox

Conformément au choix du fabricant je vous propose d’installer le clavier virtuel matchbox. Je vous avais présenté ce clavier et expliqué comment le passer en AZERTY dans un article du blog fin 2016.
Exécuter dans un terminal la ligne de commande suivante pour installer le logiciel du clavier.

A la fin de l’installation faites un reboot et vous trouverez maintenant une entrée « Keyboard » dans le menu Accessoires.

Si vous cliquez sur Keyboard vous ouvrez le clavier virtuel qui est en QWERTY. Je vous explique comment le mettre en français dans cet article. Mais on va le voir plus loin dans cet article.

Créer un script pour démarrer le clavier

Ouvrez un terminal et tapez en ligne de commande

Copier dans le fichier les lignes suivantes :

Enregistrez le fichier et fermez nano. Rendez le fichier exécutable. Ce fichier teste si matchbox tourne. Si c’est le cas, il le supprime, sinon il le lance. Je vous laisse décortiquer ces quelques lignes, c’est toujours instructif 😉  Le script diffère d’ailleurs de ce qu’il y a dans le Wiki et dans ce que j’ai trouvé sur certains forums… Sinon ça ne fonctionnait pas.

Créez un fichier toggle-matchbox-keyboard.desktop

Copiez les ligne suivantes dans  toggle-matchbox-keyboard.desktop, enregistrez le fichier et sortez de nano.

Exécutez la commande suivante. Attention : il faut l’exécuter en étant connecté comme utilisateur « pi ». Si vous faites cette commande comme administrateur, le fichier ne sera pas trouvé.

Dans le fichier, trouvez le code ci-dessous (il peut différer selon la version de l’OS).

Ajoutez le code d’un nouveau bouton, comme ci-dessous

Vous obtenez ceci

Redémarrez le Raspberry Pi pour prendre toutes les modifications en compte. Vous devriez maintenant avoir un écran comme celui-ci

Pour appeler/fermer le clavier virtuel à l’écran, il suffit de cliquer sur l’icône du clavier. En même temps vous avez la méthode pour créer une bascule/toggle pour une application et pour la ranger dans la barre des tâches.

Franciser le clavier

Quand on a l’habitude d’utiliser un clavier QWERTY, on n’y fait même plus attention, à part pour quelques caractères spéciaux qu’il faut chercher un peu.

L’idée c’est de franciser le clavier et de le transformer en AZERTY. La description du clavier est contenue dans un fichier xml. Jean-Jacques a modifié ce fichier pour qu’il corresponde à nos habitudes. Certaine touches, ont du rester à la même place que sur la config de départ comme « Alt Gr » , en bas à gauche du clavier, juste à coté de la touche « Ctrl« , et la touche « * » également, elle est située à coté de la touche « $« .
Ce clavier affiche soit les caractères minuscules (mode normal), soit les caractères majuscules (appui sur la touche « Shift » pour un seul caractère ou sur « Caps Lock » pour rester en majuscules jusqu’à nouvel appui) soit les caractères spéciaux (appuis sur la touche « AltGr« ). Ces touches se déverrouillent par un nouvel appui.

Le clavier modifié est disponible en cliquant sur ce lien. Le fichier est au format .zip il faudra le dézipper pour l’utiliser.

Avant de faire quelque modification que ce soit, faites une sauvegarde du fichier keyboard.xml d’origine. En cas de problème, ce fichier vous permettra de revenir à la situation de départ. C’est d’ailleurs une bonne habitude à prendre 😉

Dans mon cas le fichier keyboard.xml a été téléchargé puis dézippé sur le Bureau de Raspbian. Vous adapterez les commandes à votre propre cas. Ce fichier est à insérer dans le répertoire /usr/share/matchbox-keyboard.

Dans cet exemple, j’ai renommé le fichier d’origine en keyboard.xml.org, puis j’ai copié le fichier keyboard.xml depuis le bureau vers le dossier /usr/share/matchbox-keyboard. La dernière ligne matchbox-keyboard lance le clavier virtuel depuis le terminal.

Matchbox : le clavier AZERTY

Cliquez pour agrandir

Voilà, vous disposez maintenant d’un clavier virtuel, bien pratique pour certaine applications utilisant un écran tactile, mais ne comportant ni clavier ni souris.

Pendant que la souris est encore connectée, faites un clic droit sur la barre en haut du clavier et configurez le pour qu’il reste au premier plan. C’est plus pratique 🙂

Conclusion

J’ai trouvé cet écran sur Amazon (pub gratuite – lien non affilié). il a été livré rapidement, en quelques jours.
En intérieur la qualité est tout à fait exploitable et l’utilisation avec le stylet ne pose pas de problème. La fixation est costaude avec d’un côté le connecteur GPIO et de l’autre le connecteur HDMI. Les deux cartes restent stables l’une par rapport à l’autre.

Si vous utilisez cet écran et que vous voulez faire des remarques, sur l’écran lui-même ou sur le contenu de cet article, utilisez les commentaires ci-dessous.

Vidéo

 

Sources

 

 

 

Share Button

À propos François MOCQ

Électronicien d'origine, devenu informaticien, et passionné de nouvelles technologies, formateur en maintenance informatique puis en Réseau et Télécommunications. Dès son arrivée sur le marché, le potentiel offert par Raspberry Pi m’a enthousiasmé j'ai rapidement créé un blog dédié à ce nano-ordinateur (www.framboise314.fr) pour partager cette passion. Auteur de plusieurs livres sur le Raspberry Pi publiés aux Editions ENI.

3 réflexions au sujet de « Configurer un écran tactile Waveshare 4 pouces 800×480 pixel sur Raspberry Pi »

  1. Berland Didier

    Bonjour, et encore une fois merci pour cet article.
    Juste pour dire que j’ai eu un problème avec le clavier Matchbox sur un écran officiel Raspberry et un vieux raspi : après une utilisation du clavier, j’ai une bande blache à gauche de l’écran (grosso modo de la largeur du menu quand on l’ouvre), que je ne peux plus faire disparaître, même en rebootant. Pour le moment j’ai supprimé le logiciel de clavier virtuel.

    Répondre
  2. DURAND FABRICE

    Bonjour,

    Merci pour le travail que vous effectuez pour la communauté pi.Je réalise un projet Diy (lecteur réseau) à base d’un raspberry pi 3B+,D’un écran tactile Waveshare 4 pouces 800×480 pixel sur Raspberry Pi, d’un DAC AUDIOPHONICS DAC I-Sabre ES9038Q2M Raspberry Pi / I2S & SPDIF / PCM DSD Alimentation USB-C le tout sur une base du logiciel Volumio. Tout se passe bien jusqu’au moment ou je mets l’ensemble sous tension.L’écran ne fait que clignoter sans aucun affichage. Est il nécessaire d’ajouter des drivers et lesquels ou d’autres manipulations?Je compte beaucoup sur votre retour car mon projet est en phase finale.

    Cdt

    Fabrice DURAND

    Logiciel Volumio 3.175-2021-12-13-pi.img installé sur une carte durand

    Répondre
    1. François MOCQ Auteur de l’article

      Bonjour Fabrice
      effectivement pour ce genre d’écran il y a souvent des drivers à installer
      les infos sont ici (vérifiez bien si c est le même type d’écran !)
      https://www.waveshare.com/wiki/4inch_HDMI_LCD?Amazon
      Après ça va dépendre aussi de la distribution sur laquelle volumio tourne…
      pour vos tests si vous avez une carte SD qui fonctionne avant install des drivers et de l’écran Waveshare, je vous conseille de la cloner et de ne travailler que sur la copie
      ça vous permet de faire les tests avec l’âme en paix, même si ça plante vous avez ce qu’il faut pour redémarrer…
      tenez moi au courant
      cdt
      françois

      Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Complétez ce captcha SVP *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.