Salidas digitales Arduino

Todo lo que debes saber sobre las Salidas Digitales

¿Que son las salidas digitales?

Las salidas digitales como su propio nombre indica son «OUTPUTS» que pueden ser programadas para tener dos estados HIGH (alto con 5v) o LOW (bajo o 0V). Es decir, encendido o apagado, si algún novato está leyendo estas líneas pensará ¿para que aprender a programar Arduinos si hace lo mismo que e un interruptor? tranquilo joven padawan este es el primer paso para introducirnos en la programación y por tanto el más básico.

¿Dónde están las salidas digitales?

Bien sencillo, las salidas digitales en un Arduino UNO están situadas en uno de los laterales del mismo, suelen indicarse con DIGITAL (PWM) esto de PWM lo veremos más adelante.

salidas digitales arduino UNO
salidas digitales arduino UNO

Como podemos observar hay 14 (hasta el pin 13 más el 0) salidas digitales, dos de ellas coinciden con los puertos de comunicación Tx y Rx, es decir, que a parte de salida pueden usarse para comunicar el Arduino con otro ordenador o con otros dispositivos. Vemos que dentro el recuadro se incluyen AREF y GND estos pines no son salidas ni entradas el primero es la tensión de referencia (como otras cosas, más adelante se verá) y la otra GND es decir 0V o la referencia negativa (siendo 5V la positiva).

Salidas digitales Arduino Mega

El Arduino Mega es similar al UNO pero más potente y con más conexiones, es el que yo recomiendo comprar, puesto que de precio no es mucho más alto y cualquier proyecto para Arduino UNO serviría para el Mega y no a la inversa.

Salidas digitales arduino Mega
Salidas digitales arduino Mega

En la imagen observamos que el Mega tiene del 0 al 13 (14 en total) pines PWM (que como hemos dicho hablaremos más adelante de ellos) pero que pueden ser salidas digitales, dispone de unos puertos extra para comunicaciones del 14 al 21 (8 en total) igualmente estos puertos pueden ser salidas digitales y por último dispone de unos pines que exclusivamente son digitales del 22 al 53 (32 pines) por lo que disponemos de un total de 54 salidas digitales.

Intensidad máxima de las salidas digitales

La intensidad es una medida eléctrica que indica cuanta corriente pasa por un conductor, indicaría el número de cargas (electrones) que pasan cuanta más intensidad más electrones circulan. Ya sabemos que el voltaje es 5V cuando el pin está en alto, y la intensidad máxima es de 40 mA recomendable 20mA y que la suma de todas no supere los 300mA.

Esto quiere decir que no podemos conectar cualquier cosa a nuestro Arduino, por ejemplo una bombilla, necesitamos electrónica adicional que iremos viendo en sucesivos tutoriales.

Programando Salidas Digitales con Arduinos

«Hola Mundo» o Pin13

Hay una tradición en programación que consiste en comenzar a estudiar un lenguaje programando que diga «Hola Mundo» con un Arduino esto es más complicado por lo que el equivalente sería el Pin13 vamos a crear con un LED un parpadeo programando un Arduino.

Prototipando el circuito Salida Pin13

A continuación se muestra nuestro circuito para realizar esta práctica:

Salida Digital 13
Salida Digital 13

El circuito contiene una resistencia conectada a GND por un extremo y al LED por el otro así mismo el propio LED esta conectado a la salida del pin13.

La resistencia reduce la corriente que sale de la propia salida se usa para proteger el LED, en muchas ocasiones para protipar no es necesario muchos dispositivos lo aguantan aún así es recomendable.

Diseño del circuito Salida Digital 13

Este es el circuito electrónico del mismo, no pasa nada si de momento no lo entiendes pero si sigues mí curso quiero que poco a poco consigas comprender este tipo de esquemas.

Esquema eléctrico Salida 13
Esquema eléctrico Salida 13

Programando el Pin13

1
2
3
4
5
6
7
8
9
10
11
// configuración inicial del arduino
void setup(){
pinMode(13, OUTPUT);
}

void loop(){
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
}

Con esto ya tenemos nuestro primer programa en Arduino, como vemos consta de 2 partes el void setup y el void loop. El primero es la configuración inicial del Arduino, se ejecuta una vez (pinMode primer termino pin que deseamos configuración segundo termino OUTPUT como salida). Mientras el segundo es un bucle infinito, es el programa en sí. En este caso encendemos el pin 13. espera un segundo (delay es esperar en ms, si cambiamos 1000 por otra cantidad modificaremos la velocidad), apagamos el pin 13 y espera un segundo, vuelve a empezar y así hasta que desconectemos el Arduino. digitalWrite es escritura digital, el primer término es el pin (13 en nuestro caso) el segundo HIGH o LOW, encendido o apagado respectivamente.

Extendiendo a cualquier salida digital

Cambio de pin de Salida

Simplemente cambiamos el cable que sale del led del pin 13 a cualquier otra salida digital (de 0 a 12) en nuestra placa de prototipado.

Cambio del programa

Ahora cambiamos el programa vamos a añadir el concepto de variable global:

1
2
3
4
5
6
7
8
9
10
11
12
13
//variables Globales
int pinLED= 12;
// configuración inicial del arduino
void setup(){
pinMode(pinLED, OUTPUT);
}

void loop(){
digitalWrite(pinLED, HIGH);
delay(1000);
digitalWrite(pinLED, LOW);
delay(1000);
}

Al principio del programa declaramos una variable tipo int (numeros enteros positivos o negativos sin decimales) y le damos el valor que deseemos en en este caso 12. Durante todo el programa ledPin va a ser igual a 12 (se puede modificar pero en este caso no lo hemos hecho). ¿porque hemos hecho este cambio?. Ahora mismo el programa sirve para parpadear el pin 12, si deseamos cambiar de pin solo cambiar al principio int pinLED = 11 o cualquier otro valor, si usamos el programa enterior del pin 13 debemos cambiar todos los 13 por el nuevo pin, por lo tanto es más cómodo por otro lado cuando aumenta la complejidad del programa es más fácil ver palabras como ledPIN, Temperatura, PotenciaMotor… que un número.

Enlaces Externos

Pines Digitales Arduino (ingles)

Repositorio en GitHub de Salidas Digitales Arduino

GitHub Salidas Digitales Arduino
GitHub Salidas Digitales Arduino

 

Proyectos Freelance Arduino.

Aquirir Arduino

Si deseas adquirir un Arduino para este u otros proyectos click aquí o en la imagen.

Arduino Genuino UNO
Arduino Genuino

Summary
Salidas Digitales Arduino
Article Name
Salidas Digitales Arduino
Description
¿quieres aprender a programar Arduino? Comienza la programación de Arduino conociendo las salidas digitales y sus posibilidades. Arduino es una placa microcontroladora open source ideal para iniciarse en la programación de microcontroladores y para cualquier edad.
Author
Publisher Name
Drouiz
Publisher Logo

2 thoughts on “Salidas digitales Arduino”

  • Pedro Gabriel Nieto says:

    Hola , soy Pedro Nieto , tengo curiosidad en el programa Arduino, en que consiste y que se necesita para tener básicas nociones de como utilizarlo.
    Tengo interés en tener conocimientos y practicarlo, si te fuera posible indicarme y orientarme para saber mas afondo del Arduino.
    Un cordial Saludo.

    • Pues es una placa muy fácil de programar y de integrar con muchos módulos muy sencillo de integrar y añadir, con una comunidad muy potente. En esta web tenemos algunos ejemplos de como programar Arduino con los esquemas y el código.

Leave a Reply

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

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.