Documente Academic
Documente Profesional
Documente Cultură
UTILISEZ UN ÉCRAN
LCD À 5€ AVEC VOTRE
ARDUINO
Denis Bodor
15 environ 30 €
minutes (Arduino inclus)
22 HACKABLE MAGAZINE n°4
Utilisez un écran LCD à 5€ avec votre Arduino
L
orsqu’on parle d’affi- type d’afficheur comme les smart- en termes de volumes et de coûts de
cheur LCD connecté phones super bas de gamme, les production.
à une carte de type baladeurs MP3, les imprimantes,
Le résultat est là, un écran LCD
Arduino, on pense ou n’importe quel appareil voulant
TFT de 2,2 pouces de diagonale
généralement à afficher des graphismes modernes
géré par un contrôleur ILI9340C avec
quelque chose d’assez basique un rien colorés, les prix en sortie
une résolution de 320 pixels par 240
comme un afficheur deux fois d’usine sont tombés à des niveaux
(souvenez-vous un jour, dans le pas-
16 caractères « type HD44780 ». impressionnants. Or ces usines,
sé, les écrans CGA de PC utilisaient
Monochrome, alphanumérique généralement se trouvent en Asie
et tantôt rétroéclairé, ce type de une résolution encore inférieure) en
où, comble du hasard, résident
module se connecte avec une également une tripotée de ven- 65536 couleurs ou en 262144 cou-
interface 4 ou 8 lignes de données deurs de modules et de compo- leurs. Le tout pour moins de 5 euros
directement contrôlées via les sor- sants électroniques. (4,24 euros port gratuit auprès d’un
ties de l’Arduino. Le résultat peut vendeur appelé Czb Electronic sur
Si l’on y pense rien qu’un instant, eBay. Non ce n’est pas un ami et je
être suffisant pour fournir des infor-
la chute des prix est parfaitement n’ai pas d’actions. C’est juste le ven-
mations de base à l’utilisateur, mais
compréhensible. Souvenez-vous, il deur que j’ai choisi d’après ses notes
on arrive vite aux limites même en
y a quelques années, la « norme » pour mes modules).
optant pour des afficheurs simi-
en termes d’affichage, disons sur
laires de 4×20 caractères. Bref, Nous pouvons connecter ce type
des copieurs ou des imprimantes
pour le dire franchement, c’est bien d’afficheur sur une carte Arduino
laser par exemple, était l’afficheur
sympathique, mais on est relative- exactement comme nous l’avons fait
LCD vert/gris présentant un texte
ment rapidement à l’étroit. avec la Raspberry Pi. La différence
succinct. Aujourd’hui, on a plutôt
Dans le précédent numéro droit à un mini écran couleur, ver- tient principalement en la façon de
de Hackable, nous avons fait sion édulcorée des interfaces de l’utiliser. En effet, alors que la Rasp-
connaissance avec un autre type smartphone. Mettez cela à l’échelle berry Pi fait fonctionner un système
d’affichage qui généralement est sur le plan « gamme de produits » et d’exploitation et donc permet l’utilisa-
bien plus coûteux : un écran LCF immédiatement vous comprendrez tion de l’écran via l’installation d’un
TFT graphique d’une résolution de que l’utilisation et donc la production pilote, avec une Arduino, on contrôle
320×240 pixels. Avec la généralisa- d’écrans TFT LCD de faible résolu- l’écran directement (ou plus exacte-
tion des périphériques utilisant ce tion ont dû largement être optimisées ment via une bibliothèque dédiée).
LE MONTAGE
que nous allons utiliser ne supporte
cependant que les afficheurs reposant sur
les contrôleurs ST7735, ILI9341/ILI9340,
PCF8833 et SSD1351. Il faudra donc vous
assurer avant achat que le produit utilise
bel et bien l’un de ces composants.
LE CROQUIS À PROSPOS
☐ _ ✕
DU CROQUIS
Fichier Édition Croquis Outils Aide
Les commentaires présents dans ce
croquis relativement succinct (faute de
place comme toujours pour le dernier
article écrit pour un numéro) parlent d’eux-
#include <SPI.h> mêmes. Nous n’avons là, bien entendu
#include <Ucglib.h> qu’une toute petite partie des fonction-
nalités offertes par la bibliothèque Ucglib
// Création de l’objet ucg qui non seulement se charge de piloter
// avec dans l’ordre les broches pour
// CLK, MOSI, DC, CS, et RESET l’écran, mais de plus fournie un ensemble
// de primitives graphiques (textes, lignes,
// Le type utilisé désigne à la fois le modèle rectangles, surfaces, dégradés, etc.).
// d’écran et le mode de connexion SPI
// L’installation de la bibliothèque est
// Ici l’écran sur base ILI9341 240x320 pixels relativement simple puisqu’il vous suffit de
// en couleurs 18 bits (262144 couleurs) pointer votre navigateur web sur http://
Ucglib_ILI9341_18x240x320_SWSPI ucg(7, 6, 5, 3, 4); code.google.com/p/ucglib/ et de cliquer
void setup(void) sur le bouton Download 1.01. Vous obtien-
{ drez, à terme, une archive contenant
// 1s pour laisser l’écran s’initialiser un répertoire Ucglib à copier dans le
delay(1000); répertoire libraries de votre répertoire
de croquis. Ceci vous donnera accès aux
// Initialisation de la logique interne,
// des structures de la bibliothèque exemples livrés avec la bibliothèque.
// et choix du mode de gestion des polices Pour utiliser l’afficheur, il vous suffira
ucg.begin(UCG_FONT_MODE_TRANSPARENT);
ensuite d’inclure la bibliothèque dans votre
// effacement de l’écran croquis et de créer une instance de la
ucg.clearScreen(); classe Ucglib_ILI9341_18x240x320_
} SWSPI (définissant le type d’afficheur uti-
lisé) nommée ucg. Les arguments passés
void loop(void)
au constructeur sont respectivement les
{
// choix de la police ports utilisés pour CLK, MOSI, DC, CS, et
ucg.setFont(ucg_font_ncenR14r); RESET.