7. Entradas con drenaje abierto

Entradas con drenaje abierto


La configuración de drenaje abierto es una técnica en la que la salida digital no está conectada directamente a Vcc o tierra, sino a través de un transistor que se activa para conducir a tierra.

En el código, se configura el pin P1.1 como entrada con la opción INPUT_PULLUP, lo que activa internamente una resistencia pull-up de 70K-ohm conectada a 5V. Esto significa que el pin se lee como HIGH cuando está abierto y LOW cuando está cerrado.

frecuecy

Se implementa un ejemplo práctico utilizando un interruptor momentáneo conectado desde el pin P1.1 a tierra.

frecuecy

Cuando el interruptor está abierto, el valor de sensorVal será HIGH, indicando que el interruptor no está presionado. Cuando está cerrado, el valor será LOW, indicando que el interruptor está presionado.

Uso de Resistencias de Pull-up y Pull-down en Conjunto con Salidas de Drenaje Abierto:

frecuecy

Se utiliza el pin P3.3 como salida para un LED.

Nota
Dado que la configuración de drenaje abierto puede invertir la lógica, el LED se enciende (HIGH) cuando el interruptor está presionado (cerrado) y se apaga (LOW) cuando está abierto.

Código


Puedes acceder al código de ejemplo, siguiendo la ruta: File -> Examples -> Unit_SketchLab -> DigitalOpenDrain.ino

#include <Serial.h>

void setup() {
  // No need to init USBSerial

  // Configurar el pin 2 como entrada y habilitar la resistencia pull-up interna
  pinMode(11, INPUT_PULLUP);
  pinMode(33, OUTPUT);
}

void loop() {
  // Leer el valor del botón en una variable
  int sensorVal = digitalRead(11);
  // Imprimir el valor del botón en el monitor serial
  USBSerial_println(sensorVal);

  // Dado que el pull-up significa que la lógica del botón está invertida,
  // encender el LED cuando el botón está presionado y apagarlo cuando está abierto:
  if (sensorVal == HIGH) {
    digitalWrite(33, LOW);
  } else {
    digitalWrite(33, HIGH);
  }

  delay(10);
}

Este código ilustra el uso de salidas digitales con configuración de drenaje abierto y cómo se puede integrar con entradas digitales utilizando la opción INPUT_PULLUP. La salida del LED se invierte lógicamente debido a la configuración de drenaje abierto, lo que resalta la necesidad de entender cómo afecta esta configuración a la lógica del sistema.

Mensajes en el Monitor Serial

Para visualizar información en el Monitor Serial, sigue estos pasos:

  1. Dirígete a Herramientas -> Puerto, como se muestra en la siguiente imagen:

    comserial

  2. Se abrirá una interfaz donde podrás observar el estado del LED, dependiendo de si se ha presionado o no. En la siguiente imagen, se muestra un ejemplo de cómo se visualiza:

    frecuecy

Esta interfaz en el Monitor Serial te proporciona información detallada sobre el estado del LED, permitiéndote monitorear fácilmente las interacciones y eventos asociados al botón. Utiliza esta herramienta para depurar y entender mejor el comportamiento de tu sistema en tiempo real.

frecuecy

Siguiente


⌨️ con ❤️ por UNIT-Electronics 😊