¿Por qué usar una resistencia para Pull-Up? [duplicar]

2

Acabo de obtener mi primer Arduino y tuve una pregunta acerca de las resistencias pull-up.

Estaba intentando conectar un botón pulsador al Arduino en el pin 2, y si está en ALTO, escribo ALTO en el pin 13. Ahora, en el tutorial que vi, decía que tenía una resistencia desde el botón hasta el suelo así que si el pin 2 pregunta cuál es el voltaje, se pone a tierra, por lo que no escribe HIGH en el pin 13.

Probé esto y, de hecho, previno el ruido del pin 2. Sin embargo, cuando intenté reemplazar la resistencia de 10k con un cable normal, no funcionó. Entonces, mi pregunta es ¿por qué tenemos para usar una resistencia y por qué no puede ser simplemente una conexión a tierra?

En este diagrama, el pin 2 lee si obtiene 5V (ALTO) o 0V (BAJO) y devuelve un valor booleano. Luego, si el valor es ALTO, el pin 13 sale ALTO. Además, parece que el cable largo en el Arduino está bloqueando la etiqueta en un pin. El pin al que se conecta el cable largo dice "5V".

¡Gracias!

    
pregunta Globmont

3 respuestas

2

Tienes que usar una resistencia para que el botón pulsador pueda dominarla. Si usas un trozo de cable, obtienes un corto entre Vcc y GND cuando presionas el botón, lo que no es tan bueno para el botón ni para el resto de la placa. El uso de una resistencia mantiene el pin en un nivel específico hasta que aparece algo "más fuerte" (menor resistencia) y lo cambia (en este caso, el botón).

    
respondido por el alex.forencich
0

Actualización debido a la adición de un diagrama.

Generalmente, los botones son interruptores. Una primavera de algún tipo los mantiene "apagados". Cuando presionas el botón, superas la fuerza del resorte y corta sus dos contactos juntos, y luego está "encendido".

En su caso, no tiene un pullup, tiene un menú desplegable. Un lado del interruptor está conectado a VCC (5V) y el otro lado está conectado a la resistencia que baja a GND. El pin IO también está conectado al lado de la resistencia del interruptor.

La razón por la que necesita una resistencia, que ha sido explicada por otros respondedores, es que si usa un cable, entonces, cada vez que presione el botón, 5V se cortará directamente a GND. Usted menciona que intentó esto y "no funcionó". No estoy seguro de lo que significa "no funcionó" en este contexto, pero es probable que toda la placa se reinicie cada vez que haces eso. Espero que esto responda a todas sus preguntas. ¡Diviértete experimentando!

    
respondido por el mkeith
0

Um ... aquí están mis 2 centavos ...

cada microcontrolador (incluido el que está sentado en el Arduino) tiene una limitación de corriente en sus pines. Por lo tanto, cuando conecte las resistencias de pull-up (o pull-down), debe asegurarse de que la corriente que pueden extraer se encuentre dentro de las especificaciones del microcontrolador). Por lo tanto, necesita una resistencia de alto nivel para esto, pero no puede mantener una resistencia demasiado grande para que incluso las corrientes perdidas estropeen su circuito. Normalmente, se recomiendan entre 10 K y 20 K.

Para tu información: soy un aficionado, no un ingeniero electrónico, así que utiliza mi información bajo tu propio riesgo :-P

Abhishek

    
respondido por el Abhishek

Lea otras preguntas en las etiquetas