Différences entre versions de « PiFace2-Manuel-Python »
Ligne 3 : | Ligne 3 : | ||
{{traduction}} | {{traduction}} | ||
== Premiers pas avec Python == | == Premiers pas avec Python == | ||
− | PiFace Digital 2 | + | PiFace Digital 2 peut être contrôlé facilement en utilisant Python. Pour commencer, ouvrez un terminal (ligne de commande) et démarrez un interpréteur en saisissant la commande suivante: |
python3 | python3 | ||
− | + | {{ambox|text=Vous pouvez également utiliser l'éditeur "Idle" disponible dans l'environnement graphique}} | |
+ | |||
+ | Pour utiliser le PiFace Digital 2 depuis Python, il faut importer le module {{fname|pifacedigitalio}} : | ||
import pifacedigitalio | import pifacedigitalio | ||
− | + | Avant d'utiliser la carte PiFace, il faut initialiser la bibliothèque en faisant l'appel suivant: | |
pifacedigitalio.init() | pifacedigitalio.init() | ||
− | + | Si vous désirez savoir si un bouton est enfoncé ou non, il faut utiliser la fonction {{fname|digital_read}} : | |
− | pifacedigitalio.digital_read( | + | pifacedigitalio.digital_read( numero_de_broche ) |
− | + | La fonction retourne ''1'' si l'entrée indiquée dans ''numero_de_broche'' si le bouton est enfoncé ou l'entrée est connecté sur la masse (GND). Sinon la fonction retourne ''0''. | |
− | + | Si vous désirez contrôler une sortie, il faut utiliser la fonction {{fname|digital_write}} : | |
+ | |||
+ | pifacedigitalio.digital_write( numero_de_broche, etat ) | ||
− | + | La fonction permet de fixer l'état de la broche ''numero_de_broche'' sur l'état '''0''' (inactif) ou '''1''' (actif). L'état ''1'' active le collecteur ouvert (qui laisse passer le courant) et la LED correspondante. | |
== Les pas suivants == | == Les pas suivants == | ||
− | + | Une façon plus puissante et plus explicite de contrôler le PiFace est de passer par un objet {{fname|PiFaceDigital}}. | |
− | + | ||
+ | En créant un objet de type {{fname|PiFaceDigital}}, vous aurez accès à toutes les fonctionnalités du PiFace (incluant l'activation des pull-ups, l'input_port et output_port). | ||
− | + | Démarrer un interpréteur python à l'aide de la commande: | |
python3 | python3 | ||
− | + | Instanciez ensuite un objet ''PiFaceDigital'' à l'aide de l'instruction suivante: | |
import pifacedigitalio | import pifacedigitalio | ||
Ligne 39 : | Ligne 44 : | ||
=== Sorties === | === Sorties === | ||
− | + | Pour fixer la première sortie (celle qui porte le numéro 0) sur l'état ''1'' (pour activer la sortie): | |
pfd.output_pins[0].value = 1 | pfd.output_pins[0].value = 1 | ||
− | + | Notez le petit cliquetis du relais lorsqu'il s'active. La broche de sortie ''0'' contrôle également le premier relais. | |
− | + | ||
+ | Vous pouvez également désactiver la sortie numéro 0 (et le relais) en fixant la valeur de la sortie à ''0'': | ||
pfd.output_pins[0].value = 0 | pfd.output_pins[0].value = 0 | ||
=== Entrées === | === Entrées === | ||
− | + | Vous pouvez lire la valeur d'une entrée à l'aide de l'instruction suivante: | |
pfd.input_pins[1].value | pfd.input_pins[1].value | ||
− | + | Essayez d'exécuter l'instruction ci-dessus en pressant le second bouton (qui porte le numéro 1) PUIS exécutée une seconde fois sans presser le bouton. | |
+ | |||
+ | Vous devriez voir deux résultats différents. | ||
=== input_port et output_port === | === input_port et output_port === | ||
− | + | Vous pouvez lire toutes les entrées en une seule opération en utilisant l'attribut {{fname|input_port}} : | |
pfd.input_port.value | pfd.input_port.value | ||
− | + | Input port affiche une valeur numérique qui, une fois exprimée en valeur binaire, indique l'état de chaque entrée. | |
+ | |||
+ | Il est également possible de contrôler toutes les sorties en une opération en manipulant l'attribut {{fname|output_port}} : | ||
pfd.output_port.value = 0xAA | pfd.output_port.value = 0xAA | ||
Ligne 66 : | Ligne 76 : | ||
== Exemples python == | == Exemples python == | ||
− | === Activer un | + | === Activer un relais === |
− | + | Les relais du PiFace Digital sont respectivement connecté sur les deux premières entrées 0 et 1. Vous pouvez donc contrôler ces deux relais à l'aide de la fonction {{fname|digital_write()}}. | |
Start a new Python interpreter and type the following: | Start a new Python interpreter and type the following: | ||
Ligne 75 : | Ligne 85 : | ||
import piface.pfio as pfio | import piface.pfio as pfio | ||
pfio.init() | pfio.init() | ||
+ | # mettre la sortie 0 a l etat 1 (activer) | ||
pfio.digital_write(0,1) | pfio.digital_write(0,1) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Clignoter une LED ==== | === Clignoter une LED ==== | ||
− | + | Un programme qui fait clignoter une LED doit l'allumer et l'éteindre de façon répétitive (avec un délai entre chaque activation/désactivation). | |
<syntaxhighlight lang="python"> | <syntaxhighlight lang="python"> | ||
Ligne 86 : | Ligne 97 : | ||
pfio.init() | pfio.init() | ||
while(True): | while(True): | ||
− | pfio.digital_write(0,1) # | + | # activer la sortie 0 = allumer la LED |
+ | pfio.digital_write(0,1) | ||
+ | # Attendre une seconde | ||
sleep(1) | sleep(1) | ||
− | pfio.digital_write(0,0) | + | # désactiver la sortie 0 = eteindre la LED |
+ | pfio.digital_write(0,0) | ||
sleep(1) | sleep(1) | ||
</syntaxhighlight> | </syntaxhighlight> |
Version du 20 mai 2017 à 20:25
En cours de traduction/élaboration. |
Premiers pas avec Python
PiFace Digital 2 peut être contrôlé facilement en utilisant Python. Pour commencer, ouvrez un terminal (ligne de commande) et démarrez un interpréteur en saisissant la commande suivante:
python3
Vous pouvez également utiliser l'éditeur "Idle" disponible dans l'environnement graphique |
Pour utiliser le PiFace Digital 2 depuis Python, il faut importer le module pifacedigitalio :
import pifacedigitalio
Avant d'utiliser la carte PiFace, il faut initialiser la bibliothèque en faisant l'appel suivant:
pifacedigitalio.init()
Si vous désirez savoir si un bouton est enfoncé ou non, il faut utiliser la fonction digital_read :
pifacedigitalio.digital_read( numero_de_broche )
La fonction retourne 1 si l'entrée indiquée dans numero_de_broche si le bouton est enfoncé ou l'entrée est connecté sur la masse (GND). Sinon la fonction retourne 0.
Si vous désirez contrôler une sortie, il faut utiliser la fonction digital_write :
pifacedigitalio.digital_write( numero_de_broche, etat )
La fonction permet de fixer l'état de la broche numero_de_broche sur l'état 0 (inactif) ou 1 (actif). L'état 1 active le collecteur ouvert (qui laisse passer le courant) et la LED correspondante.
Les pas suivants
Une façon plus puissante et plus explicite de contrôler le PiFace est de passer par un objet PiFaceDigital.
En créant un objet de type PiFaceDigital, vous aurez accès à toutes les fonctionnalités du PiFace (incluant l'activation des pull-ups, l'input_port et output_port).
Démarrer un interpréteur python à l'aide de la commande:
python3
Instanciez ensuite un objet PiFaceDigital à l'aide de l'instruction suivante:
import pifacedigitalio pfd = pifacedigitalio.PiFaceDigital()
Sorties
Pour fixer la première sortie (celle qui porte le numéro 0) sur l'état 1 (pour activer la sortie):
pfd.output_pins[0].value = 1
Notez le petit cliquetis du relais lorsqu'il s'active. La broche de sortie 0 contrôle également le premier relais.
Vous pouvez également désactiver la sortie numéro 0 (et le relais) en fixant la valeur de la sortie à 0:
pfd.output_pins[0].value = 0
Entrées
Vous pouvez lire la valeur d'une entrée à l'aide de l'instruction suivante:
pfd.input_pins[1].value
Essayez d'exécuter l'instruction ci-dessus en pressant le second bouton (qui porte le numéro 1) PUIS exécutée une seconde fois sans presser le bouton.
Vous devriez voir deux résultats différents.
input_port et output_port
Vous pouvez lire toutes les entrées en une seule opération en utilisant l'attribut input_port :
pfd.input_port.value
Input port affiche une valeur numérique qui, une fois exprimée en valeur binaire, indique l'état de chaque entrée.
Il est également possible de contrôler toutes les sorties en une opération en manipulant l'attribut output_port :
pfd.output_port.value = 0xAA
Exemples python
Activer un relais
Les relais du PiFace Digital sont respectivement connecté sur les deux premières entrées 0 et 1. Vous pouvez donc contrôler ces deux relais à l'aide de la fonction digital_write().
Start a new Python interpreter and type the following:
import piface.pfio as pfio
pfio.init()
# mettre la sortie 0 a l etat 1 (activer)
pfio.digital_write(0,1)
Clignoter une LED =
Un programme qui fait clignoter une LED doit l'allumer et l'éteindre de façon répétitive (avec un délai entre chaque activation/désactivation).
from time import sleep
import piface.pfio as pfio
pfio.init()
while(True):
# activer la sortie 0 = allumer la LED
pfio.digital_write(0,1)
# Attendre une seconde
sleep(1)
# désactiver la sortie 0 = eteindre la LED
pfio.digital_write(0,0)
sleep(1)
Lire une entrée
To read the state of an input use the pfio.digital_read(pin) function. If a button is pressed the function returns a 1, otherwise it returns a 0.
Start a new Python interpreter and type the following:
import piface.pfio as pfio
pfio.init()
pfio.digital_read(0)
Python prints 0.
Hold down the first switch, labelled S0, and type pfio.digital_read(0) again.
Python prints 1.
Traduction basée sur le document Technical DataSheet produit par Farnell
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.