Resistencias pull-up y pull-down en Arduino

Entender por qué y cómo usar las resistencias pull-up y pull-down es obligatorio para construir tu primer circuito basado en Arduino

Las resistencias pull-up y pull-down se utilizan para polarizar correctamente las entradas de las puertas digitales y evitar que floten de forma aleatoria cuando no hay ninguna condición de entrada

Las puertas lógicas digitales pueden utilizarse para conectarlas a circuitos o dispositivos externos, pero hay que tener cuidado de que sus entradas o salidas funcionen correctamente y proporcionen la condición de conmutación esperada.

Las puertas lógicas digitales modernas, los circuitos integrados y los microcontroladores contienen muchas entradas, llamadas “pines”, así como una o más salidas, y estas entradas y salidas tienen que estar correctamente configuradas, ya sea en ALTO o en BAJO para que el circuito digital funcione correctamente.

Sabemos que las puertas lógicas son el bloque de construcción más básico de cualquier circuito lógico digital y que utilizando combinaciones de las tres puertas básicas, la puerta AND, la puerta OR y la puerta NOT, podemos construir circuitos combinacionales bastante complejos. Pero al ser digitales, estos circuitos sólo pueden tener uno de los dos estados lógicos, llamados estado lógico “0” o estado lógico “1”.

Estos estados lógicos están representados por dos niveles de tensión diferentes, y cualquier tensión por debajo de un nivel se considera un “0” lógico, y cualquier tensión por encima de otro nivel se considera un “1” lógico. Así, por ejemplo, si los dos niveles de tensión son 0V y +5V, el 0V representa un “0” lógico y el +5V representa un “1” lógico.

Si las entradas de una puerta o circuito lógico digital no están dentro del rango por el que se puede detectar como una entrada “0” o “1” lógico, entonces el circuito digital puede tener un falso disparo ya que la puerta o el circuito no reconoce el valor de entrada correcto, ya que el HIGH puede no ser lo suficientemente alto o el LOW puede no ser lo suficientemente bajo.

¿Qué son las resistencias pull-up y para que sirven?

word image 3 - Resistencias pull-up y pull-down en ArduinoLas resistencias pull-up son resistencias de valor fijo utilizadas entre la conexión de una fuente de voltaje y un pin particular en un circuito lógico digital. Más comúnmente emparejado con interruptores, su propósito es asegurar que la tensión entre Ground y Vcc se controle activamente cuando el interruptor está abierto. Además, no afectando el estado del circuito al hacerlo también. Debes tener en cuenta que si no hay resistencias pull-up, resultará en un cortocircuito, que no es ideal.

Aplicaciones de resistencias pull-up

  • Dispositivo de interconexión entre un interruptor y una placa de microcontrolador
  • Convertidores analógicos a digitales,; proporcionando un flujo de corriente controlado en un sensor resistivo
  • Autobús de protocolo I2C; permitir que un solo pasador actúe como un E/P u O/P

¿Cuándo usar resistencias pull-up?

Si necesita un estado de impedancia predeterminado bajo y desea tirar de la señal a “alta”, las resistencias pull-up son las que se deben utilizar.

Qué son las resistencias pull-down

word image 4 - Resistencias pull-up y pull-down en Arduino

De forma similar a las resistencias pull-up, las resistencias pull-down garantizan que el voltaje entre VCC y un pasador de microcontrolador se controle activamente cuando el interruptor está abierto. Sin embargo, en lugar de tirar de un pasador a un valor alto, tales resistencias tiran del pasador a un valor bajo en su lugar. Aunque se utiliza con menos frecuencia, una resistencia desplegable sigue siendo una opción válida.

Cómo calcular los valores de las resistencias pull-up y pull-down

Con muchas resistencias pull-up o pull-down en circuitos de nivel lógico digital que van de 2 a 4.7k, necesitaremos calcular los valores reales de estas resistencias. De manera similar a como calculamos la resistencia para una resistencia normal, usaremos la fórmula en la ley Ohms, donde R = Voltaje / Corriente o en resumen, R = V / I

Cálculo de valores reales para resistencias pull-up

Para las resistencias de extracción, el voltaje se refiere a la tensión de origen menos el voltaje mínimo aceptado como alto. Mientras que la corriente hace referencia a la corriente máxima hundida por los pines lógicos.

Fórmula para calcular el valor real de las resistencias pull-up:

  • R pull-up = (V supply – VH(min)) / Isink

Cálculo de valores reales para resistencias desplegables

Para las resistencias desplegables, hay un ligero cambio en la fórmula, aunque todavía se basa en la ley Ohms. El voltaje sabrá que se hará referencia a la lógica Baja, mientras que la corriente se refiere a la corriente máxima originada por el pasador digital.

Fórmula para calcular el valor real de las resistencias desplegables:

  • R pull-down = (VL(max) – 0) / Ifuente

Resistencia Pull Up vs Pull Down, diferencias

Para ilustrar mejor las diferencias entre resistencias pull-up y pull-down, proporcionaré una comparación de lado a lado a través de una tabla a continuación:

Resistencias pull-up Resistencias pull-down
Conecta entre el pin de E/S y +voltaje de alimentación, con un interruptor abierto conectado entre E/S y tierra. Mantiene la entrada “Alta” Conéctese entre un pin de E/S y un suelo, con un interruptor abierto conectado entre E/S y +Suministro. Mantiene la entrada “Baja”
Más comúnmente utilizadas Menos comúnmente utilizadas

Como se observó, no hay muchas diferencias entre ambas resistencias de tipo, ya que comparten una funcionalidad muy similar.

Cómo usar Arduino y resistencias pull-up

En el siguiente tutorial se muestra cómo puede usar INPUT_PULLUP con pinMode(), mediante la supervisión del estado de un conmutador mediante el establecimiento de una comunicación serie entre su Arduino y PC.

Esto es lo que necesita para este tutorial:

Configuraciones de hardware:

word image 5 - Resistencias pull-up y pull-down en Arduino

  • Conecta dos cables a la placa Arduino
    • El cable negro conecta el suelo a una pierna del pulsador
    • El segundo cable conecta el pasador digital 2 con la otra pierna del pulsador

Configuraciones de software con Código Arduino

  • Paso 1: Establezca 9600 bits de datos entre su Arduino y su PC introduciendo el siguiente código:
Serial.begin(9600);

 

  • Paso 2: Inicializar el pin digital 2 como entrada con la resistencia de extracción interna habilitada:
pinMode(2,INPUT_PULLUP);

 

  • Paso 3: Introduzca la siguiente línea, haciendo el pin 13, con el LED a bordo una salida
pinMode(13, OUTPUT);

 

  • Paso 4: Establezca una variable para contener la información que viene de su Switch:
int sensorValue = digitalRead(2);

 

  • Paso 5: Una vez que su Arduino ha leído la entrada, haga que imprima esta información de nuevo en el ordenador introduciendo este código:
Serial.println(sensorValue, DEC);

 

Ahora, cuando abra el Monitor serie, verá una secuencia de “0” si su switch está cerrado y una secuencia de “1” si su switch está abierto. El LED en el pin 13 se iluminará cuando el interruptor sea “Alto”, y girará de cuando es “Bajo” también. Para obtener el código Arduino completo, puedes ir al siguiente enlace aquí

Conclusión

Eso es todo por hoy en resistencias de pull-up. Espero que con el blog de hoy, usted obtenga una comprensión más profunda de lo que es una resistencia pull-up, las diferencias entre pull-up y pull-down, junto con su uso con una placa Arduino. Recuerda, la función clave de una resistencia pull-up es evitar que las líneas de entrada flote!

 

Pin It on Pinterest

Shares