Modifications

Sauter à la navigation Sauter à la recherche
2 382 octets ajoutés ,  3 août 2014 à 14:35
Ligne 87 : Ligne 87 :     
=== Classe LcdMatrix ===
 
=== Classe LcdMatrix ===
Afin de faciliter la prise de contrôle via USB, nous développe une classe pouvant être utilisée directement sur Raspberry-Pi et Linux (''pas encore testé sous Windows'').
+
Afin de faciliter la prise de contrôle via USB, nous avons développé une classe pouvant être utilisée directement sur Raspberry-Pi et Linux (''pas encore testé sous Windows'').
   −
Vous pouvez ainsi envoyer des ordres directement à l'afficheur LCD en utilisant un code de haut niveau beaucoup plus lisible.
+
L'afficheur LCD devient vraiment facile à prendre en main. Cela permet d'ailleurs de mettre en oeuvre un support pour les caractères accentués :-)
 +
 
 +
Grâce à la classe LcdMatrix, vous pouvez envoyer des ordres directement à l'afficheur LCD en utilisant un code qui devient nettement plus lisible.
 +
 
 +
Voyez ci-dessous l'exemple [https://github.com/mchobby/lcdmtrx lcdmtrx-WriteTest.py] disponible sur GitHub
 +
<nowiki>from lcdmtrx import LcdMatrix
 +
import sys
 +
import time
 +
 
 +
PORT_SERIE = '/dev/ttyACM0' #identification du port série sur lequel le LCD USB est connecté
 +
 
 +
LCD_COLS = 16 # Taille du LCD 16 caractères x 2 lignes
 +
LCD_ROWS = 2
 +
 
 +
def do_lcd_matrix_test():
 +
lcd = LcdMatrix( PORT_SERIE )
 +
 +
# Initialiser la taille du LCD (et sauver dans l'EEPROM)
 +
lcd.set_lcd_size( LCD_COLS, LCD_ROWS )
 +
lcd.clear_screen()
 +
 +
# Activer/désactiver le rétro-éclairage
 +
lcd.activate_lcd( True );
 +
 +
# Constrat par défaut
 +
lcd.contrast()
 +
 
 +
# Luminosité max + couleur RGB
 +
lcd.brightness( 255 )
 +
 +
# Couleur RBG
 +
lcd.color( 255, 17, 30 )
 +
   
 +
# Position d'origine
 +
lcd.clear_screen()
 +
 +
    # Auto Scroll
 +
lcd.clear_screen()
 +
lcd.autoscroll( True )
 +
if (LCD_ROWS == 4):
 +
lcd.write("Voici une longue longue ligne de texte  ")
 +
time.sleep(1)
 +
lcd.write("Ajoutons du texte.. ")
 +
time.sleep(1)
 +
lcd.write("Et encore plus....!")
 +
time.sleep(1)
 +
lcd.write(" Et ca scroll! :-)")
 +
if (LCD_ROWS == 2):
 +
lcd.write("Voici du texte..")
 +
time.sleep(1)
 +
lcd.write("Un peu plus....")
 +
time.sleep(1)
 +
lcd.write(" Et ca scroll:-)")
 +
time.sleep(1)
 +
 +
 +
# Tester avec le retour à la ligne
 +
# \r fait un retour à ligne et est insensible à la valeur de autoscroll.
 +
lcd.autoscroll( False )
 +
lcd.clear_screen()
 +
lcd.write( "Ligne 1\rLigne 2" )
 +
time.sleep(1)
 +
 
 +
# Si on ecrit une longue ligne de texte, seul les "x" derniers
 +
# caractères seront affichés sur la ligne du LCD... SANS SAT DE 
 +
# LIGNE. Les "y" premiers caractères sont simplement ignorés!
 +
lcd.autoscroll( True )
 +
if (LCD_ROWS == 4):
 +
lcd.write("Voici une longue longue ligne de texte  ")
 +
else:
 +
lcd.write("Voici une longue ligne...")
 +
time.sleep(1)
 +
 +
# Déplacement du curseur
 +
lcd.clear_screen()
 +
lcd.autoscroll( False )
 +
lcd.position( 1, 1 )
 +
lcd.write( 'a' )
 +
lcd.position( 1, LCD_COLS )
 +
lcd.write( 'b' )
 +
lcd.position( LCD_ROWS, 1 )
 +
lcd.write( 'c' )
 +
lcd.position( LCD_ROWS, LCD_COLS )
 +
lcd.write( 'd' )
 +
 +
lcd.writepos( 1, 7, ':-)' ) # Déplacement de curseur + affichage
 +
 
 +
if __name__ == '__main__':
 +
do_lcd_matrix_test()
 +
</nowiki>
    
{{traduction}}
 
{{traduction}}
+
 
 
=== Test de bas niveau - matrixtest.py ===
 
=== Test de bas niveau - matrixtest.py ===
 
AdaFruit propose un code de test rudimentaire basé sur l'ouverture d'un port série en Python afin d'afficheur LCD + backpack sur GitHub. C'est pratique car vous pouvez créer votre propre code à partir de lui.
 
AdaFruit propose un code de test rudimentaire basé sur l'ouverture d'un port série en Python afin d'afficheur LCD + backpack sur GitHub. C'est pratique car vous pouvez créer votre propre code à partir de lui.
29 910

modifications

Menu de navigation