Utiliser un TFT Rond avec MicroPython

Bonjour à tous,
Le week-end a été productif pour finalement produire un pilote MicroPython pour le TFT DFR0529... un écran 128px * 128px tout en rondeur.
Pilote st7687s sur TFT DFR0529 de DFRobot

Ce périphérique dispose de son propre FrameBuffer Memory et le bibliothèque Arduino (portée sous MicroPython) manipule directement le contenu de cette mémoire.
L'intérêt est évident, cela permet d'économiser de la mémoire sur le MicroContrôleur :-)  Nous avons fait le portage dans le respect de cette approche... car cela à aussi de l'intérêt pour un microcontrôleur MicroPython.

Avantages:

  • Accès direct à la mémoire de l'écran sans passer par un FrameBuffer MicroPython... donc très économe en RAM sur le MCU.
  • Accès au Pixel près
  • Ecran rond découpé dans une dalle carré (128px * 128px)
  • Angle de vue de 180° (cfr. spécification de la dalle)
  • Le pilote prend en charge le dessin de forme géométrique et texte
  • Possibilité de désactiver le rétro-éclairage (économie d'énergie).

Inconvenient:

  • Débit de donnée significativement ralenti par la manipulation du Latch (HC595).
    Le remplissage de l'écran en rouge nécessite 5 secondes.
  • Animations graphiques et transfert d'image limité par le débit.

En vidéo c'est mieux

Pilote MicroPython st7687s est aussi visible sur cette vidéo YouTube.

Conclusions

  • Si le remplissage est un peu lent (il faut manipuler le latch en plus de la communication SPI), l'approche du tracé sans remplissage est tout à fait intéressant et présente un intérêt certain.
  • La mise en oeuvre de la font 6x8, plus légère que MicroPython, mériterait un portage sous FrameBuffer pour d'autres afficheurs.
Encore à réaliser
  • Le transfert d'un fichier image vers le TFT
  • Le portage de l'exemple "clock"

Ressource

Où acheter

Aucun commentaire