Publié le 18 septembre 2022 - par

Un cadre photo pour une exposition

Le FabLab Utopi du Creusot participe début octobre 2022 au Village des Sciences organisé au Creusot. Parmi les expériences exposées cette année, nous présentons une expo d’écrans … blancs. L’idée c’est d’enlever le filtre polarisant qui existe sur l’écran LCD, et de faire regarder le public avec des lunettes munies … d’un filtre polarisant. Une façon d’engager la conversation et d’expliquer certains phénomènes physiques.

Un cadre photo pour une exposition

Contraintes et cahier des charges

Il faut préparer 4 Raspberry Pi. Au démarrage, les Raspberry Pi lancent un programme d’affichage d’images sur l’écran, chaque image est présentée 30 secondes. Les images sont présentées en boucle.
Les écrans qu’on a « dépiautés » en enlevant le film polarisant (cutter puis nettoyage à l’acétone, avec les précautions d’usage contre les coupures quand on utilise un cutter pour découper le film. Pour l’acétone il faut éloigner les enfants et les animaux, l’utiliser à l’extérieur, sinon aérer la pièce plusieurs heures après utilisation, ou porter un masque adapté. Porter des gants pour protéger la peau, ne pas fumer…
Les images sont présentées sur des vieux écrans (de récupération) Dell E176EPf qui ont une résolution de 1280×1024 pixels. Les images ont été préalablement (légèrement) découpées et redimensionnées pour les amener au format requis. Elles seront donc affichées en plein écran avec la résolution adéquate. Les écrans ont une entrée VGA, ce qui impose d’utiliser un adaptateur HDMI=>VGA. En HDMI il y a un dialogue entre le Raspberry Pi et l’écran pour convenir de la meilleure résolution à utiliser (EDID). En VGA il n’y a pas de dialogue… il va falloir configurer manuellement la résolution.

L’adaptateur HDMI => VGA est bien adapté pour cet usage. Il provient de Amazon

Régler la résolution à 1280×1024

Le système d’exploitation a bien évolué sur le Raspberry Pi. Il intègre les souhaits des utilisateurs, en particulier la possibilité de régler la résolution de l’affichage.

On peut par exemple régler la  résolution en mode « Headless » (sans écran ni clavier/souris connecté). Vous y accédez via le menu de configuration du Raspberry Pi dans l’onglet Display. c’est la résolution que verra VNC lorsque vous prendrez la main à distance avec VNC. Ça ne sert pas ici mais c’est toujours bien de le savoir 😉

Les écrans qui vont être utilisés au Village des Sciences sont des DELL avec une résolution de 1280×1024 pixels. On va donc régler la résolution du Raspberry Pi  sur cette valeur :

Dans le menu du Raspberry Pi, ouvrez le menu Screen Configuration.

Dans Configure > HDMI1 > Résolution choisissez 1280×1024 (ou une autre valeur selon l’écran que vous utiliserez). Cliquez ensuite sur Appliquer (flèche rouge).

Une fenêtre apparait, si tout est correct, cliquez sur Valider. L’utilité de cette validation est que si la configuration que vous imposez n’est pas supportée par le moniteur et que l’image disparait, il suffit de patienter 10 secondes. Comme vous ne validez pas la modification, le système revient en arrière et remet la valeur précédente (qui fonctionnait). L’affichage réapparait alors normalement.

Installer feh

Pour gérer le cadre photo j’ai choisi le programme feh. La première étape a été de créer une carte SD propre avec Raspberry Pi Imager. Après réglage des paramètres, suppression du passage en veille (c’est mieux pour un cadre photo 😀 ), il faut installer feh :

sudo apt install feh

et c’est tout.

Pour notre expo, ce sont les images des tableaux d’un peintre local : Raymond Rochette qui a su restituer les conditions de travail dans les usines métallurgiques du Creusot. Il a aussi abordé de nombreux autres sujets comme vous pourrez le voir sur ce site qui présente son œuvre. Pour les peintures relatives aux usines, choisissez Genres > Paysage Industriel ou Usine.

Ici c’est une Coulée à l’aciérie – huile sur bois – 60x72cm (Attention image protégée, reproduction interdite).

J’ai donc créé un dossier /home/pi/expo sur le Raspberry Pi, dans lequel j’ai déposé les images des tableaux.

Afficher les tableaux aléatoirement à l’écran

Pour afficher les images aléatoirement à l’écran, entrez la commande suivante dans le terminal :

feh -F -z -D 5 ~/expo/

  • L’option -F permet pour toutes les commandes suivantes de s’afficher en plein écran
  • L’option -z fait un tirage aléatoire d’image dans un répertoire
  • L’option -D suivie d’un chiffre en secondes donne la durée d’affichage de chaque image
  • ~/expo/ est le répertoire où j’ai rangé les images

Créer un fichier de démarrage

Créez un fichier dans le dossier /home/pi :

sudo nano diapo.sh

Dans ce fichier mettez la commande du cadre photo :

feh -F -z -D 5 ~/expo/  &

Le & final force la commande à s’exécuter en arrière plan. Modifiez les droits du fichier pour qu’il soit exécutable. Comme on n’est pas connecté à Internet, on peut même mettre 777 (pas recommandé) sans trop de risque.

sudo chmod 775 diapo.sh

Exécuter automatiquement le script

L’idée c’est que les personnes présentes sur le stand n’aient rien à faire pour que le diaporama se lance.Comme j’ai utilisé la distribution qu’il y avait sur mon Pi400, elle est en mode graphique avec un Desktop. Le plus simple c’est d’utiliser l’autostart pour que lorsque le bureau a démarré le programme soit lancé. Ouvrez autostart :

sudo nano /etc/xdg/lxsession/LXDE-pi/autostart

Ajoutez en dernière ligne :

@bash /home/pi/diapo.sh

Sortez par CTRL X  pour enregistrer la modification et redémarrez le système.

Le programme se lance et les diapos commencent à défiler. Vous pouvez sortir du programme en appuyant sur la touche ESC.

Arrêt propre du système

Comme tous les systèmes d’exploitation, le Linux qui tourne sur le Raspberry Pi accompli de nombreuses tâches en simultané, et parfois il n’a pas terminé d’écrire un fichier sur la carte SD (qui lui sert de mémoire de masse). De ce fait si on arrête brutalement le Raspberry Pi en débranchant ou en coupant l’alimentation, on court le risque d’avoir des fichiers pas terminés, pas fermés, mal enregistrés. Au prochain démarrage du système, ça fonctionne… ou pas ! LA solution c’est de provoquer systématiquement un arrêt du système avant de couper l’alimentation. Les concepteurs du Raspberry Pi on prévu cette éventualité. Le GPIO 3 est réservé à cet usage. Il suffit de brancher un bouton poussoir entre le GPIO3 et la masse. Lorsqu’on appuie sur le bouton poussoir le système déclenche une procédure d’arrêt « propre ».

Installer un bouton poussoir (BP)

L’installation physique ne devrait pas poser de problème. Le bouton poussoir est connecté à la masse (broche 6) d’un côté et au GPIO3 (broche5). Quand on actionne le BP, le système déclenche un arrêt propre.
Vous pouvez utiliser tout type de bouton, avec un contact fugitif (le contact se coupe quand vous relâchez le BP).

Ajouter l’interception du BP sur GPIO 3

Ouvrez le fichier /boot/config.txt pour le modifier

sudo nano /boot/config.txt

A la fin du fichier dans la rubrique [all] ajoutez

dtoverlay=gpio-shutdown

Au prochain redémarrage, cette ligne activera la surveillance du GPIO 3 par le système, pour provoquer l’arrêt en cas de mise à la masse. Une résistance de pull-up est prévue sur le GPIO 3.

Par défaut c’est le GPIO3 qui est utilisé. Sur une de mes cartes le GPIO 3 est « mouru », il reste toujours à 0 en entrée (souvenir d’une manip ratée ?). J’ai donc décidé de tester une autre entrée. Le GPIO 26 fonctionne bien. J’ai modifié config.txt pour l’utiliser.

dtoverlay=gpio-shutdown,gpio_pin=26

Du coup le bouton poussoir sera branché entre GPIO26 et masse (broches 37 et 39) comme sur la photo ci-dessous.

Mise en route et arrêt du Raspberry Pi

Pour la mise en route du cadre photo:

  • Vérifier que le bouton poussoir est bien connecté en 37 et 39 (1)
  • Connecter l’adaptateur HDMI=>VGA sur la sortie HDMI (2)
  • Connecter l’alimentation (3)

Arrêt du cadre photo

  • Appuyer sur le bouton poussoir connecté en broches 37 et 39 (1)
  • Attendre un moment, l’écran s’éteint, la LED ACT clignote une dizaine de fois puis s’éteint.
  • Débrancher la prise d’alimentation (3)

Test de la fonction d’arrêt propre

Lorsqu’on appuie sur le bouton poussoir, le système s’arrête proprement.

Conclusion

Un montage qui vous servira si vous devez projeter des images en boucle sur un écran. On peut supprimer la projection aléatoire en modifiant la ligne de commande dans le script de lancement.

Sources

Arrêt « propre » du système : https://www.circuitbasics.com/using-a-switch-to-startup-and-shutdown-the-raspberry-pi/

Cadre photo : https://blog.dorian-depriester.fr/linux/raspberry/un-cadre-photo-numerique-connecte-avec-un-raspberry-pi

Programme de cadre photo : https://doc.ubuntu-fr.org/feh

Démarrer un script automatiquement : https://www.circuitbasics.com/starting-programs-automatically-using-cron-on-a-raspberry-pi/

À 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.

8 réflexions au sujet de « Un cadre photo pour une exposition »

  1. chazottes

    Bonjour,

    Excellent tuto comme d habitude,

    vous devriez sacrifier un vieil écran, afin de montrer et

    d expliquer le phenomene de polarisation de la lumiere

    Experience tres interessante pour ceux qui ne l ont jamais vu ou fait

     

    et je suppose que vous possedez un ou plusieurs vieux ecrans….

    Encore merci

    A Bientôt

    Christian

     

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

      Bonjour Christian
      C’est exactement ce que nous avons fait. 4 écrans ont été « pelés », on a enlevé le filtre polarisant et on le remplace par celui qui est monté sur les lunettes !
      je n’ai pas de photos de cette partie car je m’occupe des raspi et de leur config/environnement/câbles…
      mais il y aura des photos après l’expo (7 au 9 octobre)
      cdt
      francois

      Répondre
  2. Ping : Visite de la maison "Rochette" - Framboise 314, le Raspberry Pi à la sauce française....

  3. travers cyril

    Bonjour,

     

    y a-t-il moyen de répéter une image et laisser les autres en aléatoires?

    Je travaille pour un restaurant et j’aimerais que leur menu apparaisse entre chacune de mes photos, est-ce possible?

     

    d’avance merci

    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.