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.
Se implementa un ejemplo práctico utilizando un interruptor momentáneo conectado desde el pin P1.1
a tierra.
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:
Se utiliza el pin P3.3
como salida para un LED.
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:
Dirígete a
Herramientas -> Puerto
, como se muestra en la siguiente imagen: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:
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.
⌨️ con ❤️ por UNIT-Electronics 😊