Modifications

Sauter à la navigation Sauter à la recherche
4 907 octets ajoutés ,  21 juillet 2016 à 09:39
Ligne 15 : Ligne 15 :  
=== Sortie en 5V uniquement ===
 
=== Sortie en 5V uniquement ===
 
Vous ne pouvez pas utiliser de moteur/relais/etc de plus de 5V avec votre PiBrella (vous ne pouvez pas utiliser de périphérique 12v et une masse commune, [[ULN2803-Sch%C3%A9ma|la raison est décrite sur cette page]])
 
Vous ne pouvez pas utiliser de moteur/relais/etc de plus de 5V avec votre PiBrella (vous ne pouvez pas utiliser de périphérique 12v et une masse commune, [[ULN2803-Sch%C3%A9ma|la raison est décrite sur cette page]])
 +
 +
== Équipement de la carte ==
 +
Ce qu'il y a de bien avec le PiBrella, c'est que la carte est déjà pré-équipée avec:
 +
* Un bouton
 +
* Un buzzer
 +
* 3 Leds (une rouge, une jaune, une verte)
 +
 +
=== Le bouton rouge ===
 +
Le bouton rouge peut être testé à l'aide de
 +
 +
pibrella.button.is_pressed()
 +
 +
Cette fonction retourne True ou False en fonction de l'état du bouton.
 +
 +
Dans les [[PiBrella-D%C3%A9buter|premiers pas]], un exemple montre comment utiliser le système événementiel avec ce bouton.
 +
 +
Pour obtenir de l'aide sur les fonctions du bouton, vous pouvez saisir les commandes suivantes:
 +
 +
import pibrella
 +
help( pibrella.input.bouton )
 +
 +
Ce bouton est branché sur la broche 11 du Raspberry-Pi.
 +
 +
=== Les Leds ===
 +
Les LEDs peuvent être commandées en groupe mais le plus intéressant reste quand même de pouvoir les commander individuellement.
 +
 +
Il est également intéressant de connaître les traductions anglais-français suivantes:
 +
* '''Green''': Vert
 +
* '''Yellow''': Jaune
 +
* '''Red''': Rouge
 +
 +
Vous pouvez allumer les LED à l'aide des instructions suivantes:
 +
<nowiki>import pibrella, time
 +
pibrella.LED.green.on()
 +
pibrella.LED.yellow.on()
 +
pibrella.LED.red.on()
 +
time.sleep(2)
 +
pibrella.light.off() # éteindre toutes les LEDs</nowiki>
 +
 +
Il est également possible de commander les LEDs avec un signal PWM ou de les faire pulser.
 +
 +
<nowiki>import pibrella, time
 +
pibrella.LED.pulse( 0.5 )
 +
pibrella.LED.green.pwn( 1000, 2 )
 +
time.sleep(1)
 +
pibrella.light.pulse(0.2) # faire pulser les 3 Leds de la carte</nowiki>
 +
 +
Pour votre information, voici le branchement des LEDs:
 +
* La led rouge (''red'') est branchée sur la broche 27
 +
* La led jaune (''yellow'') est branchée sur la broche 17
 +
* La led verte (''green'') est branchée sur la broche 4
 +
 +
=== Le buzzer ===
 +
Comme indiqué dans [[PiBrella-Débuter|les premiers pas]]], le buzzer est accessible via '''pibrella.buzzer'''.
 +
 +
Pour obtenir de l'aide sur les fonctions du buzzer, vous pouvez utiliser la commande suivante:
 +
 +
<nowiki>import pibrella
 +
help( pibrella.buzzer )</nowiki>
 +
 +
Les méthodes intéressantes sont:
 +
<nowiki>import pibrella, time
 +
pibrella.buzzer.fail()
 +
time.sleep( 1 )
 +
pibrella.alarme() # fait retentir un signal d'alarme
 +
time.sleep( 5 )
 +
pibrella.buzzer.stop() # Voyez aussi notre FAQ </nowiki>
 +
 +
Le buzzer dispose également d'autres fonctions permettant de jouer des mélodies, une note ou une tonalité.
    
== Les entrées ==
 
== Les entrées ==
Les entrées sont activées en pontant le connecteur face à la lettre de l'entrée. Vous pouvez donc utiliser {{sl|switch|tout type d'interrupteur/switch}}, {{sl|bouton%20tactile|bouton poussoir}}, {{pl|60|contact magnétique}}.
+
Les entrées sont activées en pontant le connecteur face à la lettre de l'entrée. Vous pouvez donc utiliser {{sl|switch|tout type d'interrupteur/switch}}, {{sl|bouton%20tactile|bouton poussoir}}, {{pl|60|contact magnétique}} ou encore un {{pl|761|contact reed (cfr flotteur)}}.
 
   
 
   
 
Selon toute vraisemblance, les entrées disposent d'une résistance pull-down (qui ramène le potentiel à 0 Volts) et sont activées lorsque la tension est placée à (tension de 3.3v).
 
Selon toute vraisemblance, les entrées disposent d'une résistance pull-down (qui ramène le potentiel à 0 Volts) et sont activées lorsque la tension est placée à (tension de 3.3v).
Ligne 84 : Ligne 153 :  
  help( pibrella.input.a )
 
  help( pibrella.input.a )
   −
=== Un peu de hacking ===
+
=== Tester les entrées ===
Les entrées du PiBrella peuvent aussi être utilisé pour être utilisé avec des éléments actifs comme un senseur à {{pl|86|effet Hall}} ou un {{pl|61|Senseur PIR}} compatible Raspberry-Pi.
+
Voici un petit bout de code Python qui vous permettra de tester facilement toutes les entrées sur un PiBrella.
   −
Mais pour pouvoir utiliser d'autres senseurs, il faut souvent pouvoir disposer d'une source d'alimentation 5V. Chose non prévue par PiBrella... mais rien n'arrête hacker!
+
<syntaxhighlight lang="python">
 +
inputs = { pibrella.input.a : 'a', pibrella.input.b : 'b', pibrella.input.c : 'c', pibrella.input.d : 'd', pibrella.button : 'BUTTON' }
   −
==== Récupérer +5V sur PiBrella ====
+
def testinputs():
A l'aide d'un fer à souder et d'une {{pl|76|section de pinHeader}} nous allons récupérer la masse et +5 volts directement sur le GPIO du PiBrella. Voici comment faire.
+
  # Vérifie chacune des entrées (celles enregsitrées dans le dictionnaire inputs)
 +
  # k sera l'objet pibrella.input.xxx et v le nom de l'entree correspondante
 +
  for k, v in inputs.items():
 +
      # SI l'entree est activee ALORS afficher son nom
 +
      if k.is_high():
 +
          print( v )
   −
1) Commencer par mettre votre Raspberry-Pi hors tension.
+
# boucle infinie de test (presser ctrl+c pour arrêter)
 +
while True:
 +
  testinputs()
 +
</syntaxhighlight>
   −
2) Coupez une section de 6 ou 7 broches (seules les 3 premières broches seront utilisés).
+
=== Brancher un Switch Magnétique ===
 +
Un contact magnétique est constitué de deux parties.
 +
# Un aimant
 +
# Le contact magnétique (aussi appelé Reed switch).
   −
3) Etamer les 3 premières broches.
+
[[Fichier:ReedSwitch.jpg]]
   −
4) Placer ensuite le pinHeader comme indiqué sur le PiBrella comme indiqué
+
Ces contacts,faciles à mettre en oeuvre, servent généralement à détecter l'ouverture d'une porte ou d'une fenêtre.
 +
Si vous disposez d'un système d'alarme à la maison vous avez probablement noté ces petits boitiers blancs à proximité des fenêtres.
   −
[[Fichier:PiBrella-5V-01.jpg|480px]]
+
Les contacts magnétiques sont généralement ouvert au repos (c'est a dire "non sollicité par un aimant").<br />
 +
Lorsque l'on place l'aimant à proximité, le contact se ferme. En étant attentif, il est parfois même possible d'entendre le contact se fermer.
   −
* Maintenez votre section de pinHeader en place en la tenant par ''la partie inutile'' (histoire de ne pas se bruler les doigts).
+
Sur un Pibrella, le contact magnétique se branche comme n'importe quel bouton poussoir/switch/tilt ball.
* Chauffer l'une des broches pour qu'elle tienne en place (même temporairement, c'est pour cela qu'il est important d'étamer).
+
* Passez aux autres broches...
+
[[Fichier:RASP-PIBRELLA-Magnetic-Switch.jpg]]
** Faite chauffer 3 ou 4 secondes
  −
** Ajouter juste une pointe de soudure... ca y est c'est soudé :-)
  −
* Terminez l'opération de soudure par la broche de fixation.
  −
 
  −
5) Coupez ensuite la partie inutile de la section de pinHeader
  −
 
  −
[[Fichier:PiBrella-5V-02.jpg|480px]]
  −
 
  −
6) Pour finir, utilisez de simple connecteur ({{pl|82|issu de cet assortiment}}) pour récupérer facilement la masse et le +5 Volts.
  −
 
  −
[[Fichier:PiBrella-5V-03.jpg|480px]]
  −
 
  −
==== Senseur PIR ====
  −
Avec un {{pl|61|senseur PIR}}, vous pourrez utiliser un votre PiBrella pour détecter un mouvement ou le passage d'une personne.
  −
 
  −
[[Fichier:SenseurPir.jpg]]
  −
 
  −
Le senseur PIR s'active pendant 6 secondes (environ) lorsqu'il détecte un mouvement. Même s'il est alimenté en 5 volts, ce senseur PIR est compatible avec Raspberry-Pi car le signal ne dépasse pas la tension critique du GPIO du Raspberry-Pi.
  −
 
  −
[[Fichier:PiBrella-PIR-Senseur.jpg|480px]]
  −
 
  −
La lecture de l'état est aussi simple que
  −
 
  −
pirActif = pibrella.input.d.is_high()
  −
 
  −
La preuve par l'exemple
  −
 
  −
[[Fichier:PiBrella-PIR-Senseur 02.jpg|800px]]
  −
 
  −
==== Senseur à Effet Hall ====
  −
Les senseurs à Effet Hall permettent de détecter si un aimant est a proximité. Ils sont très utiles pour constituer un senseur SANS contact et résistant à l'eau.
  −
Ils peuvent aussi servir comme senseur de position, encodeur, détection de rotation.
  −
 
  −
 
  −
Détecter la présence d'un aimant est une opération qui présente un avantage majeure en prototypage électronique.<br />
  −
Un {{pl|86|senseur US5881LUA}} et {{pl|87|un aimant}} permet de mettre en oeuvre de détecteur de type "switch" là ou il serait impossible de placer un vrai switch<br />
  −
Par exemple, vous pouvez détecter la rotation d'un élément rotatif. C'est grâce à ce senseur que je peux détecter l'ouverture de ma poubelle.<br />
  −
 
  −
''Parmi les nombreux senseurs à effet Hall disponibles sur le marché, l'un des meilleurs est certainement le US5881LUA.'' de '''Melexis'''
  −
 
  −
[[Fichier:HallEffect.jpg|150px]]
  −
 
  −
[[Fichier:Aimant-Rare-Earth.jpg|150px]]
  −
 
  −
{{ambox | text = Nous avons déjà écrit un article très détaillé expliquant le fonctionnement et contenant de nombreux exemples/cas d'utilisation de ce senseur. Vous pouvez [[Senseur à Effet Hall|consulter cet article ici]] }}
  −
 
  −
[[Fichier:RASP-PIBRELLA-SENSEUR-HALL 00.jpg]]
  −
 
  −
La lecture se fait à l'aide de
  −
 
  −
pibrella.input.d.is_high()
  −
 
  −
Vous obtiendrez:
  −
* '''True''' lorsque le senseur n'est pas activé par un aimant
  −
* '''False''' lorsque le senseur est activé par le pole sud d'un aimant.
     −
{{ambox|text=En respectant le montage, l'entrée est correctement activée même si la LED elle ne s'allume pas (à cause de la résistance pull-up de 10 K sur le senseur Hall).<br /><br />Montage testé et approuvé.}}
+
Pour détecter l'ouverture du switch, vous pouvez:
 +
* [[PiBrella-Débuter#Tester_directement_une_entr.C3.A9e|Tester directement l'état de l'entrée]]
 +
* [[PiBrella-Débuter#Ecrire_un_code_plus_.C3.A9volu.C3.A9|exploiter le système événementiel de PiBrella décrit ici]]
    
== Les sorties ==
 
== Les sorties ==
Ligne 271 : Ligne 301 :  
  pibrella.output.h.off()
 
  pibrella.output.h.off()
   −
== Brancher un relais ==
+
=== Brancher un relais ===
 
Vous pouvez également brancher des relais sur votre PiBrella.
 
Vous pouvez également brancher des relais sur votre PiBrella.
   Ligne 313 : Ligne 343 :  
   time.sleep( 0.5 )</nowiki>
 
   time.sleep( 0.5 )</nowiki>
   −
== Brancher une LED ==
+
=== Brancher une LED ===
    
Vous pouvez également brancher {{pl|66|une LED 5mm}}, {{pl|67|LED 10mm}}, des {{pl|417|LEDs Infrarouge}} (pour la {{pl|416|Caméra PiNoIR}}) ou {{cl|18|autre LED}} sur une sortie.
 
Vous pouvez également brancher {{pl|66|une LED 5mm}}, {{pl|67|LED 10mm}}, des {{pl|417|LEDs Infrarouge}} (pour la {{pl|416|Caméra PiNoIR}}) ou {{cl|18|autre LED}} sur une sortie.
Ligne 354 : Ligne 384 :  
  time.sleep( 2 )
 
  time.sleep( 2 )
 
  pibrella.output.e.off()</nowiki>
 
  pibrella.output.e.off()</nowiki>
 +
 +
== Brancher un Moteurs pas-à-pas ==
 +
Comme l'indique Cymplecy, il est possible de connecter un petit moteur pas-à-pas 5 broches (5 volts) que vous connectez sur les sorties.
 +
 +
Avec le texte '''OUT''' des sortie face à vous:
 +
* Le Rouge sur n'importe quel connecteur à gauche (''Red to any left hand one'')
 +
* Les 4 autres fils sur la partie droite du connecteur.
 +
 +
[[Fichier:Pibrella-Scratch-Stepper.jpg|640px]]<small><br />Source: [https://projects.drogon.net/pibrella-from-pimoroni/ drogon.net], Rework: MCHobby</small>
 +
 +
Ce petit moteur à besoin de 768 impulsions (pas) pour faire un tour complet.
 +
 +
== Les entrées - Utilisation avancée ==
 +
Les entrées du PiBrella peuvent aussi être utilisé pour être utilisé avec des éléments actifs comme un senseur à {{pl|86|effet Hall}} ou un {{pl|61|Senseur PIR}} compatible Raspberry-Pi.
 +
 +
Mais pour pouvoir utiliser d'autres senseurs, il faut souvent pouvoir disposer d'une source d'alimentation 5V. Chose non prévue par PiBrella... mais rien n'arrête hacker!
 +
 +
=== Récupérer +5V sur PiBrella ===
 +
A l'aide d'un fer à souder et d'une {{pl|76|section de pinHeader}} nous allons récupérer la masse et +5 volts directement sur le GPIO du PiBrella. Voici comment faire.
 +
 +
1) Commencer par mettre votre Raspberry-Pi hors tension.
 +
 +
2) Coupez une section de 6 ou 7 broches (seules les 3 premières broches seront utilisés).
 +
 +
3) Etamer les 3 premières broches.
 +
 +
4) Placer ensuite le pinHeader comme indiqué sur le PiBrella comme indiqué
 +
 +
[[Fichier:PiBrella-5V-01.jpg|480px]]
 +
 +
* Maintenez votre section de pinHeader en place en la tenant par ''la partie inutile'' (histoire de ne pas se bruler les doigts).
 +
* Chauffer l'une des broches pour qu'elle tienne en place (même temporairement, c'est pour cela qu'il est important d'étamer).
 +
* Passez aux autres broches...
 +
** Faite chauffer 3 ou 4 secondes
 +
** Ajouter juste une pointe de soudure... ca y est c'est soudé :-)
 +
* Terminez l'opération de soudure par la broche de fixation.
 +
 +
5) Coupez ensuite la partie inutile de la section de pinHeader
 +
 +
[[Fichier:PiBrella-5V-02.jpg|480px]]
 +
 +
6) Pour finir, utilisez de simple connecteur ({{pl|82|issu de cet assortiment}}) pour récupérer facilement la masse et le +5 Volts.
 +
 +
[[Fichier:PiBrella-5V-03.jpg|480px]]
 +
 +
=== Senseur PIR ===
 +
Avec un {{pl|61|senseur PIR}}, vous pourrez utiliser un votre PiBrella pour détecter un mouvement ou le passage d'une personne.
 +
 +
[[Fichier:SenseurPir.jpg]]
 +
 +
Le senseur PIR s'active pendant 6 secondes (environ) lorsqu'il détecte un mouvement. Même s'il est alimenté en 5 volts, ce senseur PIR est compatible avec Raspberry-Pi car le signal ne dépasse pas la tension critique du GPIO du Raspberry-Pi.
 +
 +
[[Fichier:PiBrella-PIR-Senseur.jpg|480px]]
 +
 +
La lecture de l'état est aussi simple que
 +
 +
pirActif = pibrella.input.d.is_high()
 +
 +
La preuve par l'exemple
 +
 +
[[Fichier:PiBrella-PIR-Senseur 02.jpg|800px]]
 +
 +
=== Senseur à Effet Hall ===
 +
Les senseurs à Effet Hall permettent de détecter si un aimant est a proximité. Ils sont très utiles pour constituer un senseur SANS contact et résistant à l'eau.
 +
Ils peuvent aussi servir comme senseur de position, encodeur, détection de rotation.
 +
 +
 +
Détecter la présence d'un aimant est une opération qui présente un avantage majeure en prototypage électronique.<br />
 +
Un {{pl|86|senseur US5881LUA}} et {{pl|87|un aimant}} permet de mettre en oeuvre de détecteur de type "switch" là ou il serait impossible de placer un vrai switch<br />
 +
Par exemple, vous pouvez détecter la rotation d'un élément rotatif. C'est grâce à ce senseur que je peux détecter l'ouverture de ma poubelle.<br />
 +
 +
''Parmi les nombreux senseurs à effet Hall disponibles sur le marché, l'un des meilleurs est certainement le US5881LUA.'' de '''Melexis'''
 +
 +
[[Fichier:HallEffect.jpg|150px]]
 +
 +
[[Fichier:Aimant-Rare-Earth.jpg|150px]]
 +
 +
{{ambox | text = Nous avons déjà écrit un article très détaillé expliquant le fonctionnement et contenant de nombreux exemples/cas d'utilisation de ce senseur. Vous pouvez [[Senseur à Effet Hall|consulter cet article ici]] }}
 +
 +
[[Fichier:RASP-PIBRELLA-SENSEUR-HALL 00.jpg]]
 +
 +
La lecture se fait à l'aide de
 +
 +
pibrella.input.d.is_high()
 +
 +
Vous obtiendrez:
 +
* '''True''' lorsque le senseur n'est pas activé par un aimant
 +
* '''False''' lorsque le senseur est activé par le pole sud d'un aimant.
 +
 +
{{ambox|text=En respectant le montage, l'entrée est correctement activée même si la LED elle ne s'allume pas (à cause de la résistance pull-up de 10 K sur le senseur Hall).<br /><br />Montage testé et approuvé.}}
 +
 
   
 
   
 
{{PiBrella-TRAILER}}
 
{{PiBrella-TRAILER}}
29 836

modifications

Menu de navigation