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 28 : |
Ligne 97 : |
| | <small>Exemple d'activation de entrée A par contact franc</small> | | | <small>Exemple d'activation de entrée A par contact franc</small> |
| | <small>Brancher un {{pl|60|relay reed (magnétique switch)}} sur PiBrella</small> | | | <small>Brancher un {{pl|60|relay reed (magnétique switch)}} sur PiBrella</small> |
| + | |- |
| + | | [[Fichier:RASP-PIBRELLA-Bouton.jpg]] |
| + | | [[Fichier:RASP-PIBRELLA-Tilt.jpg]] |
| + | |- align="center" |
| + | | <small>Ce qu'il y a de bien avec ce {{pl|187|modèle de bouton}}, c'est<br />qu'il suffit de le brancher sur deux côtés opposés du bouton.</small> |
| + | | <small>Le {{pl|32|Tilt ball}}, aussi appelé l'accéléromètre "du pauvre".<br />Ces senseurs à inclinaison sont des contacts qui détectent des<br />orientations ou des mouvements de base.<br />Sur PiBrella il est aussi simple à brancher qu'un bouton.</small> |
| |} | | |} |
| + | |
| | | |
| Il est préférable d'utiliser une résistance de 100 Ohms en série avec l'interrupteur pour éviter les contacts franc. Cela pourrait sauver votre Pi en cas d'erreur de manipulation. | | Il est préférable d'utiliser une résistance de 100 Ohms en série avec l'interrupteur pour éviter les contacts franc. Cela pourrait sauver votre Pi en cas d'erreur de manipulation. |
Ligne 77 : |
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 179 : |
Ligne 216 : |
| | | |
| {{ambox-stop|text=Ne court-circuitez jamais une sortie. Cela pourrait endommager le PiBrella.}} | | {{ambox-stop|text=Ne court-circuitez jamais une sortie. Cela pourrait endommager le PiBrella.}} |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | | align="center" | Sortie |
| + | | align="center" | N° Broche |
| + | | align="center" | Changer l'état |
| + | |- style="font-size: 90%" |
| + | | align="left" | E |
| + | | align="left" | 22 |
| + | | align="left" | pibrella.output.e.on() |
| + | |- style="font-size: 90%" |
| + | | align="left" | F |
| + | | align="left" | 23 |
| + | | align="left" | pibrella.output.f.on() |
| + | |- style="font-size: 90%" |
| + | | align="left" | G |
| + | | align="left" | 24 |
| + | | align="left" | pibrella.output.g.on() |
| + | |- style="font-size: 90%" |
| + | | align="left" | H |
| + | | align="left" | 25 |
| + | | align="left" | pibrella.output.h.on() |
| + | |} |
| | | |
| === Obtenir de l'aide === | | === Obtenir de l'aide === |
Ligne 241 : |
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 283 : |
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 324 : |
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}} |