Offrez un TFT couleur 16bits à votre PyBoard

Mardi dernier, nous vous parlions du support du contrôleur graphique ILI9341 (avec quelques vidéo).
ILI9341 est justement le contrôleur qui équipe notre Shield Arduino 2.8" couleur 16bits après quelques tests préliminaires, nous nous sommes lancés dans une documentation en Français... c'est l'occasion d'offrir un très beau jouet à votre carte PyBoard et une interface glossy à vos projets.

Attention: le shield Arduino dont nous parlons dispose également d'un film tactile résistif utilisant le contrôleur STMPE610 (en SPI). Pour l'heure, il n'est pas encore supporté.

Comment brancher
Voici comment brancher le TFT Touch Shield sur votre carte PyBoard
Source: cet article sur wiki.mchobby.be

Installation du pilote
Nous avons détaillé ce point dans notre tutoriel.

Quelques exemples de code
Dans ce premier exemple, nous testons les fonctionnalités de base de la bibliothèque 

from lcd import *
l = LCD( rate=21000000 )
l.drawRect(5, 5, 53, 310, BLUE, border=10, fillcolor=ORANGE)
l.drawRect(100,100,50,50,RED,border=3, fillcolor=GREEN )


Ce second exemple utilise une implémentation de drawLine() actuellement en cours de validation.
Cette fois-ci, nous allons dessiner une sinusoïde sur l'écran... de quoi démontrer les possibilités qu'un tel TFT peut offrir à vos projets.

from lcd import *
from math import sin, trunc, radians

l = LCD( rate=21000000 )
# Draw axis
l.drawLine( 0,0, 240, 0, CYAN )
l.drawLine( 120, 0, 120, 320, CYAN )

# Draw a sinus plot (in the height of the screen)
previous=None
for degree in range(0,320):
    # screen x axis = SIN, screen y axis = degrees
    point = ( trunc(120+sin(radians(degree))*120) , degree ) 
    if previous != None:
        l.drawLine( previous[0], previous[1], point[0], point[1], YELLOW )
    previous = point 

Il est bien entendu possible d'afficher des images BMP tout aussi facilement...

Cette possibilité permet de réaliser une interface graphique dans un logiciel de dessin... interface qu'il ne reste plus qu'à afficher sur l'écran à l'aide d'une simple ligne de commande :-)

from lcd import *
l = LCD( rate=21000000 )                                                    
l.renderBmp( 'test.bmp', pos=(50,15), bgcolor=RED )

Source: ce tutoriel sur wiki.mchobby.be

Notre tutoriel explique également comment produire ces images au format RGB565.

Le tutoriel
Notre tutoriel complet autour du TFT 2.8" + PyBoard est disponible et librement accessible sur notre wiki
Où acheter

MCHobby investi du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible.
SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.