Modifications

Sauter à la navigation Sauter à la recherche
1 781 octets ajoutés ,  6 juillet 2014 à 15:12
aucun résumé de modification
Ligne 7 : Ligne 7 :     
== Le buzzer ne s'arrête vraiment pas ==
 
== Le buzzer ne s'arrête vraiment pas ==
Q: Lorsque je tape la commande '''pibrella.buzzer.stop()''', le son a changé mais il ne s'arrête pas.
+
{{bloc-etroit|text=Q: Lorsque je tape la commande '''pibrella.buzzer.stop()''', le son a changé mais il ne s'arrête pas.
    
R: Le son a changé parce que le système a modifié la fréquence PWM pour arrêter le buzzer. Il peu rester un son résiduel pouvant être gênant (probablement causé par un manque de précision dans le signal PWM?).  
 
R: Le son a changé parce que le système a modifié la fréquence PWM pour arrêter le buzzer. Il peu rester un son résiduel pouvant être gênant (probablement causé par un manque de précision dans le signal PWM?).  
   −
Nous avons réussit à contourner le problème en assignant une fréquence presque nulle à l'aide de la commande suivante:
+
Nous avons réussit à contourner le problème en assignant une fréquence presque nulle à l'aide de la commande suivante:}}
    
  pibrella.buzzer.buzz( 0.0001 )
 
  pibrella.buzzer.buzz( 0.0001 )
    
== Connaître la broche et son état ==
 
== Connaître la broche et son état ==
Q: Dans les exemples de  
+
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. Voyez le code suivant:
 +
 +
Vous pouvez créer un script Python pour le tester assez facilement (voir ci-dessous). N'oubliez pas de le démarrer avec sudo.
 +
 +
<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__':
 +
    print( "Voila, vous avez 20 sec pour faire vos tests" )
 +
    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( "Le programme est terminé" )
 +
</nowiki>
 +
 +
Il ne vous reste plus qu'a démarrer le programme et ponter les entrées A,B,C,D pour les tester
 +
 +
Ce qui produit le résultat suivant:
 +
<nowiki>broche 9
 +
  etat 1
 +
broche 9
 +
  etat 0
 +
broche 7
 +
  etat 1
 +
broche 8
 +
  etat 1
 +
broche 7
 +
  etat 0
 +
broche 8
 +
  etat 0</nowiki>
 +
 +
La correspondance des entrées et n° de broche est décrit dans la section [[PiBrella-Utiliser|exploiter carte]] 
 +
 +
== x ==
 +
 +
== y ==
 +
 +
== z ==
 
{{PiBrella-TRAILER}}
 
{{PiBrella-TRAILER}}
29 836

modifications

Menu de navigation