Ligne 29 : |
Ligne 29 : |
| Cette fonction retourne True ou False en fonction de l'état du bouton. | | Cette fonction retourne True ou False en fonction de l'état du bouton. |
| | | |
− | Dans les [[PiBrella-D%C3%A9buterpremiers pas]], un exemple montre comment utiliser le système événementiel avec ce 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: | | Pour obtenir de l'aide sur les fonctions du bouton, vous pouvez saisir les commandes suivantes: |
Ligne 56 : |
Ligne 56 : |
| Il est également possible de commander les LEDs avec un signal PWM ou de les faire pulser. | | Il est également possible de commander les LEDs avec un signal PWM ou de les faire pulser. |
| | | |
− | <nowiki>import pribrella | + | <nowiki>import pibrella, time |
| pibrella.LED.pulse( 0.5 ) | | pibrella.LED.pulse( 0.5 ) |
− | pibrella.LED.green.pwn( 1000, 2 )</nowiki> | + | 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 === | | === Le buzzer === |
Ligne 79 : |
Ligne 86 : |
| | | |
| == 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 146 : |
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]]
| + | 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]] |
− | ==== Senseur PIR ====
| + | * [[PiBrella-Débuter#Ecrire_un_code_plus_.C3.A9volu.C3.A9|exploiter le système événementiel de PiBrella décrit ici]] |
− | 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é.}}
| |
| | | |
| == Les sorties == | | == Les sorties == |
Ligne 333 : |
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 375 : |
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 416 : |
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}} |