Esta entrada debimos escribirla hace mucho tiempo. Es algo que se debió definir antes de iniciar el proyecto Panama Hitek. Hemos hablado tanto de Arduino, escrito tantos posts, publicado tantos proyectos y tantos tutoriales y no hemos sido capaces de contestar la pregunta básica: ¿qué es Arduino y para qué se utiliza?.
En esta ocasión escribiré un artículo dirigido a los principiantes, los novatos, los curiosos, los autodidactas, artistas, innovadores, emprendedores, gente con nada que hacer, gente con mucho por hacer y la lista se extiende. Trato de que cada post que escribo para este blog quede como mi contribución a esta sociedad, a la humanidad, al mundo entero. A continuación mi aporte para ustedes.
Un poco de historia
Arduino, inicialmente, fue construido en base al proyecto Wiring, del colombiano Hernando Barragán.
En el año 2003, en Italia, específicamente en el instituto Ivrea, Massimo Banzi enseñaba el uso de PICs a estudiantes de diseño interactivo, los cuales no tenían conocimiento técnico para utilizar herramientas de bajo.
Anterior al nacimiento de Arduino existía el proyecto Processing, un lenguaje de programación basado en Java. Las principales características de Processing es la facilidad con la que puede ser utilizado. Barragán, que era estudiante en aquel entonces, se basó en Processing para desarrollar una placa llamada electrónica llamada Wiring. Esta contaba con su propio lenguaje de programación y su propio entorno de desarrollo (IDE).
Poco tiempo después, Massimo Banzi, David Cuartielles y Gianluca Martino desarrollaron una tarjeta basada en el trabajo de Hernando Barragán, la cual era más pequeña y económica que la placa Wiring. Esta placa fue nombrada Arduino.
Desde entonces el proyecto Arduino le ha dado la vuelta al mundo con un gran éxito tanto entre los expertos como los aficionados a la electrónica. Su crecimiento ha sido tal que actualmente existen múltiples modelos en el mercado, con un sin fin de shields diseñados para aumentar sus capacidades y/o brindarle nuevas funcionalidades.
Existe una amplia gama de sensores adaptados a esta plataforma, lo cual lo hace muy útil a la hora de llevar a cabo proyectos basados en mediciones de fenómenos físicos. En la actualidad se puede encontrar Arduino en los salones de las escuelas primarias, a nivel universitario, en desarrollos a nivel de ingeniería e incluso en satélites en la órbita terrestre.
¿Por qué Arduino?
- Costos
Una de las principales características de Arduino es su bajo costo. Debido a que se trata de una plataforma de hardware libre, cualquier persona o grupo de personas con la tecnología necesaria para el diseño de dispositivos electrónicos (placas impresas, soldadura de componentes elecrónicos, etc) puede fabricar placas Arduino sin ningún tipo de implicación legal. La marca Arduino diseña sus propias placas, los Arduino originales, manufacturados en Italia y recientemente en Estados Unidos. Los modelos americanos se conocen como Arduino, mientras que los modelos italianos son llamados Genuino.
Tanto en Los Estados Unidos como en Asia (específicamente China, Japón y Taiwán) existen compañías dedicadas a la fabricación de placas genéricas que presentan el mismo aspecto visual y las mismas características (la mayor parte del tiempo) que un Arduino original.
Hoy día, adquirir un Arduino resulta relativamente fácil y económico, especialmente debido a su amplia presencia en portales de ventas por Internet como Ebay y Amazon, entre otros. De igual forma, la inmensa cantidad de sensores y placas de expansión que ha sido diseñadas para Arduino (no necesariamente de la marca Arduino) y sus bajos precios, permite que esta tecnología sea considerada para toda clase de proyectos con presupuestos limitados.
- Disponibilidad
Como se ha mencionado, tanto los diferentes modelos de Arduino, como las placas de expansión y sensores utilizados con Arduino pueden ser adquiridos a bajos costos en los portales de compra/venta en Internet.
Poco a poco, a medida que pasa el tiempo se ha incrementado la presencia de tiendas especializadas en la venta de productos Arduino o relacionados a esta plataforma, en los países de América Latina. Algunos comercios que tradicionalmente se han dedicado a la venta de productos electrónicos, están incluyendo a Arduino entre los productos que ofrecen a sus clientes, dada la creciente demanda.
- Flexibilidad
Los diferentes modelos de Arduino disponibles en el mercado comparten una característica. Todos son placas pequeñas, compactas y con gran capacidad para llevar a cabo tareas que van desde encender un simple LED hasta controlar el encendido de un motor trifásico. El reducido tamaño de algunos modelos, como el Arduino Micro o el Arduino Nano permite que puedan ser insertados en una placa electrónica, tal cual circuito integrado.
Los nuevos modelos que han visto la luz recientemente, como el Arduino Yún, el Intel Galileo (en colaboración con Intel Corporation) o el Arduino Tre (resultado de una colaboración con Texas Instruments) poseen una extraordinaria capacidad de procesamiento, similar a la de algunas computadoras de principios del siglo XXI.
El modelo Yún posee la capacidad de conectarse a Internet, ya sea por medio de una conexión Wifi o a través del puerto un Ethernet integrado. Con el Yún se puede interactuar con bases de datos y elementos alojados en la nube. De hecho «Yún» significa nube. El Arduino Yún es el modelo de Arduino por excelencia para Internet of Things.
Todos los modelos de Arduino son capaces de comunicarse con una computadora por medio de una conexión USB (de hecho, se utiliza un convertidor de RS232 a USB, por lo que Arduino en realidad se comunica con la computadora por medio de Comunicación Serial). Esto permite interactuar con aplicaciones escritas en una amplia variedad de lenguajes de programación, como Visual Basic, C++, Java y cualquier otro lenguaje capaz de establecer comunicación con el Puerto Serie de la computadora. La integración de los proyectos en Arduino con lenguajes de programación de Alto Nivel hacen que Arduino pueda ser considerado en proyectos a nivel científico y en ingeniería.
¿Cómo funciona Arduino?
El Arduino es una placa basada en un microcontrolador, específicamente un ATMEL. Un microcontrolador es un circuito integrado (podríamos hablar de un microhip) en el cual se pueden grabar instrucciones. Estas instrucciones se escriben utilizando un lenguaje de programación que permite al usuario crear programas que interactúan con circuitos electrónicos.
Normalmente un microcontrolador posee entradas y salidas digitales, entradas y salidas analógicas y entradas y salidas para protocolos de comunicación. Un Arduino es una placa que cuenta con todos los elementos necesarios para conectar periféricos a las entradas y salidas del microcontrolador. Se trata de una placa impresa con todos los componentes necesarios para el funcionamiento del micro y su comunicación con una computadora a través de comunicación serial.
La comunicación serial es un protocolo de comunicación que alguna vez fue muy utilizado a través de los puertos serie que traían las computadoras de antaño.
Arduino utiliza un convertidor de Serial a USB, por lo cual a la hora de conectarlo a una computadora simplemente utilizamos una conexión USB común y corriente. La computadora, sin embargo, verá nuestro Arduino como un dispositivo conectado al Puerto Serie.
Existen diferentes modelos de Arduino, con múltiples características en cuanto a tamaño, formas, funciones y precios.
Todas estas placas comparten una característica: poseen un microcontrolador.
En esa pequeña pieza de silicio se encuentran millones de transistores y otros componentes electrónicos que realizan operaciones lógicas en conjunto y permiten que el microcontrolador funcione. Se utiliza un lenguaje de programación llamado Arduino para darle instrucciones a este dispositivo.
Digamos que el microcontrolador es el «cerebro» del Arduino. Este posee además un cristal oscilador que vendría siendo el «corazón»; el voltaje con el que se alimenta el Arduino es la presión sanguínea y la corriente que lo hace funcionar es la sangre que fluye a través de sus venas circuitos. Esta analogía no es perfecta pero es más que suficiente para comprender un poco sobre este tema.
En el cerebro podemos grabar instrucciones utilizando una conexión entre una computadora y el Arduino a través de USB. El lenguaje Arduino, derivado de C, es mucho más amigable que el utilizado por otros microcontroladores, el Assembler.
Al colocar un algoritmo en la memoria del microcontrolador es como si dejáramos una parte de nuestra esencia en él (suena a romanticismo). Es enseñarle a un dispositivo electrónico a comportarse de tal forma ante una situación dada. A mi me encanta programar estos dispositivos porque soy yo quien decide su comportamiento y los obligo a hacer lo que yo necesito que hagan; yo soy quien tiene el control sobre su forma de actuar.
El Arduino de por sí no posee mucha capacidad para manejar cargas con voltajes mayores a su voltaje operativo, es decir, 5 voltios en corriente directa. Sin embargo, con la electrónica apropiada es posible manejar cargas a voltajes mucho mayores, tanto en corriente alterna como en corriente directa. El control del encendido y el apagado de un motor trifásico es una posibilidad con Arduino.
El envío de información desde la computadora resulta muy fácil con la comunicación serial. Arduino puede recibir datos enviados por el usuario utilizando herramientas que el Arduino IDE trae en su diseño. Se le puede indicar al Arduino que al recibir determinada instrucción ejecute algún tipo de acción. Podemos obtener información útil y sumamente interesante si hacemos uso de sensores.
Existen cientos de modelos de sensores y módulos electrónicos que se pueden conectar al Arduino y lograr resultados profesionales. Una correcta combinación de sensores+motores y engranajes, junto con el Arduino le permitirían a los entusiastas de la robótica diseñar sus propios modelos de robots, según gustos y necesidades.
Recientemente algunos modelos de Arduino están incorporando, además del microcontrolador un microprocesador (Arduino Yún), lo cual le permite utilizar sistemas operativos como Linux y amplificar el poder de procesamiento y las capacidades en varios órdenes de magnitud si los comparamos con los modelos iniciales.
¿Para qué se utiliza?
Mucho se ha escrito sobre Arduino. De hecho tenemos una sección especial con todos los contenidos publicados sobre este tema donde nuestros lectores pueden nutrirse de nuestros conocimientos y construir sus propios proyectos. Los invito a que visiten la sección de Arduino y la de Arduino+Java, donde se muestra el verdadero poder del Arduino una vez se combina con un lenguaje de alto nivel como lo es Java y la electrónica apropiada. Nuestro Canal de Youtube cuenta con un centenar de videos, muchos mostrando proyectos construidos en base a Arduino.
Me despido citando la siguiente frase «el pesimista en toda oportunidad ve un problema. El optimista en cada problema ve una oportunidad». Querer aprender es lo único que se necesita para entrar al mundo de Arduino. Las herramientas existen, es hora de empezar a utilizarlas.
Saludos.
Voy hace un piano eléctrico y para eso me piden que use ese microprocesador para que determine la frecuencia emitida por el LM555. Estudiante de la Universidad Simón Bolívar
https://panamahitek.com/generando-sonidos-en-arduino-a-partir-de-pentagramas/
Hay una función en Arduino llamada pulseIn para este tipo de propósitos
gracias me encanto la información y conocer mas sobre la placa de Arduino, para que sirve y como funciona me facilitara ya que tengo un proyecto en mente que voy ha utilizar esta placa