Question:
Bouton et résistance 2700 Ohm?
Mark Hähnel
2012-09-18 21:01:17 UTC
view on stackexchange narkive permalink

J'ai un interrupteur à bascule et une résistance de 2700 ohms et je veux lire l'état avec python.La partie code ne me pose pas de problème mais est-il possible d'utiliser ces composants pour le câbler aux GPIO pour lire l'état? Et à quoi le câblage doit-il ressembler?

J'ai lu quelque chose à propos de certaines broches qui ont une résistance de tirage intégrée ou quelque chose. Cela signifie-t-il que je n'ai pas besoin de résistance pour utiliser un bouton / commutateur?

Merci! :)

Salutations, Mark

Deux réponses:
#1
+6
John La Rooy
2012-09-18 21:23:21 UTC
view on stackexchange narkive permalink

Voici la configuration de base dont vous avez besoin. Vous pouvez utiliser les GPIO avec les résistances intégrées si vous le souhaitez

 3V3 --- o | | >> Résistance> | | GPIO --- o | | \ Commutateur \ | | GND --- o 

Vous pouvez également utiliser les faibles résistances pullup / pulldown à l'intérieur du SoC par exemple.

  // activer le pull-up sur GPIO24&25 GPIO_PULL = 2; short_wait (); // horloge sur GPIO 24 & 25 (bit 24 & 25 défini) GPIO_PULLCLK0 = 0x03000000; short_wait (); GPIO_PULL = 0; GPIO_PULLCLK0 = 0;  

Si vous utilisez le pullup interne, vous avez juste besoin de cette partie

 GPIO --- o | | \ Commutateur \ | | GND --- o 
@ppumkin, Si la résistance n'est pas là, l'entrée flottera et aura tendance à basculer de manière aléatoire lorsque des champs électriques se déplacent autour d'elle. La valeur de la résistance n'est pas critique.
D'accord merci. Mais la résistance de 2700 ohms est-elle correcte?
Hein? Si elle est entraînée par 3,3 volts, elle n'est pas flottante ... L'utilisation d'une résistance ne fait que réduire la tension ... alors comment cela élimine les tensions flottantes? Je comprends qu'un schéma pull up ou pull down fait cela ... mais je pense que la résistance en ligne est redondante ...
@Mark, 2700ohm devrait convenir.
@ppumkin, il _est_ une résistance pullup. Sans cela, le commutateur court-circuiterait 3V3 à GND. Son travail n'est pas de réduire la tension. La tension au GPIO sera de 3V3 si le commutateur est ouvert et de 0V si le commutateur est fermé
Ah d'accord, ce que je comprends, c'est que la résistance est de réduire le courant. pour qu'il n'y ait pas de court-circuit, non?
Votre discussion me déroute: D pour que je puisse le faire avec et sans résistance, non?
@Mark, vous avez besoin d'une résistance. La résistance peut être l'une des résistances intégrées si vous souhaitez utiliser ces broches particulières.
Donc, si j'utilise GPIO 0 (aka Pin 4), je peux le connecter comme ceci: [lien] (http://imgur.com/gVr7M) n'est-ce pas?
@Mark, no qui montre un court-circuit de 3V3 à GND lorsque l'interrupteur est fermé
nice ascii art :P
Est-ce que cela fait une différence s'il est utilisé comme résistance pull-up ou pull-down, c'est-à-dire est-ce important pour les broches GPIO en état de sortie si elles roulent contre 0 ou + 3,3V?
@andig, pas vraiment. Souvent, les GPIO peuvent absorber le courant légèrement mieux qu'ils ne le peuvent, mais vous devez éviter de vous approcher de la limite du RPi afin de ne pas risquer de les endommager.
#2
+1
Krzysztof Adamski
2012-09-18 22:42:05 UTC
view on stackexchange narkive permalink

Normalement, la broche GPIO n'est connectée à rien, donc sa valeur n'est pas possible pour détecter de manière fiable son état. On dit que cet état est flottant car dans cet état, la valeur de la broche GPIO peut changer en fonction de certains événements externes imprévisibles.

Maintenant, vous pouvez connecter le commutateur (ou le bouton de bush) d'un côté à GPIO broche et une au sol (GND). De cette façon, si vous appuyez sur le bouton, GND sera connecté au GPIO et son état sera bas. Si vous relâchez le bouton, le GPIO ne sera plus connecté à rien (il aura donc un état flottant).

Vous devez donc d'une manière ou d'une autre faire en sorte que votre GPIO soit connecté à la haute tension lorsque votre bouton-poussoir est relâché. Cela s'appelle pull-up car lorsque vous faites cela, cela augmentera votre tension.

Mais comment faire cela? Vous devez connecter votre GPIO à 3,3V. De cette façon, lorsque si votre bouton est relâché, GPIO aura un état haut (3,3 V). Si vous appuyez sur votre bouton, il sera connecté à la fois à 3,3 V et GND. Le courant passera de 3,3V à GND laissant GPIO à 0V (état bas).

Il y a cependant un problème. Vous n'avez presque pas de résistance dans votre circuit, donc le courant qui circulera sera très important (ce qu'on appelle un court-circuit). C'est mauvais. Et c'est pourquoi vous avez besoin d'une résistance, une résistance pull-up. Cela limitera le courant passant de 3,3 V à la broche GND ou GPIO.

Quelle devrait être la taille de la résistance? Suffisamment grand pour limiter le courant à la valeur qui n'endommagera pas la broche GPIO, ne fera pas sauter vos tensions d'entrée sur RPi ou ne fera pas chuter la tension d'entrée à la valeur qui fera redémarrer votre RPi. Dans le cas où votre RPi serait alimenté par des batteries, vous aimeriez également ne pas prendre trop de courant pour que la batterie durera plus longtemps. Cependant, il ne peut pas être trop élevé, car RPi peut avoir des problèmes pour détecter une haute tension dans l'entrée. Donc, pour être prudent, disons que sa résistance doit être mesurée en kilo ohms :)

Maintenant, vous devriez imaginer ce qu'est la résistance pull-up interne. C'est une petite résistance à l'intérieur d'une puce qui connecte la broche GPIO à la haute tension que vous pouvez utiliser au lieu de connecter une externe.



Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...