Modifications

Sauter à la navigation Sauter à la recherche
4 277 octets ajoutés ,  13 décembre 2015 à 14:09
aucun résumé de modification
Ligne 1 : Ligne 1 :  +
{{MicroPython-LCD-NAV}}
   −
source: http://docs.micropython.org/en/latest/tutorial/lcd_skin.html
+
== La carte LCD + touch ==
 +
L'extension LCD et senseur tactile est module qui prend place directement sur le PyBoard. Ce module offre un écran LCD graphique monochrome de 128x32 points ainsi qu'un senseur tactile à 12 canaux (dont 4 déjà raccorder sur les zones A, B, X, Y).
    +
{{MPImage|MicroPython-LCD-01.jpg}}
 +
 +
L'écran est un LCD 128x32 pixels, avec un rétro-éclairage blanc qui peut être allumé/éteind par logiciel. Le senseur tacticle est un module MPR121 capacitif à 12 canaux  et il y a déjà 4 zones tactiles sur la carte (nommée A, B, X and Y) ainsi que 12 pastilles de connexion permettant le raccordement des 12 canaux. Vous pouvez utiliser ces points connexion pour y raccorder votre propre senseur tactile. Le MPR121 est un périphérique I2C.
 +
 +
{{MPImage|MicroPython-LCD-02.jpg}}
 +
 +
Notez que l'écran LCD n'est pas tactile!
 +
 +
=== Préparation ===
 +
Notez qu'il faut souder les connecteurs (pinHeader) sur la carte avant de pouvoir l'utiliser avec votre PyBoard.
 +
 +
La vidéo YouTube ci-dessous ([https://www.youtube.com/watch?v=PowCzdLYbFM lien direct]) montre comment souder les connecteurs sur la carte.
 +
 +
{{#Widget:Iframe
 +
|url=http://www.youtube.com/embed/PowCzdLYbFM
 +
|width=420
 +
|height=315
 +
|border=0
 +
}}
 +
=== Schéma ===
 +
Pour les schémas et fiches technique de la carte PyBoard et cartes d'extension, vous pouvez vous voir la page "[http://docs.micropython.org/en/latest/pyboard/hardware/index.html#hardware-index The Pyboard Hardware]" (''micropython.org, anglais'')
 +
 +
== Utiliser l'écran LCD ==
 +
Pour débuter rapidement avec le LCD, essayez de saisir les commandes suivantes sur la ligne de commande MicroPython. Assurez-vous d'avoir attaché la carte d'extension LCD sur le PyBoard comme indiqué sur la photographie en début de cet article.
 +
 +
<nowiki>>>> import pyb
 +
>>> lcd = pyb.LCD('X')
 +
>>> lcd.light(True)
 +
>>> lcd.write('Salut uPy!\n')</nowiki>
 +
 +
Vous pouvez réaliser une animation simple en utilisant le code suivant:
 +
 +
<nowiki>import pyb
 +
lcd = pyb.LCD('X')
 +
lcd.light(True)
 +
for x in range(-80, 128):
 +
    lcd.fill(0)
 +
    lcd.text('Salut uPy!', x, 10, 1)
 +
    lcd.show()
 +
    pyb.delay(25)</nowiki>
 +
 +
== Utiliser le senseur tactile ==
 +
Vous devez utiliser le bus I2C pour lire les données du senseur tactile. Le senseur capacitif MPR121 utilise l'adresse 90.
 +
 +
Vous pouvez saisir le code suivant pour lire les données du senseur:
 +
<nowiki>>>> import pyb
 +
>>> i2c = pyb.I2C(1, pyb.I2C.MASTER)
 +
>>> i2c.mem_write(4, 90, 0x5e)
 +
>>> touch = i2c.mem_read(1, 90, 0)[0]</nowiki>
 +
 +
La première ligne ci-dessus crée un objet I2C, la second active le senseur tactile à l'adresse.
 +
 +
La troisième ligne lit le statut tactile du MPR121 et la variable {{fname|touch}} maintient l'état des 4 boutons tactiles (A, B, X, Y).
 +
 +
Il existe un pilote [http://micropython.org/resources/examples/mpr121.py ici], il est simple d'emploi, permet de fixer le seuil de détection et effectue le déparasitage (pour ne pas avoir plusieurs activation successives). Il devient très aisé de lire le statut tactile et les niveaux de tension des électrodes. Copiez le script [http://micropython.org/resources/examples/ mpr121.py] sur votre PyBoard (soit sur la flash ou sur la carte SD, dans le répertoire racine ou un sous répertoire nommé {{fname|lib/}} directory) puis essayez ceci:
 +
 +
<nowiki>>>> import pyb
 +
>>> import mpr121
 +
>>> m = mpr121.MPR121(pyb.I2C(1, pyb.I2C.MASTER))
 +
>>> for i in range(100):
 +
...  print(m.touch_status())
 +
...  pyb.delay(100)
 +
...</nowiki>
 +
 +
Ce qui affichera en continu (100 itérations uniquement) le statut tactile de toutes les électrodes. Essayez de toucher une-à-une chacune des électrodes.
 +
 +
Notez que si vous utilisez la carte LCD en "Y-position" alors vous devez initialiser le bus I2C en utilisant:
 +
 +
<nowiki>>>> m = mpr121.MPR121(pyb.I2C(2, pyb.I2C.MASTER))</nowiki>
 +
 +
Il y a également une démo qui utilise le LCD et senseur tactile ensemble. Vous pourrez la trouver [http://micropython.org/resources/examples/lcddemo.py ici (lcddemo.py)].
 +
 +
== Classes ==
 +
* [http://docs.micropython.org/en/latest/library/pyb.LCD.html?highlight=lcd#class-lcd-lcd-control-for-the-lcd-touch-sensor-pyskin Classe LCD] : permet de prendre de contrôle de l'afficheur LCD
 +
* [http://micropython.org/resources/examples/mpr121.py MPR121] est un pilote simplifier utilisé pour lire le statut des zones tactiles.
 +
 
{{MicroPython-LCD-TRAILER}}
 
{{MicroPython-LCD-TRAILER}}
29 917

modifications

Menu de navigation