MicroPython-LCD

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.

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).

 
Crédit: MicroPython micropython.org

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.

 
Crédit: MicroPython micropython.org

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 (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 "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.

>>> import pyb
>>> lcd = pyb.LCD('X')
>>> lcd.light(True)
>>> lcd.write('Salut uPy!\n')

Vous pouvez réaliser une animation simple en utilisant le code suivant:

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)

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:

>>> import pyb
>>> i2c = pyb.I2C(1, pyb.I2C.MASTER)
>>> i2c.mem_write(4, 90, 0x5e)
>>> touch = i2c.mem_read(1, 90, 0)[0]

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 touch maintient l'état des 4 boutons tactiles (A, B, X, Y).

Il existe un pilote 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 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é lib/ directory) puis essayez ceci:

>>> 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)
...

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:

>>> m = mpr121.MPR121(pyb.I2C(2, pyb.I2C.MASTER))

Il y a également une démo qui utilise le LCD et senseur tactile ensemble. Vous pourrez la trouver ici (lcddemo.py).

Classes

  • Classe LCD : permet de prendre de contrôle de l'afficheur LCD
  • MPR121 est un pilote simplifier utilisé pour lire le statut des zones tactiles.



Source: The LCD and touch-sensor skin écrit par/written by Damien P.George

Traduit par Meurisse D. pour MCHobby.be - Translated by Meurisse D. for MCHobby.be

Traduit avec l'autorisation de micropython.org - Translated with the authorisation of micropython.org

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.