Modifications

Sauter à la navigation Sauter à la recherche
1 338 octets ajoutés ,  11 février 2017 à 10:56
aucun résumé de modification
Ligne 1 : Ligne 1 :  
{{Rasp-Hack-Afficheur-LCD-NAV}}
 
{{Rasp-Hack-Afficheur-LCD-NAV}}
  −
{{traduction}}
      
== Pre-requis ==
 
== Pre-requis ==
Ligne 190 : Ligne 188 :     
== Avec un LCD RGB ==
 
== Avec un LCD RGB ==
If you're using an RGB backlight LCD the '''char_lcd_rgb.py''' script will demonstrate the usage.
+
Si vous utiliser un LCD avec rétro-éclairage RGB, alors utilisez le script '''char_lcd_rgb.py''' qui démontre l'utilisation d'un tel écran.
   −
If you're using a Raspberry Pi and have wired it according to this guide, you can immediately run the script. However if you're using a BeagleBone Black or have changed the wiring, edit the script with a text editor and uncomment/change the lines at the top that define the LCD pins.
+
Si vous utilisez un Raspberry pi et si vous raccordé l'écran comme indiqué dans ce guide alors vous pourrez exécuter immédiatement le script.
   −
To execute the RGB backlight example run this command from inside the '''examples''' directory:
+
Pour exécuter l'exemple rétro-éclairage RGB, exécutez la commande suivante depuis le répertoire '''examples''' (contenant les examples):
    
  sudo python char_lcd_rgb.py
 
  sudo python char_lcd_rgb.py
   −
You should see the LCD turn on and display different backlight colors. For example:
+
Vous devriez voir votre écran LCD s'allumer et présenter différentes couleurs. Par exemple:
    
{{ADFImage|Rasp-Hack-Afficheur-LCD-Python-a10.jpg}}
 
{{ADFImage|Rasp-Hack-Afficheur-LCD-Python-a10.jpg}}
   −
If you open the file '''char_lcd_rgb.py''' in a text editor (such as nano) I'll describe the important differences between it and the previous '''char_lcd.py''' example below.
+
Si vous ouvrez le fichier '''char_lcd_rgb.py''' dans un éditeur de texte (tel que nano) vous noterez d'importantes différences avec l'exemple précédent '''char_lcd.py''', différences que nous détaillons ci-dessous.
    
<syntaxhighlight lang="python">
 
<syntaxhighlight lang="python">
# Example Raspberry Pi configuration:
+
# Exemple de configuration pour Raspberry-Pi:
lcd_rs = 27  # Change this to pin 21 on older revision Raspberry Pi's
+
lcd_rs = 27  # Changer cette broches à 21 pour une ancienne révision de Raspberry Pi
 
lcd_en = 22
 
lcd_en = 22
 
lcd_d4 = 25
 
lcd_d4 = 25
Ligne 212 : Ligne 210 :  
lcd_d6 = 23
 
lcd_d6 = 23
 
lcd_d7 = 18
 
lcd_d7 = 18
lcd_red  = 4
+
lcd_red  = 4 # Led rouge
lcd_green = 17
+
lcd_green = 17 # Led Verte
lcd_blue  = 7  # Pin 7 is CE1
+
lcd_blue  = 7  # Led Bleue. Broche 7 est CE1
   −
# Example BeagleBone Black configuration:
+
# Example de configuration pour BeagleBone Black:
 
# lcd_rs = 'P8_8'
 
# lcd_rs = 'P8_8'
 
# lcd_en = 'P8_10'
 
# lcd_en = 'P8_10'
Ligne 223 : Ligne 221 :  
# lcd_d6 = 'P8_14'
 
# lcd_d6 = 'P8_14'
 
# lcd_d7 = 'P8_12'
 
# lcd_d7 = 'P8_12'
# lcd_red  = 'P8_7'
+
# lcd_red  = 'P8_7'  
 
# lcd_green = 'P8_9'
 
# lcd_green = 'P8_9'
 
# lcd_blue  = 'P8_11'
 
# lcd_blue  = 'P8_11'
 
</syntaxhighlight>
 
</syntaxhighlight>
   −
The first important difference is the configuration of LCD pins. Notice there are now explicit pins defined for the red, green, and blue backlight LEDs.  
+
La première différence importante est la configuration des broches du LCD. Notez qu'il y a une définition explicite des broches pour le rouge, vert, bleu (respectivement ''red, green et blue'') du rétro-élcairage.  
    
<syntaxhighlight lang="python">
 
<syntaxhighlight lang="python">
# Initialize the LCD using the pins
+
# Initialiser les broches de l'afficheur LCD  
 
lcd = LCD.Adafruit_RGBCharLCD(lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6, lcd_d7,
 
lcd = LCD.Adafruit_RGBCharLCD(lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6, lcd_d7,
 
                               lcd_columns, lcd_rows, lcd_red, lcd_green, lcd_blue)
 
                               lcd_columns, lcd_rows, lcd_red, lcd_green, lcd_blue)
 
</syntaxhighlight>
 
</syntaxhighlight>
   −
The next line creates an instance of the '''Adafruit_RGBCharLCD''' class using the pin configuration defined earlier.
+
Cette ligne crée une instance de la classe '''Adafruit_RGBCharLCD''' (en utilisant la configuration des broches préalablement définie).
   −
The '''Adafruit_RGBCharLCD''' class inherits from the '''Adafruit_CharLCD''' class so it has all the same functionality as demonstrated in the '''char_lcd.py''' example. In addition to the basic character LCD functionality the RGB character LCD class adds some functions to set the RGB color of the backlight.  
+
La classe '''Adafruit_RGBCharLCD''' hérite de la classe '''Adafruit_CharLCD''', ce qui signfie que toutes les fonctionnalités préalablement démontrées dans l'exemple '''char_lcd.py''' sont également utilisable dans la classe Adafruit_RGBCharLCD. En plus des fonctionnalités de base de l'afficheur LCD la classe pour afficheur RGB ajoute des fonctions permettant de contrôler la couleur du rétro-éclairage.  
    
<syntaxhighlight lang="python">
 
<syntaxhighlight lang="python">
# Show some basic colors.
+
# Affiche les couleurs fondamentales.
 
lcd.set_color(1.0, 0.0, 0.0)
 
lcd.set_color(1.0, 0.0, 0.0)
 
lcd.clear()
 
lcd.clear()
lcd.message('RED')
+
lcd.message('RED') # Rouge
 
time.sleep(3.0)
 
time.sleep(3.0)
    
lcd.set_color(0.0, 1.0, 0.0)
 
lcd.set_color(0.0, 1.0, 0.0)
 
lcd.clear()
 
lcd.clear()
lcd.message('GREEN')
+
lcd.message('GREEN') # Vert
 
time.sleep(3.0)
 
time.sleep(3.0)
    
lcd.set_color(0.0, 0.0, 1.0)
 
lcd.set_color(0.0, 0.0, 1.0)
 
lcd.clear()
 
lcd.clear()
lcd.message('BLUE')
+
lcd.message('BLUE') # Bleu
 
time.sleep(3.0)
 
time.sleep(3.0)
    
lcd.set_color(1.0, 1.0, 0.0)
 
lcd.set_color(1.0, 1.0, 0.0)
 
lcd.clear()
 
lcd.clear()
lcd.message('YELLOW')
+
lcd.message('YELLOW') # Jaune
 
time.sleep(3.0)
 
time.sleep(3.0)
    
lcd.set_color(0.0, 1.0, 1.0)
 
lcd.set_color(0.0, 1.0, 1.0)
 
lcd.clear()
 
lcd.clear()
lcd.message('CYAN')
+
lcd.message('CYAN') # Cyan
 
time.sleep(3.0)
 
time.sleep(3.0)
    
lcd.set_color(1.0, 0.0, 1.0)
 
lcd.set_color(1.0, 0.0, 1.0)
 
lcd.clear()
 
lcd.clear()
lcd.message('MAGENTA')
+
lcd.message('MAGENTA') # Magenta
 
time.sleep(3.0)
 
time.sleep(3.0)
    
lcd.set_color(1.0, 1.0, 1.0)
 
lcd.set_color(1.0, 1.0, 1.0)
 
lcd.clear()
 
lcd.clear()
lcd.message('WHITE')
+
lcd.message('WHITE') # Blanc
 
time.sleep(3.0)
 
time.sleep(3.0)
 
</syntaxhighlight>
 
</syntaxhighlight>
   −
The code above demonstrates each basic color by calling the {{fname|set_color}} function and passing in which red, green, and blue LEDs to enable. For example the first call to {{fname|set_color(1.0, 0.0, 0.0)}} will turn on the '''red''' LED and turn off the green and blue LED so the backlight will have a '''red''' color.
+
Le code ci-dessus démontre l'affichage de des couleurs fondamentales en utilisant la fonction {{fname|set_color}} et en passant la valeur de la couleur rouge, vert, bleu en argument.
 +
 
 +
Par exemple, le premier appel de {{fname|set_color(1.0, 0.0, 0.0)}} allume la LED '''rouge''' (''red'') et éteint les LED vertes (''green'') et bleue (''blue''). Le rétro-élcairage est donc '''rouge'''.
 +
 
 +
Notez que les lignes suivantes combine différentes couleur, comme l'appel {{fname|set_color(1.0, 0.0, 1.0)}} pour combiner du '''rouge''' (''red'') et du '''bleu''' (''blue'') pour obtenir la couleur '''magenta/violet'''.
   −
Notice how later lines combine multiple LEDs to get different colors, like calling {{fname|set_color(1.0, 0.0, 1.0)}} to combine '''red''' and '''blue''' LEDs for a '''magenta/violet''' color.
+
Notez que la valeur des paramètres rouge, vert, bleu doit être comprise entre 0 et 1.
    
== Avec un MCP23017 + LCD ==
 
== Avec un MCP23017 + LCD ==
 
Si vous avez suivi le plan de montage avec le MCP23017 alors c'est cette partie du tutoriel qui vous intéresse.
 
Si vous avez suivi le plan de montage avec le MCP23017 alors c'est cette partie du tutoriel qui vous intéresse.
   −
The '''char_lcd_mcp.py''' file in the library's examples folder demonstrates the usage of a character LCD (non-RGB version) with an MCP23017 IO extender. Run the script by executing this command inside the examples directory:  
+
La répertoire de la bibliothèque contient le fichier d'exemple '''char_lcd_mcp.py''' qui montre comment utiliser un afficheur LCD (version non-RGB) avec un GPIO expander MCP23017.  
 +
 
 +
Executez le script depuis le répertoire "examples" :  
    
  sudo python char_lcd_mcp.py
 
  sudo python char_lcd_mcp.py
   −
You should see a simple demo of the LCD displaying text, cursors, and scrolling just like the '''char_lcd.py''' demo described on the previous page.
+
Vous verrez une simple démo qui affiche du texte sur le LCD, manipule le curseur et fait défiler du texte comme pour la démo '''char_lcd.py''' (décrit dans la section précédente).
 +
 
 +
Vous pourrez voir comment l'exemple fonctionne avec un composant MCP si vous ouvrez le fichier '''char_lcd_mcp.py''' dans un éditeur de texte.  
 +
 
 +
Voyez l'aperçu du fichier ci-dessous:
   −
If you open '''char_lcd_mcp.py''' in a text editor you can see how to use the character LCD library with the MCP chip. Below is an overview of the file:
+
Le script commence par importer les modules nécessaires.
 +
 
 +
Notez qu'en plus d'importer le module Adafruit_GPIO.MCP230xx (importé sous le nom MCP). Cette classe MCP230xx sera utilisé pour dialoguer avec la puce MCP pour envoyer des informations sur l'interface du LCD.  
    
<syntaxhighlight lang="python">
 
<syntaxhighlight lang="python">
Ligne 301 : Ligne 311 :  
</syntaxhighlight>
 
</syntaxhighlight>
   −
First the required modules are imported. Notice the addition of the Adafruit_GPIO.MCP230xx module (imported under the name MCP). This MCP230xx class will be used to talk to the MCP chip and interface with the LCD.
+
Ensuite, les broches de l'écran LCD sont définie dans le script.  
 +
 
 +
{{ambox-stop|text=Notez que ces numéros de broches sont celle des GPIOs de la puce MCP ET NON les numéros de broches du Raspberry Pi/BeagleBone Black!}}
    
<syntaxhighlight lang="python">
 
<syntaxhighlight lang="python">
# Define MCP pins connected to the LCD.
+
# Definir les broches du MCP connectées sur le LCD.
 
lcd_rs        = 0
 
lcd_rs        = 0
 
lcd_en        = 1
 
lcd_en        = 1
Ligne 312 : Ligne 324 :  
lcd_d7        = 5
 
lcd_d7        = 5
 
lcd_backlight = 6
 
lcd_backlight = 6
# Optionally if the backlight is not controllable then set:
+
# Optionnel si le rétro-éclairage n'est pas contrôllable alors definisez:
 
# lcd_backlight = None
 
# lcd_backlight = None
   −
# Define LCD column and row size for 16x2 LCD.
+
# Définir le nombre de ligne (rows) et nombre de colonne (columns).
 +
# La taille définie ici est 16x2.
 
lcd_columns = 16
 
lcd_columns = 16
 
lcd_rows    = 2
 
lcd_rows    = 2
   −
# Alternatively specify a 20x4 LCD.
+
# Vous pouvez definir une taille alternative, par exemple 20x4.
 
# lcd_columns = 20
 
# lcd_columns = 20
 
# lcd_rows    = 4
 
# lcd_rows    = 4
 
</syntaxhighlight>
 
</syntaxhighlight>
   −
Next the LCD pins are defined in the script. '''Note that these pin numbers are the MCP chip GPIO pin numbers, and NOT Raspberry Pi/BeagleBone Black pin numbers!'''
+
Ensuite, une instance de la classe MCP23017 est créée. Par défaut, cette class utilise l'adresse par défaut du MCP sur le bus I2C (0x20). La classe utilise également le bus par défaut de la plateforme de développement.
 +
 
 +
Si vous avez besoin d'utiliser une autre adresse ou autre bus I2C alors référez vous aux autres ligne en commentaire ci-dessous.
    
<syntaxhighlight lang="python">
 
<syntaxhighlight lang="python">
# Initialize MCP23017 device using its default 0x20 I2C address.
+
# Initialiser le périphérique MCP23017 en utilisant l'adresse I2C par défaut (0x20).
 
gpio = MCP.MCP23017()
 
gpio = MCP.MCP23017()
   −
# Alternatively you can initialize the MCP device on another I2C address or bus.
+
# Initialisation alternative en utilisant une autre adresse I2C et autre bus.
 
# gpio = MCP.MCP23017(0x24, busnum=1)
 
# gpio = MCP.MCP23017(0x24, busnum=1)
 
</syntaxhighlight>
 
</syntaxhighlight>
   −
Next an instance of the MCP23017 class is created. By default this class will use the I2C address 0x20 (default for MCP chips) and appropriate I2C bus for the running development board. However if you need to override the address or bus number you can see in the commented line how these are passed as parameters.
+
Vous pouvez également utiliser un MCP23008 mais dans ce cas, il faudra utiliser une instance de la classe '''MCP23008'''. Cette classe est exactement la même que celle du '''MCP23017''' mais elle supporte uniquement 8 broches GPIO.
 +
 
 +
Maintenant, nous allons créer une instance de la classe '''Adafruit_CharLCD''' . La grande différence par rapport à l'exemple précédent réside dans le passage de l'instance de la classe MCP23017 (sous le nom de variable 'gpio') en passant explicitement un paramètre nommé gpio.  
   −
Also note if you're using an MCP23008 chip you can instead create an instance of the '''MCP23008''' class. This class is exactly the same as the '''MCP23017''' class, but only supports 8 GPIO pins.
+
<syntaxhighlight lang="python">
 +
# Initialize the LCD using the pins
 +
lcd = LCD.Adafruit_CharLCD(lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6, lcd_d7,
 +
                          lcd_columns, lcd_rows, lcd_backlight, gpio=gpio)
 +
</syntaxhighlight>
   −
Now the Adafruit_CharLCD class instance is created. The big difference with this line and previous examples is that the MCP23017 class (created with the name 'gpio') is passed in as the gpio parameter. By passing in an explicit gpio parameter, the char LCD class will use that GPIO class for talking to the LCD instead of the default development board GPIO pins.
+
En passant explicitement le paramètre ''gpio'', la classe '''Adafruit_CharLCD''' utilise cette classe GPIO, à la place du GPIO de la carte de développement, pour dialoguer avec l'écran LCD.
   −
The rest of the example code is exactly the same as the non-MCP character LCD example. You only need to change the setup and initialization of the character LCD class to use the MCP IO extender with an LCD!
+
Le reste de l'exemple est exactement identique à celui sans MCP. Vous avez uniquement besoin de changer la définition du LCD ainsi que modifier la création de la classe Adafruit_CharLCD (pour indiquer le nouveau gpio)!
   −
{{ambox|text=Note you can also use an RGB character LCD with an MCP IO extender, however the MCP IO extender does NOT support PWM control of the backlight!}}
+
{{ambox|text=vous pouvez également utiliser un un LCD RGB avec le MCP23017, il n'est cependant pas possible de contrôler la puissance du rétro-éclairage à l'aide de signal PWM!!}}
    
== L'exemple Horloge + IP ==
 
== L'exemple Horloge + IP ==
29 917

modifications

Menu de navigation