Ligne 18 : |
Ligne 18 : |
| Q: Dans les exemples [[PiBrella-D%C3%A9buter|des premiers pas]], les système événementiel est utilisé pour détecter la modification d'une entrée. Est-il possible d'utiliser une seule fonction d'événement et de savoir quelle broche est pressée. | | Q: Dans les exemples [[PiBrella-D%C3%A9buter|des premiers pas]], les système événementiel est utilisé pour détecter la modification d'une entrée. Est-il possible d'utiliser une seule fonction d'événement et de savoir quelle broche est pressée. |
| | | |
− | R: Oui, c'est tout à fait possible. | + | R: Oui, c'est tout à fait possible. Voyez le code suivant: |
| | | |
| + | <nowiki>#!/usr/bin/python |
| + | #-*- encoding: utf8 -*- |
| + | |
| + | # Pibrella - comment lire l'état d'une broche dans un événement "changed" ou "pressed" |
| + | # |
| + | # Voir notre tutoriel Pibrella sur |
| + | # http://wiki.mchobby.be/index.php?title=PiBrella |
| + | # |
| + | # Par Meurisse D. pour MCHobby.be - vente de kits et composants |
| + | # Code sous licence CC-BY-SA |
| + | # |
| + | import pibrella, signal, time |
| + | |
| + | def changement( pin ): |
| + | print( "broche %i" % pin.pin ) |
| + | print( " etat %i" % pin.is_high() ) |
| + | |
| + | pibrella.input.a.changed( changement ) |
| + | pibrella.input.b.changed( changement ) |
| + | pibrella.input.c.changed( changement ) |
| + | pibrella.input.d.changed( changement ) |
| + | |
| + | if __name__ == '__main__': |
| + | signal.pause # laisser le système d'événement faire son boulot |
| + | time.sleep( 20 ) # mettre le programme en pause pour qu'il ne se termine pas immédiatement |
| + | print( "Voila, c est terminé" ) |
| + | </nowiki> |
| | | |
| Ce qui produit le résultat suivant: | | Ce qui produit le résultat suivant: |
| | | |
| | | |
− | La correspondance des entrées et n° de broche est décrit dans | + | La correspondance des entrées et n° de broche est décrit dans la section [[PiBrella-Utiliser|exploiter carte]] |
| | | |
| {{PiBrella-TRAILER}} | | {{PiBrella-TRAILER}} |