Emprender con Arduino: Tu Guía Definitiva para Iniciar en el Mundo de la Electrónica y la Programación
En este blog, si eres un principiante en el uso de Arduino, te invitamos a seguir leyendo para que tengas una introducción completa al uso de esta herramienta. Arduino es una plataforma de desarrollo abierto de hardware y software, lo que significa que tienes los archivos editables a tu disposición para modificarlos. Sin embargo, también puedes adquirir hardware ya hecho. Arduino amplió la posibilidad de que cualquier persona pueda empezar a hacer sus propios proyectos de electrónica y programación.
¿Qué hace que Arduino sea tan especial?
Arduino hizo que la tarea de escoger una plataforma fuera más sencilla para los entusiastas y algunos profesionales. El equipo de grabación del programa está en la misma tarjeta. La programación también se vuelve más sencilla.
Partes Identificables en la Mayoría de Modelos de Arduino
Tenemos partes identificables en la mayoría de modelos de Arduino, tales como el puerto USB, puerto de alimentación externa, puertos ICSP, GPIO y un microcontrolador.
Puerto USB
Este puerto puede variar en cada modelo de Arduino, sin embargo, su funcionamiento es el mismo: alimentar de energía al Arduino, transmitir datos y programar la placa.
Puerto de Alimentación Externa
Este es un puerto adicional para alimentar al Arduino, pero no transmite datos. Suele admitir de 7 a 12 voltios.
Pines GPIO (General Purpose Input/Output)
Un GPIO es un pin que puedes programar para ser de entrada o salida. Al ser de entrada puedes recibir señales del exterior y un pin de salida las enviará hacia afuera. Al ser un pin digital se trabaja con 1 y 0 que corresponden a los estados de activo e inactivo. Estos pines de Arduino también tienen otras funciones. Cada modelo tiene estos pines seleccionados para que también se puedan usar con protocolos de comunicación.
Pines Analógicos
Estos pines leen valores de energía de 0 hasta el nivel de operación de la tarjeta, que puede ser de 3.3 o 5 voltios. El voltaje que esté ingresando se expresará en unidades. Cuando la resolución de la lectura sea de 10 bits (2^10) leerás desde el 0 al 1023, o sea, 1024 unidades. La mayoría de placas Arduino leen con una resolución de 10 bits, y las que son capaces de hacerlo a 12 bits utilizan 10 por defecto.
Ejemplo de Resolución de Lectura Analógica
Si están entrando 5 voltios y se leen a una resolución de 10 bits, tendremos que dividir el voltaje entre las unidades que disponemos para su lectura, es decir, 5/1024. Con lo que obtenemos, redondeando, 0.0049 voltios o 49 milivoltios (mV) por unidad.
Puertos ICSP
Los puertos ICSP son usados para reprogramar el firmware o bootloader del microcontrolador. En la imagen de muestra hay 2 puertos ICSP. Uno es para el microcontrolador principal, en donde guardamos los programas que creamos.
Microcontrolador
Un microcontrolador, de forma sencilla, es una computadora muy pequeña. Existen diversos microcontroladores con los que se puede trabajar en un proyecto electrónico, entre los que tenemos a los PIC y AVR. Arduino utiliza los AVR.
Modelos de Arduino
Existen diversos modelos para distintas aplicaciones. Pueden variar en el modelo del microcontrolador, cantidad de pines, tamaño de placa, entre otros. Algunos de los modelos más utilizados incluyen:
- Arduino UNO: Tiene 14 pines digitales y 6 entradas analógicas.
- Arduino Mega: Esta versión te proporciona más pines, 54 digitales y 16 entradas analógicas. Esto también implica que usa más espacio.
- Arduino Leonardo: El Arduino Leonardo tiene un aspecto similar al Arduino UNO. Pero aparte del nombre impreso en la placa es distintivo el tipo de encapsulado de su microcontrolador que en este caso es un ATmega32U4.
- Arduino Nano: Utiliza el ATmega328, cuenta con 14 pines digitales y 8 entradas analógicas.
- Arduino Mini: Cuenta con un ATmega168, 14 pines digitales y 8 entradas analógicas.
- Arduino Micro: Esta versión tiene 20 pines digitales y 12 entradas analógicas junto a un ATmega32U4.
Adquirir y Preparar tu Arduino
Puedes adquirir un Arduino desde su tienda oficial. Una ventaja de que Arduino sea un proyecto abierto es que hay otros fabricantes que crean sus versiones o imitan los modelos a partir de los archivos editables que publica Arduino. Se les conoce como versiones genéricas.
Descargar Arduino IDE
Una vez que tengas un Arduino debes descargar Arduino IDE desde su página web. Este editor es compatible con todos los modelos de placas, incluyendo las genéricas. Además, dispones de herramientas como el administrador de bibliotecas, monitor serial, configuración al subir el programa, entre otros.
Programando con Arduino
Al programar un Arduino lo estamos haciendo en C++, pero de una forma más sencilla porque se utiliza el framework Wiring. Este framework facilita la tarea de programar un microcontrolador usando C y C++.
Estructura de un Programa de Arduino
Un programa de Arduino se compone principalmente de dos funciones: setup() y loop(). Lo que pongas en la sección de loop() se repetirá hasta que el Arduino se apague.
Librerías de Arduino
Las librerías de Arduino son archivos de código que puedes vincular a tu proyecto para aumentar las funciones de tu código. Existen librerías para usar sensores, actuadores, protocolos de comunicación, entre otros. Añadir librerías con Arduino IDE es sencillo, y también puedes añadir una librería en formato zip.
Simulación de Arduino
Si prefieres probar un Arduino sin adquirir uno físicamente, puedes optar por herramientas de simulación. Uno que recomendamos es Tinkercad porque es fácil de utilizar y no necesitas instalarlo, todo se ejecuta en el navegador. Tinkercad te brinda los dispositivos y otros equipos como sensores y actuadores para empezar a programar.
Tu Primer Proyecto Arduino: Encender un LED
Empezaremos por uno de los ejercicios más sencillos al usar un Arduino UNO: encenderemos el LED que viene incorporado en la placa e imprimiremos su estado en el monitor serial. Conecta el Arduino a tu PC con el cable USB.
Pasos para el Proyecto
- Crea una variable de tipo entero, o sea un número sin decimales.
- Dentro de setup(), daremos la instrucción de activar la comunicación serial a una velocidad de 9600 baudios.
- Después, usamos la función pinMode(). Esta función necesita dos parámetros: el pin al que hará efecto y el tipo que será. En este caso, ponemos la variable que creamos para indicarle el valor y OUTPUT para que lo configure como un pin de salida.
- Dentro de loop() tenemos las siguientes líneas:
- Primero se imprimirá en el monitor serial la frase "Led encendido".
- Después en digitalWrite() indicamos el pin al que queremos darle un estado.
- Al final, la función delay() pausará la ejecución del programa durante el tiempo que le indiquemos.
void setup() { Serial.begin(9600); pinMode(LED_BUILTIN, OUTPUT); // LED_BUILTIN es el pin del LED incorporado}void loop() { Serial.println("Led encendido"); digitalWrite(LED_BUILTIN, HIGH); // Enciende el LED delay(1000); // Espera 1 segundo Serial.println("Led apagado"); digitalWrite(LED_BUILTIN, LOW); // Apaga el LED delay(1000); // Espera 1 segundo}Proyectos Prácticos y Divertidos con Arduino
En este artículo te voy a explicar 5 proyectos Arduino que no sólo te van a enseñar a utilizar esta placa, también serán útiles en tu día a día. En ocasiones nos preguntamos ¿para qué quiero aprender Arduino?, pues aquí te doy 5 ejemplos prácticos para introducirte. También podrás aplicarlo a algún lenguaje visual como Scratch o Snap!
En los 5 proyectos Arduino he realizado la misma secuencia de pasos: una descripción donde te explico, brevemente, qué es lo que hace y qué situación queremos resolver; luego explico el objetivo donde detallo los requerimientos y funcionalidades. Aunque tengas todo bien explicado y puedas construirlo siguiendo los tutoriales, te aconsejo que una vez hayas leído la descripción y el objetivo, intentes hacerlo por ti mismo. En los 5 proyectos Arduino te doy un listado de los diferentes componentes electrónicos que vas a necesitar.
1. Probador de Pilas con Arduino
Este sistema nos permitirá comprobar las típicas pilas que tenemos en multitud de aparatos en nuestra casa. Muchas veces no somos capaces de saber si un aparato eléctrico está roto o, simplemente, sus pilas se han acabado. El objetivo es poder detectar cuando una pila tiene suficiente energía o no a través de tres LEDs y Arduino. Cuando este tipo de pilas están completamente cargadas, suministran un voltaje de 1,5V. Según se van desgastando el voltaje disminuye. Para avisar se utilizarán 3 LEDs: verde, amarillo y rojo.
Consideraciones: Podemos cambiar la resolución de las entradas con analogReference() para conseguir más resolución. Medir más de 5V por alguna entrada analógica puede dañar la placa. Cuidado con invertir las polaridades, es decir, el positivo con negativo o viceversa.
2. Sensor de Aparcamiento con Arduino
Este es el típico sensor que tienen los coches modernos. Su función es avisar de lo cerca o lejos que estamos de otro vehículo u objeto a la hora de aparcar. Nos avisa con un sonido y con unas luces que te indican lo cerca o lejos que estás de colisionar. El objetivo es simular el sistema que utilizan los coches más modernos a la hora de aparcar, sirviendo para no colisionar con los otros vehículos u objetos. Según nos acercamos a un objeto el pitido va subiendo en frecuencia. Si estamos lejos, el sonido se emite con una frecuencia baja y se enciende el LED verde. Si estamos en una posición intermedia, el pitido aumenta la frecuencia y se encenderá el LED amarillo.
Alternativas: Se puede sustituir el sensor de ultrasonidos por un sensor de infrarrojos.
3. Semáforo Inteligente con Arduino
Uno de los proyectos Arduino más típicos es el semáforo. En este caso le daremos una vuelta de tuerca y lo haremos "inteligente". Puede ser muy útil para las personas aficionadas a las maquetas de tren o de otro tipo. El objetivo es poder simular un cruce con semáforos donde se detecte la presencia de los coches para activar o desactivar los semáforos. En un estado inicial habrá un semáforo en verde. Mientras no haya coches en el otro semáforo se mantendrá en verde. Cuando llegue un nuevo coche al semáforo en rojo dejará pasar un tiempo y se pondrá en verde cerrando el otro semáforo.
4. Theremín con Arduino (Cambio de Frecuencia)
El Theremín es un instrumento musical que fue inventado en el año 1919 por el ruso Lev Termen. Fue el primer instrumento musical electrónico de la historia y el precursor de lo que se conoce hoy como música electrónica. Lo que diferencia a este instrumento de otros es que no es necesario el contacto físico para que suene. Aplica la física y teoría de antenas para producir el sonido. En este proyecto con Arduino, el objetivo es simular un Theremín en cuanto al cambio de frecuencia. La filosofía va a ser la misma, lo único que en vez de utilizar la iluminación, vamos a utilizar un sensor de luz un LDR o fotoresistencia.
Alternativas: Podemos utilizar un sensor de ultrasonidos en vez de un LDR.
Theremin con ARDUINO (haciendo musica con el aire)
5. Dado Electrónico con Arduino
Seguro que has jugado al parchís o a algún otro juego donde es necesario utilizar un dado para jugar. Los proyectos Arduino donde tocamos el lado lúdico tienen más éxito debido a su carácter divertido. En este caso vamos a simular un dado de 6 caras, un cubo. El objetivo es conseguir un número aleatorio del 1 al 6 cuando se pulse un pulsador. Este número saldrá representado en un display de 7 segmentos.
Mejoras: En este proyecto también se pueden utilizar interrupciones. Te animo a que lo hagas.
Extra: Calavera Articulada para Halloween con Arduino
Como extra, os dejamos un proyecto que propone la marca BQ donde podemos hacer una calavera para que los niños se diviertan en día de Halloween. Dentro de los proyectos Arduino, este es muy interesante para crear con nuestros hijos o alumnos el día de Halloween. Consiste en una calavera de cartón que se articula con un servomotor. Dentro tiene un sensor de infrarrojos y cuando detecta que alguien mete la mano para coger las chuches, la calavera se cierra y suena un sonido.
