RASP-LCD-RGB-Utiliser

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche


MCHobby investit 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.

Ajustage Du Contraste

La platine utilise un LCD alphanumérique avec un potentiomètre de contraste externe. La première fois que vous l'utiliserez, ajustez le potentiomètre dans le coin inférieur droit jusqu'à ce que vous puissiez lire correctement le texte. Si le code n'est pas encore chargé dans le Pi, quelques rectangles peuvent apparaître à la place, ou vous pourriez ne rien voir du tout.

Préparer votre Pi pour l'I2C

Pour une introduction plus complète sur l'installation de I2C sur votre Pi vous pouvez faire un détour par notre tutoriel sur I2C.

Si vous avez installé Occidentalis, vous pouvez passer cette séquence. Pour les utilisateurs de Raspbian, éditez le fichier /etc/modules (sudo nano /etc/modules) et ajoutez y :

i2c-bcm2708
i2c-dev

à la fin du fichier. Ensuite, sauvegardez et redémarrez le système pour activer le pilote du matériel (hardware) I2C.

Avant de démarrer avec I2C sur le Pi, vous devrez effectuer quelques opération en ligne de commande (sur la console). Entrez les commandes suivantes pour ajouter le support SMBus à Python (le support SMBus comprend I2C) :

sudo apt-get install python-smbus
sudo apt-get install i2c-tools

i2c-tools n'est pas vraiment nécessaire, mais c'est un paquet très utile pour rechercher les périphériques I2C ou SMBus reliés à votre Pi. Si vous avez un périphérique I2C connecté mais que vous n'en connaissez pas l'adresse (une adresse I2C à 7-bits), ce paquet dispose d'un outil qui vous aidera à la trouver :

sudo i2cdetect -y 0 (si vous utilisez une version 1 de Raspberry Pi)
sudo i2cdetect -y 1 (si vous utilisez une version 2 de Raspberry Pi)

{{{2}}}
Crédit: AdaFruit Industries www.adafruit.com

Cette commande va rechercher toutes les adresses utilisées sur /dev/i2c-0 ou /dev/i2c-1. Si votre kit RGB LCD d'Adafruit y est connecté, vous devriez voir 0x20 affiché dans les résultats. 0x20 est l'adresse du kit sur le bus I2C.

Lorsque ces deux paquets sont installés, vous disposez de tout le nécessaire pour démarrer et accéder aux périphériques I2C (et SMBus) en Python.

Utiliser un exemple de code Python

Le code Python de la platine LCD pour Pi est disponible à Github à https://github.com/adafruit/Adafruit_Python_CharLCD.

Notez qu'Adafruit à fait une mise-à-jour des bibliothèques ce qui permet de l'installer séparément des autre code mettant en oeuvre des afficheurs LCD. Si vous recherchez l'ancienne bibliothèque vous pouvez toujours la trouver ici sur ce GitHub. Pour les nouveaux projets, nous recommandons d'utiliser la nouvelle bibliothèque décrite ici.

La meilleure façon de charger ce code pour votre Pi est de connecter un câble Ethernet, et d'utiliser la procédure d'installation décrite ci-dessous.

Par défaut, Git est installé sur la plupart des distributions. Lancez simplement les commandes suivantes depuis un répertoire approprié (ex. "/home/pi"):

sudo apt-get update
sudo apt-get install build-essential python-dev python-smbus python-pip git
sudo pip install RPi.GPIO
git clone https://github.com/adafruit/Adafruit_Python_CharLCD.git
cd Adafruit_Python_CharLCD
sudo python setup.py install

Tester la bibliothèque

Une fois le code téléchargé et que la carte est correctement connectée sur votre Pi, vous pouvez démarrer une petite démo en exécutant simplement le script char_lcd_plate.py disponible dans le répertoire examples:

cd examples
sudo python char_lcd_plate.py

Cet exemple active le rétro-éclairage et affiche différente couleurs RGB (Si vous utilisez un afficheur monochrome il est normal de voir l'écran monochrome s'allumer et s'éteindre) puis vous demande de presser les boutons. Le nom du bouton est affiché sur l'écran lorsque vous pressez dessus (la couleur du rétro-éclairage change également).

Essayez de presser les différents boutons de la carte.

Presser Ctrl-C pour quitter le programme.

Ajuster le contraste

La carte utilise un afficheur LCD avec un potentiomètre de réglage de contraste externe. La première fois que vous l'utilisez, il faudra ajuster le contraste jusqu'à ce que vous voyez clairement l'affichage du texte sur l'écran LCD. Si vous n'avez pas encore téléchargé le code sur votre Pi alors l'écran affichera des carrés... ou peut être rien du tout.

Utiliser le code de la bibliothèque

Look at the contents of the char_lcd_plate.py file to see the basic usage of the character LCD plate class. The basic usage is to import the library and create an instance of the Adafruit_CharLCDPlate class. The char LCD plate class is smart enough to know how to talk to the character LCD plate without any configuration or parameters.

Once you have an instance of the Adafruit_CharLCDPlate class there are a few functions you can call to interact with the display:

   message(text)
       Print the provided string message to the display. The text string can include linebreak characters ('\n') and will move to the next line when found in the string.
   clear()
       Clear the display and reset the position of message printing to the first column and first line.
   set_color(red, green, blue)
       Set the color of the red, green, and blue backlight LEDs. Each color value should be a 1 for on or 0 for off. For example to set a red backlight call set_color(1,0,0) or to set a purple color call set_color(1,0,1).

You can find a more detailed write-up of the library in this character LCD guide (see the Usage and Raspberry Pi Char LCD Plate pages).


Interfacer un code d'exemple avec python est très simple!

Voici quelques informations qui vous permettrons de démarrer rapidement votre propre projet.

Dans le dossier Adafruit_CharLCDPlate vous trouverez le script Python LCDtest.py. Vous pouvez dupliquer ce programme pour commencer le vôtre.

Ce script LCDtest.py effectue tout une série d'opérations. La plus importante étant d'importer tous les sous-modules nécessaire.

Vous aurez besoin des fichiers Adafruit_I2C.py, Adafruit_MCP230xx.py et Adafruit_CharLCDPlate.py, tous localisés dans le même répertoire. Copiez les dans votre destination finale.

Ensuite, on initialise la platine par lcd = Adafruit_CharLCDPlate() - cela crée un 'objet' lcd, entame la communication avec la platine, initialise le LCD et les boutons. N'oublier pas de placer la valeur du paramètre busnum (comme dans la section précédente).

Après l'initialisation, vous pouvez effacer l'afficheur à l'aide de lcd.clear() et écrire du texte avec lcd.message("le texte doit etre ici").

N'oubliez pas qu'il y a uniquement 16 caractères par ligne et qu'il n'y a pas de de retour à la ligne automatiquement.

Pour insérer retour à la ligne (le caractère "newline" comme dise les anglais), il faut utilisez le caractère spécial '\n' dans votre chaine de caractère. Voici un exemple : lcd.message("Adafruit RGB LCD\nPlate w/Keypad!").

Ensuite, vous pouvez gérer le rétroéclairage avec lcd.backlight(lcd.NOM_DE_LA_COULEUR_EN_ANGLAIS)NOM_DE_LA_COULEUR_EN_ANGLAIS est remplacé par:

  • RED pour rouge
  • YELLOW pour jaune
  • GREEN pour vert
  • TEAL pour vert-bleuâtre
  • BLUE pour bleu
  • VIOLET pour violet.

Ceci n'est valable que pour les afficheur LCD RGB. Pour les afficheurs LCD monochromes, utiliser seulement ON (allumé) et OFF (éteint).

Finalement, vous pouvez interroger la platine pour savoir quel bouton a été pressé à l'aide de buttonPressed(lcd.NOM_DU_BOUTON_EN_ANGLAIS) où NOM_DU_BOUTON_EN_ANGLAIS est:

  • LEFT pour gauche
  • RIGHT pour droite
  • UP pour haut
  • DOWN pour base
  • SELECT pour le bouton de sélection.

Cette bibliothèque n'utilise pas la gestion par des interruptions donc vous n'aurez pas de signal d’interruption "interrupt go off" lorsqu'un bouton sera pressé. Vous devrez créer une boucle et interroger régulièrement l'état des boutons pour savoir si l'un d'entre eux pressé et lequel..

Voila, c'est terminé!

Si vous désirez afficher des messages élaborés, utilisez la commande Python permettant la création de chaine de caractères et écrivez cette chaine avec message()



Source: Adafruit 16x2 Character LCD + Keypad for Raspberry Pi écrit par LadyAda pour AdaFruit. Crédit AdaFruit Industries
Réalisé avec l'aide de Mr Carette J. à qui nous remettons tous nos remerciements.

Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : «  Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.

L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.

Traduit avec l'autorisation d'AdaFruit Industries - Translated with the permission from Adafruit Industries - www.adafruit.com