Modifications

Sauter à la navigation Sauter à la recherche
215 octets ajoutés ,  31 décembre 2016 à 14:31
Ligne 64 : Ligne 64 :     
== Utiliser le code de la bibliothèque ==
 
== 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.
+
Jetez un petit coup d'oeil au contenu du fichier '''char_lcd_plate.py''' pour voir l'usage de la classe LCD. L'utilisation de base se résume à importer la bibliothèque et créer une instance de la classe '''Adafruit_CharLCDPlate''' . La classe est suffisamment intelligente pour savoir comment dialoguer avec l'afficheur LCD dans avoir besoin de configuration ou paramètres complémentaires.
   −
Once you have an instance of the Adafruit_CharLCDPlate class there are a few functions you can call to interact with the display:
+
Une fois l'instance de la classe '''Adafruit_CharLCDPlate''' créée, il y a quelques fonctions utiles pour interagir avec l'afficheur:
   −
    message(text)
+
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).
+
Affiche le texte sur l'afficheur. La chaine de caractère peut inclure un retour à la ligne ('\n'). L'afficheur LCD déplacera le curseur du LCD à la ligne suivante lorsque ce caractère est rencontré.
   −
<hr />
+
clear()
   −
Interfacer un code d'exemple avec python est très simple!
+
Efface l'écran et réinitialise la position du curseur en haut à gauche (emplacement où démarrera l'affichage du prochain message).
   −
Voici quelques informations qui vous permettrons de démarrer rapidement votre propre projet.
+
set_color(red, green, blue)
   −
Dans le dossier Adafruit_CharLCDPlate vous trouverez le script Python '''LCDtest.py'''. Vous pouvez dupliquer ce programme pour commencer le vôtre.
+
Fixe l'état du rétro-éclairage pour les couleurs rouge (''red''), verte (''green'') et bleue (''blue''). Chaque couleur peut recevoir une valeur 1 pour allumer la LED (et 0 pour l'éteindre).  
   −
Ce script '''LCDtest.py''' effectue tout une série d'opérations. La plus importante étant d'importer tous les sous-modules nécessaire.  
+
Par exemple, pour afficher un rétro-éclairage rouge, il faut appeler {{fname|set_color(1,0,0)}} ou en pourpre il faut appeler {{fname|set_color(1,0,1)}} .
   −
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.
+
Vous trouverez 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).
   −
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).
+
=== En détails ===
 +
La première chose à faire est de créer une instance de la classe Adafruit_CharLCDPlate . La classe sait comment dialoguer avec la carte d'extension, le constructeur de la classe est préconfiguré pour la carte LCD.  
   −
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")'''.
+
<syntaxhighlight lang="python">
 +
# Initialise le LCD en utilisant le bonne broches
 +
lcd = LCD.Adafruit_CharLCDPlate()
 +
</syntaxhighlight>
   −
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.  
+
La seconde différence dans '''Adafruit_CharLCDPlate''' est l'ajout d'une fonction qui permet de tester les boutons qui sont pressés. Voyez dans le code d'exemple ci-dessous les différents appels à la fonction {{fname|is_pressed}} pour tester chacun des boutons. La fonction {{fname|is_pressed}} retourne True si le bouton est pressé.
   −
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!")'''.
+
Cette bibliothèque n'utilise pas la gestion par des interruptions, vous n'aurez donc pas de signal d’interruption 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é.
   −
Ensuite, vous pouvez gérer le rétroéclairage avec  '''lcd.backlight(lcd.NOM_DE_LA_COULEUR_EN_ANGLAIS)''' où '''NOM_DE_LA_COULEUR_EN_ANGLAIS''' est remplacé par:
+
Par exemple, pour tester si le bouton de sélection "select" est pressé, nous utilisation vous pouvez appeler {{fname|is_presssed(LCD.SELECT)}}, pour tester le bouton droit ("right" en anglais) nous utiliserons alors {{fname|is_pressed(LCD.RIGHT)}}.  
* 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).
+
<syntaxhighlight lang="python">
 +
# Faire une liste avec valeur_de_bouton + texte + couleur_retro_eclairage.
 +
buttons = ( (LCD.SELECT, 'Select', (1,1,1)),
 +
            (LCD.LEFT,  'Left'  , (1,0,0)),
 +
            (LCD.UP,    'Up'    , (0,0,1)),
 +
            (LCD.DOWN,  'Down' , (0,1,0)),
 +
            (LCD.RIGHT,  'Right' , (1,0,1)) )
   −
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:
+
print 'Press Ctrl-C to quit.'
 +
while True:
 +
# Passer chaque bouton en revue pour
 +
        # voir s'il est pressé
 +
for button in buttons:
 +
if lcd.is_pressed(button[0]):
 +
# SI le bouton est presse ALORS chager le message et le retro-eclairage.
 +
lcd.clear()
 +
lcd.message(button[1])
 +
lcd.set_color(button[2][0], button[2][1], button[2][2])
 +
</syntaxhighlight>
 +
 
 +
Une note finale: comme pour [[Rasp-Hack-Afficheur-LCD|l'implémentation du LCD avec un MCP230xx]] (un GPIO extender), il n'est pas possible de contrôler le rétro-éclairage en PWM!
 +
 
 +
 
 +
Un petit rappel: pour interroger la platine et savoir quel bouton a été pressé, il faut utiliser '''buttonPressed(lcd.NOM_DU_BOUTON_EN_ANGLAIS)''' où NOM_DU_BOUTON_EN_ANGLAIS est:
 
* LEFT pour gauche
 
* LEFT pour gauche
 
* RIGHT pour droite
 
* RIGHT pour droite
 
* UP pour haut
 
* UP pour haut
* DOWN pour base
+
* DOWN pour bas
 
* SELECT pour le bouton de sélection.  
 
* 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é!  
 
Voila, c'est terminé!  
29 917

modifications

Menu de navigation