ARDUINO: SALIDAS DIGITALES



Recordaremos que una señal digital puede variar únicamente entre dos valores, los cuales denominamos -Vcc y +Vcc. Una salida digital nos permite variar su tensión a uno de estos dos valores mediante programación, y por tanto nos permite realizar acciones con el entorno.

En Arduino, en general, los voltajes -Vcc y +Vcc corresponden con 0V (GND) y 5V. Sin embargo, algunos modelos de Arduino operan a 3.3V, como por ejemplo algunos Mini, Nano, y las placas basadas en procesadores ARM como Arduino Due.

Todos los pines digitales de Arduino pueden actuar como entradas y salidas digitales (por ello se denominan I/O, input y output). 

El número exacto de salidas digitales depende del modelo de placa que estemos utilizando. En resumen, Arduino Uno y Nano tienen 22 pines que podemos utilizar como salidas digitales, Arduino Mini tiene 20, y tenemos hasta 70 salidas digitales en el modelo Mega. Éstas cifras son más que respetables, superiores a la mayoría de automatismos de tipo industrial

INTENSIDAD MÁXIMA DE UNA SALIDA DIGITAL

En general, las salidas digitales en autómatas no están destinadas en proporcionar potencia, sino para interactuar con electrónica u otros autómatas.

La intensidad máxima que puede entregar un pin es de 40 mA, si bien el valor recomendado es de 20mA. Además, existen restricciones adicionales en cuanto a la corriente, dado que la suma total de todas las salidas debe de ser inferior a 300 mA, y a su vez no pueden superar 150 mA por puerto.

Esta potencia es suficiente para encender un led, un pequeño servomotor de 9g, o algún sensor, pero no es suficiente para alimentar mayores cargas. Si queremos mover una carga superior, como un motor de corriente continua, un servo, o incluso un relé, tendremos que emplear una etapa de amplificación, como un transistor BJT.

No es conveniente forzar los límites de potencia de forma prolongada, ya que la placa podría calentarse y dañarse. El límite de 20 mA por salida significa que, para un voltaje de 5V, la resistencia del dispositivo que queramos alimentar no debe ser inferior a 200 ohms.

MONTAJE

Para este tutorial no es necesario ningún montaje. Sin embargo, podemos verificar el correcto funcionamiento de las salidas digitales simplemente midiendo con un voltímetro la tensión entre la salida digital y GND.

CÓDIGO

El siguiente código es una modificación del archivo de ejemplo Blink que dispone el IDE de Arduino como ejemplo, éste enciende y apaga una salida digital.


const int pin = 2;
 
void setup() {
  Serial.begin(9600);    //iniciar puerto serie
  pinMode(pin, OUTPUT);  //definir pin como salida
}
 
void loop(){
  digitalWrite(pin, HIGH);   // poner el Pin en HIGH
  delay(1000);               // esperar un segundo
  digitalWrite(pin, LOW);    // poner el Pin en LOW
  delay(1000);               // esperar un segundo
}

El siguiente código, recibe un caracter a través del puerto serie para encender o apagar una señal digital desde el ordenador.

A través del puerto serie enviamos un caracter. Si escribimos 0 la salida se apaga, y si escribimos 1 se enciende.


const int pin = 2;
int option;
 
void setup(){
  Serial.begin(9600);
  pinMode(pin, OUTPUT); 
}
 
void loop(){
  //si existe información pendiente
  if (Serial.available()>0){
    //leeemos la opcion
    char option = Serial.read();
    if (option == '0' )  //si el valor es 0
    {
         digitalWrite(pin, LOW);  //apagamos el pin
    }
    else if (option == '1' )
    {
         digitalWrite(pin, HIGH;  //encendemos el pin
    }
    delay(200);
  }
}







ArduinoErick MéndezDigital