Créer un diaporama d’affichage I2C OLED avec Python

Créer un diaporama d'affichage I2C OLED avec Python

Une fois que mon écran OLED miniature fonctionne sur le Raspberry Pi, j’ai décidé de créer un script Python pour générer un diaporama d’images. Le script que j’ai créé lit les images d’un répertoire qu’il redimensionne et convertit avant de les afficher à l’écran.

Écran OLED I2C

Écran OLED de 0,9 pouces

Pour utiliser le script de diaporama, vous devez avoir l’écran OLED connecté à votre Pi via l’interface I2C et vérifier qu’il fonctionne à l’aide des exemples de scripts Adafruit.

Vous trouverez tous les détails de la configuration de l’affichage dans mon Utilisation d’un module d’affichage I2C OLED avec le Raspberry Pi.

Télécharger le diaporama Python Script

Assurez-vous que vous êtes dans le répertoire personnel :

cd ~

Créez un répertoire pour stocker le script et les images :

mkdir slideshow

et accédez à ce nouveau répertoire :

cd slideshow

Maintenant, le script du diaporama peut être téléchargé depuis mon référentiel BitBucket directement sur votre Pi en utilisant :

wget https://bitbucket.org/MattHawkinsUK/rpispy-misc/raw/master/oled/oled_slideshow.py

Simplifions le nom du script et renommez-le en utilisant :

mv oled_slideshow.py slideshow.py

Remplir le répertoire avec des images

Vous pouvez trouver vos propres images, mais pour commencer, vous pouvez télécharger ces exemples d’images sur votre Pi :

wget https://bitbucket.org/MattHawkinsUK/rpispy-misc/raw/master/oled/terminator.pbm

wget https://bitbucket.org/MattHawkinsUK/rpispy-misc/raw/master/oled/robocop.pbm

wget https://bitbucket.org/MattHawkinsUK/rpispy-misc/raw/master/oled/cyberman.pbm

Utilisez la commande suivante pour lister les fichiers dans le répertoire du diaporama et vérifier que les images sont au même endroit que le script du diaporama :

ls -l

Vous devriez voir les fichiers suivants répertoriés :

  • diaporama.py
  • terminateur.pbm
  • robocop.pbm
  • cyberman.pbm

Exécuter l’exemple de script

Le script peut être exécuté à l’aide de Python 2 ou Python 3.

L’exécution sous Python 3 se fait en utilisant :

python3 slideshow.py

Vous pouvez modifier le délai entre chaque image en spécifiant le délai sur la ligne de commande sous forme d’entier :

python3 slideshow.py 4

Augmenter la vitesse du bus I2C

Ceci est facultatif mais pour améliorer le taux de rafraîchissement de l’écran, vous pouvez augmenter la vitesse du bus de l’interface I2C. Cela peut être fait en suivant le didacticiel Changer la vitesse du bus Raspberry Pi I2C.

Le diaporama en action

Le diaporama devrait ressembler à ceci :

Conseils de résolution d’image

Le script examine la résolution de l’image et la redimensionne si elle ne correspond pas à la taille d’affichage.

Le redimensionnement des images prend plus de temps, donc avec des délais plus petits, le temps de traitement accru peut être visible. Cela est particulièrement vrai si les images sont toutes de tailles différentes et prendront un temps légèrement différent à traiter. Pour cette raison, vous souhaiterez peut-être redimensionner toutes vos images à une taille commune avant qu’elles ne soient placées dans le répertoire avec le script.

De nombreuses modifications peuvent être apportées à ce script. Peut-être que les images pourraient être créées automatiquement par la caméra Pi et que le script du diaporama les afficherait ensuite à l’écran ?

Dépannage

Enfin si vous rencontrez des problèmes voici quelques points à considérer :

  • Avez-vous réussi à configurer l’écran et à faire fonctionner les exemples Adafruit ?
  • Avez-vous téléchargé le script oled_slideshow.py dans le même répertoire que vos images ?
  • Essayez d’exécuter le script avec seulement quelques images