¿Qué es Arduino y para qué sirve?
Arduino es uno de los microcontroladores de código abierto más populares. Computadoras, robots, sistemas de automatización del hogar, textiles, drones, Internet de las cosas (IoT) y muchos otros campos están utilizando este hardware de código abierto.
La mejor manera de explicar qué es un Arduino será comenzar con para qué puede usarlo. En pocas palabras, un Arduino es una herramienta para controlar la electrónica. Piense en un lápiz. Un lápiz es una herramienta que te ayuda a escribir cosas. Necesitas escribir algo para poder agarrar un lápiz. Misma idea con Arduino. Pero Arduino es una herramienta para controlar la electrónica.
Bien, definamos dos grupos generales de "cosas de electrónica". Tenemos entradas y esos serían dispositivos electrónicos que recopilan información. También tenemos salidas, esos serían dispositivos electrónicos que hacen cosas.
Para las entradas, puede pensar en todos los tipos de sensores que existen: sensores de temperatura, sensores de luz, sensores táctiles, sensores flexibles, sensores de humedad, sensores infrarrojos, sensores de distancia, por nombrar algunos. Entradas Arduino puede pensar en esos sensores como entradas de dispositivos, y esos tipos de sensores pueden ser leídos por una placa Arduino.
Ahora las salidas serían cosas como motores de CC, motores paso a paso, servomotores, solenoides, pantallas LCD, luces indicadoras LED, parlantes y elementos eléctricos que tienen algún tipo de acción en el mundo.
Entonces, Arduino se puede usar para leer entradas y controlar salidas. Eso es lo que Arduino puede hacer, pero ¿cómo funciona Arduino?
Entonces, cuando hablamos de Arduinos, realmente estamos hablando de tres cosas: hardware Arduino, IDE Arduino y código.
Hardware Arduino
Primero, tenemos el componente físico de Arduino que son las placas Arduino. Hay muchos tipos diferentes de placas Arduino. Cuando alguien dice Arduino boards, podría significar varios boards diferentes.
Un Arduino board muy popular se llama Arduino UNO.
Todos los Arduino comparten una cosa en común: todos tienen un microcontrolador. Un microcontrolador es básicamente una computadora realmente pequeña.
Entonces, cuando aprendes a usar Arduino, estás aprendiendo a usar un microcontrolador. El microcontrolador es lo que nos permite leer esas diferentes entradas y controlar esas diferentes salidas.
Cuando alguien dice Arduino board, está hablando de algo físico. Es una placa de circuito impreso y tiene algunos componentes eléctricos.
Software Arduino
El Arduino es más que solo hardware, también es software.
Existe una cosa llamada Arduino IDE (Entorno de desarrollo integrado). Esta es una aplicación de software que descarga en su computadora y luego la usa para programar Arduino.
Es un software completamente gratuito y bastante fácil de usar. Se parece mucho a un editor de texto. El IDE de Arduino es donde escribe su código que realmente se carga en el Arduino board.
Código Arduino
La tercera parte de esta trifecta de Arduino es el código Arduino. El código que escribe dentro del IDE de Arduino es, en última instancia, lo que se carga en el microcontrolador que se encuentra en estas placas Arduino.
El código Arduino que escribe se llama boceto. El código de Arduino en sí es básicamente un derivado de los lenguajes de programación C y C ++, pero con algunas funciones y estructura específicas de Arduino. Entonces, si programa un Arduino, básicamente está programando en lenguajes de programación C y C ++.
Así que esos son los tres componentes que básicamente conforman lo que "es Arduino", y aproximadamente lo que hace.
¿Por qué Arduino es tan popular?
Recuerde que dijimos que el componente clave de una placa Arduino es el microcontrolador. Ahora, tradicionalmente, los microcontroladores son bastante complicados de usar. El manual del usuario para uno tiene fácilmente más de 300 páginas y está lleno de toneladas de jerga técnica.
Lo que hicieron los creadores de Arduino fue hacer que el uso de microcontroladores fuera lo más fácil posible. Entonces, en lugar de que solo los ingenieros eléctricos y los científicos informáticos utilicen microcontroladores, ahora casi cualquiera puede ensuciarse las manos y comenzar a construir cosas.
Entonces, ¿cómo hicieron que los microcontroladores fueran fáciles de usar? Volvamos a esa trifecta de Arduino. Primero, la placa Arduino en sí está diseñada para facilitar su uso. Puede conectarlo a su computadora con un simple cable USB, no como un cable especializado que normalmente se necesitaría para conectar un microcontrolador.
La conexión de componentes eléctricos al microcontrolador también es muy fácil con un Arduino board, porque tienen estos agujeros de plástico alrededor del perímetro del tablero. Se llaman encabezados y para conectar un componente eléctrico al microcontrolador, simplemente inserta el componente dentro de los orificios, es literalmente así de fácil.
Y nuestro Arduino también tiene un conector de alimentación externo incorporado, por lo que cuando no está conectado a la computadora aún puede ser alimentado por un paquete de baterías. Por eso el lado del hardware es fácil, pero el IDE de Arduino también está diseñado para facilitar su uso. Hay muchos entornos de desarrollo integrados, pero el IDE de Arduino está construido teniendo en cuenta la simplicidad.
No hay campanas y silbidos que se interpongan en tu camino, en realidad es solo una ventana básica donde escribes el código. Y para cargar el código que ha escrito en el IDE de Arduino, simplemente presione un botón y se carga.
Botón de carga de Arduino Finalmente, el código de Arduino en sí tiene funciones específicas para cosas como leer entradas y controlar salidas. Si tuviera que programar directamente un microcontrolador, se encontraría constantemente consultando el manual del usuario para obtener información muy específica sobre el control de diferentes cosas.
El lenguaje Arduino ha reducido significativamente esa complejidad al crear funciones de programación simples para su uso. Además, hay muchas bibliotecas de código Arduino que puede instalar y usar, y estas bibliotecas simplifican el uso de todos los tipos de componentes para que no interactúen con diferentes sensores, para controlar toneladas de diferentes salidas.
Entonces, el hardware de Arduino es fácil, el IDE de Arduino es simple y el código en sí es mucho más fácil de comprender (que intentar programar un microcontrolador estándar). Esa es una gran parte de la razón por la que Arduino es tan popular.
Otra razón por la que Arduino es tan popular es porque hay mucha gente que lo usa, lo que significa que hay muchos ejemplos con los que trabajar.
Además, la placa Arduino en sí es hardware de código abierto. Eso significa que si bien hay una empresa llamada Arduino que fabrica placas Arduino y admite el IDE de Arduino, también hay muchas otras empresas que fabrican placas compatibles con Arduino que también se pueden programar en el IDE de Arduino. Hay un gran hardware y código ecosistema con el que trabajar.
Finalmente, el hardware Arduino es generalmente bastante económico y eso ayuda a mantenerlo popular también.
¿Es Arduino adecuado para su proyecto?
Entonces, aquí hay una buena regla general: ¿su proyecto tiene una entrada, una salida, y necesita alguna lógica simple entre los dos? Por ejemplo, tal vez tenga un sensor de temperatura (entrada) y si la lectura del sensor de temperatura es por encima de un cierto umbral (lógica), desea encender un ventilador de refrigeración (salida).
También puede tener múltiples entradas y salidas. Por ejemplo, podríamos tener algo como "si la temperatura está en este rango, y la hora es esta, y el sol no brilla, entonces desea encender un interruptor de luz en la radio y mover esa palanca a su posición original ”.
Entonces, si su proyecto sigue esta idea básica, que tiene entradas y salidas y necesita controlarlas, entonces sí, Arduino probablemente será una buena opción. Ahora mencionamos que Arduino usa un microcontrolador.
Un microcontrolador es como una pequeña computadora. Entonces, si su proyecto implica el uso de grandes flujos de entrada como grabación de video o grandes cálculos, entonces Arduino probablemente no sea la opción adecuada para él.
¿Podría potencialmente usar un Arduino para este tipo de aplicaciones? Tal vez, pero existen tecnologías más adecuadas para este tipo de cosas.
Arduino y sus aplicaciones
Existen multitud de entornos de aplicación de Arduino: automatización industrial, domótica, herramienta de prototipado, plataforma de entrenamiento para aprendizaje de electrónica, tecnología para artistas, eficiencia energética, monitorización, adquisición de datos, DIY, aprendizaje de habilidades tecnológicas y programación, etc…
En la educación tanto en institutos en secundaria y bachillerato como en formación profesional y la universidad, Arduino ha entrado con mucha fuerza para entrenar habilidades y como herramienta pedagógica.
¿En qué entornos se puede usar Arduino? La respuesta es en muchos y cada vez en más entornos encuentran de gran utilidad Arduino. Sólo por mencionar algunos ejemplos tenemos:
Robótica
Robótica es otros de los entornos donde Arduino es muy usado, incluso ya hay un arduino robot: http://arduino.cc/en/Main/Robot o kits de robótica.
Productos comerciales
También existen muchos productos y proyectos basados en Arduino, lo que nos da una idea de la amplitud de los entornos donde podemos usar arduino. En las web de crowdfunding podemos encontrar muchos productos basados en Arduino:
https://www.kickstarter.com/discover/advanced?term=Arduino&sort=most_funded
https://www.indiegogo.com/explore?utf8=%E2%9C%93&filter_title=arduino
Impresoras 3D
Otros productos por los que conocemos Arduino son las impresoras 3D y los drones. El código o sketch que funcionan dentro de un Arduino usado en un drone o en una impresora 3D están disponibles y podemos modificarlos. En este curso no vamos a aprender a montar un drone una impresora 3D, pero entenderemos que hace el Arduino usado en estos dispositivos y cómo usa los periféricos usados (motores, display, botones, etc…).
Conclusiones
Como puede verse el ámbito de aplicación de Arduino es enorme, pero no es siempre la mejor solución para todo, en algunos casos podemos usar otras soluciones.
¿En qué ámbito tiene sentido usar un Arduino y en cuáles no?. Por ejemplo, supongamos que nos piden hacer un sistema de temporización de iluminación, para iluminar ciertas habitaciones o zonas de forma alterna. Para ello habrá que manipular el cuadro eléctrico para poner unos interruptores en los circuitos de iluminación. En este caso sería mejor poner relés temporizadores y hacer la configuración de ellos.
Ahora bien, si lo que queremos es que podamos cambiar esa temporización remotamente desde cualquier parte del mundo sin tener que ir al cuadro o apagar y encender las luces manualmente desde una web, entonces la solución puede ser un arduino más unos relés y unos drivers de relés para poder manejarlo desde el Arduino.
El siguiente paso de Arduino en la industria
Si alguna vez te has puesto a experimentar con Arduino, un microcontrolador de bajo costo, sabrás que es realmente fácil hacer funcionar un pequeño motor, utilizar una pequeña pantalla LCD, encender y apagar una serie de LEDs, o hacer pequeños proyectos y tests, pero es complejo mantener un proyecto industrial y ofrecer un soporte sobre Arduino. Es por eso que una vez superada la fase de prueba de concepto y se han tenido los primeros resultados satisfactorios con clientes, es recomendable realizar la segunda fase e industrialización migrando a una nueva plataforma, bien sea otro microcontrolador de fabricantes como STM32 o Nordic, o controladores lógicos programables como PLC.
Arduino como tecnología digital
Las tecnologías digitales han cambiado la forma en que almacenamos, consumimos y creamos información y conocimientos. A nivel agregado, la facilidad de distribución y creación de conocimiento en la economía digital dio lugar a nuevas formas de innovación. Las actividades innovadoras se desarrollan cada vez más en redes auto-organizadas. Los resultados de este tipo de innovación han sido impresionantes. Por ejemplo, a principios de los años 90 nadie creía que las empresas de la lista Fortune 500 fueran a confiar en un software que no pudiera "poseerse".
Hoy, el software de código abierto ha sido crucial para la aparición de la economía digital. Linux permitió a Google construir servidores baratos. Lenguajes de programación como Java, Perl y Ruby se han convertido en el lenguaje de las aplicaciones de la web 2.0, y el servidor web gratuito Apache impulsa casi la mitad de los sitios web del mundo. Cada vez más, la digitalización permite que las actividades intensivas en conocimiento relacionadas con el desarrollo y la producción de cualquier producto o servicio superen los límites de una sola empresa y permitan el acceso de cualquier organización o individuo para mejorarlo y desarrollarlo.
Existe un movimiento creciente de usuarios de productos de hardware que los mejoran, alimentado por una electrónica cada vez más barata y por la educación técnica y el material de formación disponibles en línea. Internet permite crear comunidades comprometidas con la resolución de problemas concretos y capaces de desarrollar y diseñar casi cualquier producto de hardware o software. Es el caso de un teléfono inteligente, un coche, un edificio o un algoritmo de oferta y demanda que organice el emparejamiento entre vendedores y compradores de productos agrícolas. Hoy en día, las redes autoorganizadas están desarrollando cada vez más tecnologías y productos avanzados que sustentan la economía digital.
Arduino, junto con su comunidad, es un ejemplo de cómo el desarrollo y la producción de hardware de código abierto tiene lugar en una red autoorganizada y no dentro de los límites de una sola empresa. Fundada en 2005 como un proyecto de investigación paralelo en el Instituto de Diseño de Interacción de Ivrea (Italia), Arduino se ha convertido en una red de innovación de hardware que se extiende por todo el mundo. La plataforma tecnológica Arduino ha abierto posibilidades que claramente van más allá de las actividades de hobby y tienen un impacto económico real.
La gama de productos que se han lanzado con "Arduino at Heart" incluye sintetizadores, reproductores MP3, amplificadores, routers telefónicos de voz sobre IP de alta gama, teléfonos móviles y ordenadores portátiles. En 2016, Arduino también fue reconocido por el Radar de la Innovación -una iniciativa de la Comisión Europea para identificar las innovaciones y los innovadores clave en los proyectos de investigación financiados por la Unión Europea-, ocupando el primer lugar entre más de 1000 organizaciones. Junto con socios como Gorenje, uno de los principales fabricantes europeos de electrodomésticos, Arduino participó en el desarrollo de una nueva plataforma de control WiFi para dispositivos domésticos del Internet de las Cosas (IoT).
El caso de Arduino muestra cómo las tecnologías digitales cambiaron los procesos de innovación y dieron lugar a nuevas formas de organizar las actividades de innovación en el ámbito de los bienes y servicios complejos de base tecnológica. El presente artículo presenta a Arduino como una red global de innovación digital. Comienza con un debate sobre cómo la digitalización está cambiando la forma de manejar el conocimiento y producir innovaciones, y qué implicaciones tienen estos cambios para la organización de las actividades económicas. A continuación se describe el ecosistema de Arduino. Concluimos con un debate sobre las implicaciones que los cambios inducidos por la digitalización en los procesos de innovación tienen para las políticas de innovación.