17 janvier 2016 by kentaro
Installer et configurer l’écran tactile officiel (7″) du Raspberry Pi
J’ai fait dernièrement l’acquisition de l’écran tactile de 7 pouces dit Officiel du Raspberry Pi. J’ai également profité de l’occasion pour acheter un support.
Histoire de faire un peu de pub, j’ai acheté l’ensemble chez Kubii fin décembre 2015 alors que l’écran était passé en-dessous des 70 euros et le support pour une douzaine d’euros.
Vous pourrez « admirer » ci-dessous quelques photos de l’ensemble terminé et fonctionnel.
Etapes chronologiques
Je vous propose de suivre de façon chronologique les différentes étapes par lesquelles je suis passé pour avoir un système pleinement fonctionnel.
Le montage
- Il va de soit que je possédait déjà au préalable un raspberry pi et dans mon cas le RPi 2 Model B avec une alimentation ad-hoc.
- Réception des deux colis, l’écran et le support. L’écran est déjà pré-assemblé, autrement dit la carte est fixée et les nappes reliant l’écran à la carte également.
- Pour monter le support il faut démonter la carte et débrancher les nappes (observez bien les connecteurs sont pourvus (sur les RPI récents) d’une petite pièce en plastique mobile qui permet de maintenir en place la nappe, tirer vers vous un petit coup à gauche et un petit coup à droite et le tour est joué. Retirer les surface protectrices de chacune des pièce en PVC (layer – le support étant un ensemble de 3 couches + les fixations pour les « pieds »). Positionner la 1ère, la seconde et la troisième couche ainsi débarrassées de leur couche protectrice les unes sur les autres. Ensuite fixer les supports de pieds et les pieds et fixer le tout avec les vis en plastique fournie avec le kit. Je vous rassure le support est fourni avec une feuille vous expliquant la marche à suivre (en anglais), rien de très compliqué en soit. Ceci fait, nous pouvons passer à l’étable suivante.
- Remontage de la carte (interface) sur le dos de l’écran mais au préalable, il faut refixer les nappes que l’on avait retiré à l’étape précédente. Voici le un lien vers le fabricant de l’écran (Element14) qui vous aidera pour cette opération si vous en éprouviez le besoin. Refixer les deux nappes sur leur connecteur respectif. Vérifiez la bonne tenue de ces dernières et fixer la carte sur le dos de l’écran avec les entretoises (serrez à la main avec une pointe de fermeté). Fixer la nappe blanche fournie avec l’écran sur le connecteur prévu à cet effet (n’oubliez pas le système de fixation, vous savez les petites pièces mobiles, on en a déjà parlé)
- Fixer le raspberry pi sur les entretoises à l’aide des vis, le connecteur « display » du RPi du côté du connecteur (nappe blanche) de la carte interface. Ensuite fixez la nappe blanche sur ce même connecteur. Pour alimenter le RPi vous avez plusieurs solutions soit vous utiliser deux broches du port GPIO soit comme moi vous utilisez un petit cable usb vers micro-usb, la carte interface de l’écran possédant un port usb prévu à cet effet. Concernant les branchements sur le port GPIO et les broches de l’interface suivez les infos du lien que je vous ai donné à l’étape 4.
Installation et configuration
- C’est avec raspbian que j’ai donc commencé les opérations. Personnellement j’ai une collection d’images pré-configurées dont une avec un raspbian dont le clavier, le wifi et tout une série de paramètres sont déjà faits. J’utilise win32DiskImager pour placer l’image sur une carte SD je place cette dernière dans le slot du RPi, je connecte l’alimentation sur le port micro-usb de la carte interface de l’écran et le démarrage se lance.
- Premier démarrage… . Ecran noir, il n’y a rien d’affiché. Je branche mon écran sur le port hdmi du RPi et je redémarre (j’aurais également pû me connecter en ssh vu que le Wifi était déjà configuré). Je fais la mise à jour de l’O.S.:
sudo apt-get update sudo apt-get upgrade
Ensuite je lance sudo raspi-config car j’avais oublié d’activer la communication SPI au niveau du Kernel. Rendez-vous dans les options avancées (Advanced Options) -> A6 SPI : Enable/Disable automatic loading of SPI kernel -> Select et Finish pour terminer. Redémarrage du RPi et au miracle l’affichage tant attendu se produit… mais à l’envers !
- Je me renseigne et je lis que l’on peut facilement remédier à ce problème en faisant faire une rotation à l’affichage. Pour se faire il faut éditer le fichier /boot/config.txt:
sudo nano /boot/config.txt
et ajouter à la fin du fichier la ligne suivante:
display_rotate=2
REMARQUE: Jeremy et Nany!63 (voir commentaires) me font remarqué que l’on peut faire une rotation à la fois du LCD et du tactile avec la commande suivante (à ajouter toujours dans le config.txt):
lcd_rotate=2
- Redémarrage du RPi avec un sudo reboot et incroyable… l’écran sur son support m’affiche la séquence de boot à l’endroit (ce qui est tout de même plus pratique).
Super emballé et d’humeur joyeuse je décide de lancer l’interface graphique avec un puissant startx (ex vedette d’un vieux porno des années 70). Sous mes yeux ébahis je vois apparaître le bureau de raspbian, je pointe mon index sur le Menu et m’attends à son ouverture lorsque « bardaf » le pointeur de la souris se retrouve propulsé à l’opposé de l’endroit ou j’avais posé mon dévolu (le Menu), autrement-dit dans le coin inférieur droit (il faut signaler que le la barre de Menu est chez moi toujours positionnée en haut)! Chercher l’erreur… . - Résolution de l’inversion des axes X et Y. Comme nous avons pu le constater lors de l’étape précédente après avoir un affichage inversé nous avons maintenant une inversion des axes XY. On ne fait pas dans la facilité mais nous on aime ça, les mains dans le cambouis (enfin, nettement moins si on doit chercher trois semaines) ! Après quelques recherches approfondie je trouve une solution ! La solution est d’éditer un fichier de configuration du serveur X, en l’occurence le fichier: /usr/share/X11/xorg.conf.d/10-edev.conf
sudo nano /usr/share/X11/xorg.conf.d/10-edev.conf
Dans ce fichier vous devriez y trouver différentes sections (clavier , souris et entre autre l’écran tactile):
La section de l’écran tactile:
Section "InputClass" Identifier "evdev touchscreen catchall" MatchIsTouchscreen "on" MatchDevicePath "/dev/input/event*" Driver "evdev" Option "InvertY" "true" Option "InvertX" "true" EndSection
Les deux dernières lignes:
Option "InvertY" "true" Option "InvertX" "true"
représentent les deux options à ajouter pour inverser les axes X et Y.
Une fois ces deux lignes ajouté à la fin de cette section, on enregistre le fichier et on redémarre le RPi avec un sudo reboot . - On relance l’interface graphique avec un startx et on essaie à nouveau d’ouvrir le Menu avec son index…, en principe vous devriez tout comme moi pousser un cri de guerre viril ou non en fonction de votre voix lorsque ce dernier s’ouvrira comme par magie.
Ceci termine cet article qui je l’espère aura peut-être aidé certains d’entre-vous. Je reconnais que pour être complet j’aurais dû faire plus de photos surtout dans la partie montage, mais je pense que vous devriez vous en tirer sans trop de soucis avec les honneurs. Je reste bien entendu disponible en cas d’informations complémentaires.
Le prochain article devrait porter sur le calibrage de l’écran avec la commande ts_calibrate . Bien que par défaut le calibrage me semble déjà plus que correcte.
jeremy - 7 février 2016 @ 21 h 12 min
salut tu as fais une faute dans une de tes commandes enfin on voit pas le tiret dans la commande display_rotate=2 et pour mettre le lcd + tactile en même temps à 180° il y a la commande la lcd_rotate=2 instead
kentaro - 8 février 2016 @ 12 h 42 min
Salut Jeremy, en effet le caractère underscore n’apparait pas, il existe mais il y a un problème de line-height que je vais régler de ce pas. Merci pour la commande lcd + tactile, je vais ajouter l’info dans l’article. Encore merci et à bientôt.
Jérémy - 6 mars 2016 @ 20 h 33 min
Re salut dsl je réponds un peu tard merci pour l’ajout de mon info, j’ai une question voila j’ai pris la distribution recalbox 4.0 et je me suis fais une console portable à l’aide d’une batterie externe maintenant je cherche pour le son aurais tu une Idee de ce que je pourrai prendre ? Je te remercie d’avance pour ta réponse
kentaro - 7 mars 2016 @ 10 h 15 min
Salut Jeremy,
Bonne idée ta console portable avec recalbox ! En ce qui concerne le son tu as à mon avis plusieurs possibilités. La plus facile, c’est le casque à brancher directement sur la prise du RPI.
Une solution plus technique est de coupler un amplificateur au RPI. Amp sur lequel tu viendras connecter deux petite enceintes à intégrer dans ton projet. Ici on reste dans l’idée de garder un produit intégré. Chez Adafruit ils ont deux ou trois Amp qui pourraient convenir en voici un (2,8W) : https://www.adafruit.com/products/1712
En cherchant j’ai trouvé un sujet qui aborde cette problématique :https://www.raspberrypi.org/forums/viewtopic.php?f=65&t=86521
Une autre possibilité est d’intégrer un module bluetooth au RPI et utiliser ainsi une enceinte bluetooth séparée. Mais du coup tu perds au niveau de l’intégration puisque l’enceinte séparée. Au passage le RPI 3 (sorti la semaine dernière) intègre à présent le wifi et le bluetooth.
Il existe également des enceintes filaires « compactes » tels que celle-ci :http://nuxii.fr/index.php?id_product=1&controller=product&id_lang=1 . Mais peu intégrable… .
Quelque soit ton choix.. bon courage 😉
Jérémy - 7 mars 2016 @ 19 h 28 min
Re salut dit aurais tu une adresse mail j’aurais besoin de ton aide parce que je compte prendre un amp mais je ne m’y connais pas trop pour la connectique cordialement Jeremy
kentaro - 11 mars 2016 @ 14 h 17 min
Salut Jérémy tu peux me contacter sur cette adresse : ken[at]kentaro[dot]be
Jérémy - 12 mars 2016 @ 1 h 23 min
Excuse moi mais c’est bien ken[dot]kentaro[at]be ?
kentaro - 15 mars 2016 @ 11 h 02 min
Non, tu remplaces le ‘.’ par une arobase ‘@’ et inversément l’arobase par un . 😉
[at] = @ et [dot] = .
Helene - 2 avril 2016 @ 20 h 30 min
Merci pour ce tutoriel, cependant après avoir suivi le trois, puis essayé la variante de Jérémy, il est bien plus simple de mettre le « display… » en commentaire, cela évite la modification des axes.
Eric - 9 avril 2016 @ 16 h 20 min
Bonjour,
…et merci pour le partage, la rotation de l’écran m’enlève une grosse épine du pied…!
Par contre je trouve les fenêtres non adaptés à l’écran 7 pouces, y aurait-il moyen de réduire afin d’avoir les fenêtres entières à l’écran?
Merci
kentaro - 3 mai 2016 @ 9 h 46 min
@Eric Je vois ce que tu veux dire, une solution miracle je n’en connais pas, par contre tu peux éventuellement changer de gestionnaire de fenêtres pour essayer de voir si cela peut améliorer certaines zones d’inconfort.
Plutôt que de tous les énumérer (il y en a quand même quelques-uns) voici une page du Wiki debian sur laquelle tu devrais touver ton bonheur:
https://wiki.debian.org/fr/WindowManager
😉
Seb - 4 mai 2016 @ 19 h 34 min
Salut à tous.
Voilà avec cet écran, je fais une centrale domotique avec dashboard qui m’inique météo, date, température intérieur extérieur, et j’en passe.
Par contre, j’aimerai éteindre l’écran avec un bouton tout en laissant la RPI tourner. Et évidemment avec ce même bouton, j’aimerai rallumer cet écran…
L’un de vous aurai une idée… solution… pour faire ça?
Merci à vous par avance!
Seb - 31 mai 2016 @ 8 h 06 min
Salut à tous.
Voilà avec cet écran, je fais une centrale domotique avec dashboard qui m’indique météo, date, température intérieur extérieur, et j’en passe.
Par contre, j’aimerai éteindre l’écran avec un bouton tout en laissant la RPI tourner. Et évidemment avec ce même bouton, j’aimerai rallumer cet écran…
L’un de vous aurai une idée… solution… pour faire ça?
Merci à vous par avance!
kentaro - 1 juin 2016 @ 9 h 41 min
@Seb
Sur le principe cela ne devrait pas être trop compliqué… .
En ce qui concerne mon montage c’est au départ de l’écran que j’alimente mon RPI en courant électrique mais tu peux faire l’inverse. Tu branches l’alimentation sur ton RPI et tu utilises les pins de ce dernier pour alimenter ton écran. Ensuite tu places un interrupteur sur le câble qui alimente ton écran en courant et le tour est joué.
Le lien vers la page de montage d’Element14 était déjà dans l’article mais je te le rends : https://www.element14.com/community/docs/DOC-78156?ICID=rpiaccsy-topban-products#installI
Tu peux remarquer qu’à la 7ème étape ils te donnent les pins que tu dois utiliser pour alimenter ton écran au départ du RPI. La pin 2 qui est une pin qui envoie du courant (5v) et la pin 6 qui correspond à la masse. Tu montes un interrupteur on/off(permanent) entre les deux et hop c’est terminé. 🙂
Bonne continuation pour ton projet.
Seb - 2 juin 2016 @ 20 h 46 min
Salut Kentaro.
MERCI!!! Etant électronicien, je ne comprend pas pourquoi je n’y est pas pensé!
Bon c’est vrai qu’avec un poussoir, ça aurait été plus… « classe ». Alors je restai buté dessus. J’ai réussi à compiler un prog sous python qui fonctionne à merveille (avec la fonction ‘sudo xset dpms force off’) quand je le lance sous le terminal mais rien ne se passe quand je le met en démarrage auto sous le rc.local. Bizarre parce qu’avec une autre commande comme sudo halt ou reboot ça fonctionne nikel en démarrage auto…
Mais ton idée est excellente! j’alimente le tout déjà par mon RPI. Je teste ça dans les prochain jours qui viennent et je fais un retour!
Merci encore!
Seb - 4 juin 2016 @ 9 h 24 min
Salut salut,
Bon bah voilà mon retour, ça ne fonctionne malheureusement pas.. 🙁
Lorsque je coupe l’alim, evidemment ça éteint bien l’écran, mais lorsque je remet l’alim en route, l’écran en se rallume pas, par contre je vois la LED rouge du RPI faire un petit clignement à ce moment là.
Bon bah me reste plus qu’à trouver une solution…
Est-ce que quelqu’un sait à qsuoi correspond les 3 autres pins entre les alim de la carte pour l’écran (INT, SDA & SCL)?
Merci.
kentaro - 17 juin 2016 @ 9 h 25 min
Merci Seb pour toutes ces infos.
Je passe un peu en coup de vent aujourd’hui mais je prends notes de tes problèmes et je reviens vite avec de infos je l’espère. 😉
Nany!63 - 26 décembre 2016 @ 17 h 20 min
Je me permet une petite correction : la commande pour retourner l’écran + le touchpad c’est « lcd_rotate=2 » et non pas « lcd_rotate=2 instead » (« use lcd_rotate=2 instead display_rotate=2 » où instead veux dire « au lieu de », c’est peut-être de là que vient la confusion)
kentaro - 5 janvier 2017 @ 16 h 55 min
Merci pour cette précision je mets à jour l’article. 😉
JD - 27 janvier 2017 @ 17 h 11 min
Bjr, merci pour cet article. Je souhaite utiliser l’écran Officiel 7 pouces pour faire une console portable sous recalbox et je voulais savoir comment configurer la sortie HDMI afin que si un câble HDMI est connecté avant la mise sous tension du PI3, le HDMI soit prioritaire et que l’écran 7 pouces reste éteint.
Jidem - 31 janvier 2017 @ 23 h 45 min
Salut Kentaro et merci pour cet article.
Connais-tu la commande ou le fichier à modifier pour régler la luminosité de l’écran? Tu parlais de la commande ts_calibrate, est-ce bien cela?
Je m’amuse à faire une recalbox portable et c’est un point génant pour l’optimisation de la batterie.
D’avance merci pour ron retour.
jidem
Hugusse - 20 octobre 2017 @ 17 h 04 min
Mon écran de raspberry pi est à l’envers comment je fais ?
kentaro - 8 novembre 2017 @ 8 h 28 min
Un peu tard peut-être…
Il faut éditer le fichier /boot/config.txt:
sudo nano /boot/config.txt
et ajouter à la fin du fichier la ligne suivante:
display_rotate=2
😉
stephane - 1 décembre 2017 @ 21 h 13 min
Bonjour a tous,
Une personne aurais trouver comment changer la definition de l’affichage de l’ecran 7 pouces officiel ? on ne voit pas les boutons dans les fenetres !
Merci à tous pour vos reponses.
olivier - 22 décembre 2017 @ 10 h 48 min
bonjour,
Pouvez vous m’aider a tourner de 180° l’image de ma télé pour ma recalbox ?
j’ai tout essayer et rien ne fonctionne ! Je n’y connais pas grand chose en informatique
J’ai essayé de modifier directement en reseau en tapant l’adresse ip et en allant dans recalbox config ! Cependant je ne dois pas ajouter display_rotate=2 ou
lcd_rotate=2 au bon endroit car au redemarage rien n’est pris en compte !!
merci d’avance pour vos conseils
Zelfor - 17 avril 2018 @ 20 h 26 min
Bonjour, j’ai un raspberry modèle B, j’ai suivi le tuto, j’ai la dernière version de Raspbian d’installer sur ma carte mais l’écran ne démarre pas. Les pins sont bien branché, j’ai essayé aussi de brancher l’écran à ma batterie externe (C’est une 22 000mAh, avec 2,4A sur chaque sortie). Or, rien ne se passe. J’ai la LED du raspberry qui s’allume pour dire qu’il boot mais j’ai absolument rien sur l’écran… J’ai suivi le tuto, j’ai activer le SPI, mais l’écran reste noir et rien ne s’affiche.. L’écran ne serai pas compatible avec un modèle B de première génération ?
kentaro - 18 avril 2018 @ 10 h 26 min
Salut 😉
Comment as-tu connecté la framboise ?
« … fixez la nappe blanche sur ce même connecteur (DSI). Pour alimenter le RPi vous avez plusieurs solutions soit vous utiliser deux broches du port GPIO soit comme moi vous utilisez un petit cable usb vers micro-usb, la carte interface de l’écran possédant un port usb prévu à cet effet. »
Si tu as utilisé le port GPIO il faut voir la step 7 de ce lien (http://www.element14.com/community/docs/DOC-78156?ICID=rpiaccsy-topban-products#installI).
Sinon, t’es-tu connecté en ssh à l’aide d’une autre machine pour voir si tu obtiens bien l’invite de commande du Pi et vérifier ainsi qu’il a bien démarré.
J’ai vérifié la compatibilité avec pi PI model B et c’est OK
Connexion via le port display (DSI) prévu à cet effet.
C’est évidemment un peu ardu de dépanner à distance, normalement si tu as suivi le étapes cela aurait dû fonctionner (mais bon on sait tous que ce sont des conneries dans l’IT des tas de paramètres font que cela peut partir en sucette). Le mieux est d’y aller pas par pas et de recommencer par le début.
Je reste à ta disposition en cas de besoin 😉
Zelfor - 10 mai 2018 @ 13 h 12 min
Bonjour, je reviens vers vous. Est-ce qu’il serai possible que je vous contacte en privée svp ?
Didier_b - 4 octobre 2020 @ 15 h 20 min
@Zelfor : il te faut brancher les deux autres petits câbles sur les broches respectivement
SCL/SDA du contrôleur de l’écran sur les broches GPIO 2 et 3