¿Necesito usar una resistencia con un microinterruptor para limitar la corriente de un Arduino Uno?

4

Estoy usando un Arduino Uno para controlar un pequeño robot y estoy empezando a agregar microinterruptores como sensores de impacto. Sé que cuando estoy creando un circuito con LED, necesito usar resistencias para limitar la corriente, así que no arruino el Arduino, ¿pero debo hacer lo mismo con los microinterruptores? Si es así, ¿cómo calculo la resistencia necesaria?

Si marca una diferencia, mi microinterruptor es Pololu # 1405, Interruptor de acción rápida con 15.6 mm Bump Lever 3-pin, SPDT, 5A. El Arduino produce 5V y tiene un máximo de 40 mA.

EDIT : he investigado un poco más y he encontrado una página que parece describir exactamente lo que quiero hacer ( enlace ), no sé cómo me lo perdí antes. Entonces, si estoy entendiendo la situación correctamente, la única resistencia que necesito es la que se levanta / baja entre el interruptor y la conexión a tierra, pero ninguna entre el interruptor y el pin que lee el interruptor.

    
pregunta scae

2 respuestas

8

No necesitas una resistencia, siempre y cuando configures el pin para que sea entrada . Las resistencias de protección actuales son necesarias solo en los casos en que el pin Arduino se utiliza como fuente de corriente, es decir, salida . Si el pin se utiliza como pin de salida, es posible que necesite una resistencia limitadora de corriente, dependiendo de lo que esté conectado al pin. Por lo general, no conectamos los interruptores a las salidas (excepto en casos inusuales en que los interruptores necesitan alimentación, los interruptores son circuitos, etc.).

Para un pin de entrada es posible que desee un pull-up o una resistencia de pull-down. Sin embargo, todos los chips AVR tienen incorporados pull-ups. Después de configurar el pin como un pin de entrada, active el resistor pull-up digitalWrite(HIGH) para ese pin, o, como @mpflaga señala, en la nueva cadena de herramientas de Arduino, puede configurar el modo de entrada y pullup usando la línea pinMode(in_pin, INPUT_PULLUP); . Consulte aquí para obtener más información sobre el pull-up / resistencias desplegables.

Si desea una resistencia de pull-up discreta (es decir, no use la incorporada, aunque no sé por qué haría eso), el circuito tendrá el siguiente aspecto:

simular este circuito : esquema creado usando CircuitLab

El pin leerá alto cuando no se presione el interruptor, y bajo cuando esté.

    
respondido por el angelatlarge
5

Un interruptor cerrado es un cortocircuito. Analiza tu circuito sustituyendo todos los interruptores por cortos. Si todas las corrientes están todavía dentro de las especificaciones, entonces estás bien. Si no, no lo estás.

Sin un esquema ni ningún indicio de lo que está haciendo exactamente, esto es todo lo que se puede decir.

    
respondido por el Olin Lathrop

Lea otras preguntas en las etiquetas