Arduino digitalWrite uso, ejemplos y aplicaciones

La función Arduino digitalWrite permite escribir valores lógicos digitales en un pin de Salida de una tarjeta Arduino. Entonces, está función requiere que el pin haya sido declarado como salida previamente. Para empezar, esté elemento del lenguaje Arduino, requiere de dos parámetros de entrada. El primero es el numero de pin (0-13 para un Arduino UNO R3) y el segundo es la condición logica (HIGH ó LOW).

digitalWrite(#PIN, ESTADO);

Parámetros de entrada:

  1. #PIN, se refiere al numero del PIN de la tarjeta Arduino correspondiente.
  2. ESTADO, aquí se colocara cualquiera de dos palabras: LOW ó HIGH. LOW indica una condición logica 0, es decir 0V, HIGH indicaría entonces lo opuesto, un 1 lógico, es decir VCC.

Parámetro de salida:

  • Ninguno.

Funciones complementarias:

De acuerdo al voltaje de alimentación de la tarjeta (VCC) será el voltaje de salida lógico de la tarjeta Arduino. Si se usa en una tarjeta cuya alimentación sea 3.3V entonces HIGH implicaría este voltaje. De igual forma, estas condiciones lógicas dependerán de la arquitectura del microcontrolador. No siempre un LOW será 0V, sino que puede comprender, para el caso de un Arduino UNO R3, es un rango que va desde los 0V hasta los 0.8V. Para más información consultar la tabla » 28.2 DC Characteristics » de la página 258 de la hoja de datos [1].

Aplicaciones

La función digitalWrite del lenguaje Arduino es usada para los dispositivos de salida. Por ejemplo, algunos elementos o actuadores incluyen: motores de dc, motores a pasos, leds, pantallas LCD, servomotores, buzzer, bocinas, etc. .

Voltajes lógicos de salida

  • Arduino UNO R3.
    • VOH (Voltaje de salida en alto) ‘1’ lógico: 4.1V a Vcc
    • VOL (El voltaje de salida en 0 lógico) ‘0’: 0V a 0.8V
    • VIL (Voltaje de entrada en bajo) ‘0’ : -0.5V a 0.3Vcc (Si VCC = 5vdc, 0.3VCC = 1.5V)
    • VIH (Voltaje de entrada para señales en alto) ‘1’ : 0.6VCC ( 3V para VCC = 5Vdc) a Vcc+0.5V

Ejemplo-1. Rotabit de 4-bits con Arduino digitalWrite.

El Ejemplo-1 es una aplicación para un rotabit de 4-bits. Entonces, estos cuatro leds estarían conectados en los pines con numero, 13, 12, 11 y 10. Para poder utilizar a la función de Arduino digitalWrite, primero es necesario declarar a estos puertos como salida. Es importante aclarar la capacidad de corriente que puede suministrar cada pin. Es decir, la potencia que puede suministrar (V*I) es limitada. Por consiguiente, es importante establecer que la corriente máxima por pin es de 40mA. De tal manera, no podemos tener a los 14 pines digitales de un Arduino UNO R3 con ese consumo. Existe un tope limite de 200mA para todos los pines del microcontrolador. Para resumir esta restricción, verifica cuanta corriente consumen tus circuitos, leds, motores, etc.

Ejemplo-2. Control de temperatura on-off, sensor analógico y una salida digital para el control de un ventilador.

Se diseñara una aplicación para un control de temperatura con Arduino digitalWrite. El sensor utilizado es un sensor analógico MCP9700. Este sensor proporciona un voltaje en función a la temperatura medida. Tiene un offset de 500mV y cada 10mV representa 1 grado centrado. Se utiliza a la función Arduino digitalWrite para encender o apagar los actuadores. En este caso, los actuadores son dos, un ventilador y un foco. Estos elementos al funcionar a un voltaje distinto del que usa arduino, requieren de una etapa de potencia. Se puede usar para el ventilador a un transitor 2N2222 como switch.

 

Referencias:

[1] –  http://www.atmel.com/images/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf

 

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *