Arduino para quien no conoce Arduino.

Arduino alcanzó hace tiempo el nivel planetario. Ya no podemos hablar simplemente de Arduino como unas plaquitas para el aficionado a la electrónica recreativa. Arduino es ya un Universo de programas, componentes, placas, sensores y actuadores de todo tipo. ¿Cómo adentrarnos en este conglomerado sin perdernos en el laberinto?. Lo vamos a intentar utilizando la menor cantidad de palabras técnicas posible, para tomar contacto y centrarnos dentro de una panorámica que nos permita dar los siguientes pasos con seguridad.

Ya en 2012 dedicamos una entrada a Arduino. Echadle un vistazo si os place; podréis ver el careto de los tipos que dieron a luz a la criatura y una colección de videos con ejemplos de montajes de aficionados.

Para comenzar esta artículo hablaremos de Arduino para referirnos en principio a sus placas electrónicas. Como podréis ver en la imagen, tenemos un buen puñado en el mercado (y no están todas):

tipos-de-arduino

Debido al compromiso que adoptaron sus creadores de que el diseño fuera libre (también llamado open-source) y que por tanto carezca de royalties, le ha servido para extenderse como una plaga y que aparezcan decenas de versiones, desde simples clones a versiones vitaminadas. Esta misma filosofía open-source nos desvela otra de las bondades de Arduino, la flexibilidad y capacidadstacked-shields de ampliar funcionalidades, más allá de las que contaba al salir de fábrica, como por ejemplo con los famosos shields (escudos). Son placas diseñadas por distintos fabricantes, que encajan sobre Arduino como una nave de carga en una estación espacial. Algunas añaden capacidades especiales para tratar con motores, conectividad inalámbrica, otros incorporan sensores, pantallas… e incluso pueden apilarse para sumar funcionalidades (hay que comprobar compatibilidades cruzadas).
A la derecha tenéis una exageración de apilado de shields.

De acuerdo, esto es la monda, pero ¿qué hace Arduino?.

OK, OK. Diremos que Arduino tiene varios modos de funcionamiento, dependiendo del programa que le carguemos en su pequeña memoria. En esencia se dedica a tomar datos de sus sensores, procesarlos y actuar en consecuencia. Una célula fotoeléctrica que abre la barrera de un parking, el termostato de la calefacción o el sensor de una farola que automáticamente la enciende o apaga según la luz ambiental, son ejemplos de mini sistemas cotidianos que pueden construirse mediante Arduino. En este modo, Arduino se dedica a repetir en un bucle perpetuo el programa cargado en su memoria. En expeduca utilizamos otro método de funcionamiento que denominamos esclavo o dependiente. Lo que hacemos es cargar un programa (denominado Firmata) en la memoria de Arduino que lo convierte en un puente de comunicación entre sensores y actuadores y un ordenador. Arduino se convierte en los ojos y las manos del ordenador, en nuestro caso, Scratch 2.0. Este modo nos da la posibilidad de poner en práctica todo lo aprendido y elevar nuestros programas a una nueva dimensión, interactuando con el Mundo Real.

Ahora que ya sabemos qué hace Arduino, llega el momento de aprender qué partes lo componen y unas ligeras nociones de su utilidad. Sin dudarlo, tomaremos como ejemplo nuestra querida UNO R3, probablemente la placa con la que Arduino llegó a tener relevancia mundial:

arduinor3_colores

En verde: la conexión USB: proporciona alimentación de 5 voltios a la placa. No es muy potente, pero para montajes sencillos de iniciación resultará suficiente. También es el canal de comunicación con el ordenador, a través del cual se programa e intercambian datos.

En rosa, la alimentación externa: Es el puerto de conexión con la fuente de energía eléctrica que alimentará a Arduino (baterías, transformador, pilas) cuando funcione en el modo autónomo que ya hemos descrito. También puede utilizarse como apoyo al puerto USB cuando conectemos varios dispositivos como motores y servos, grandes consumidores de amperios.

En amarillo, el cerebro de la bestia. El microprocesador de la placa y la memoria donde se almacenan los programas. No es muy rápido, no es muy potente, pero sí muy fiable y suficientemente capaz para gobernar cualquier montaje que se te ocurra.

En rojo, la conexiones eléctricas para alimentar dispositivos (motores, LEDs, sensores…). Disponemos de 3,3 voltios (no muy usada), 5 voltios (la habitual) y masa (o negativo).

En azul, las conexiones de entrada/salida digitales. Aunque a priori pueda parecer que son solo para dispositivos que están apagados o encendidos o que responden a verdadero o falso, en la realidad son utilizadas por dispositivos actuadores como LEDs, motores, zumbadores u otros de entrada como pulsadores o interruptores. Más adelante descubriremos que hay un truco llamado PWM (modulación de amplitud de pulso) que permite variar la intensidad de la señal digital de salida de modo que un motor o un LED pueden graduar su velocidad o intensidad.

En morado, las entradas analógicas. Son las que utilizaremos para conectar sensores de todo tipo (luz, temperatura, potenciómetros…). Se denominan analógicas porque las señales que captan no son de tipo binario (0 ó 1), sino que recogen los valores reales de las magnitudes del ambiente. Técnicamente, digitalizan esas mediciones recogidas del Mundo Real y les asignan un rango de valores que va desde 0 (ausencia de señal) hasta 1023 (máxima intensidad) para que puedan ser procesadas por Arduino.

sensores_keyestudio

En nuestros propios talleres utilizamos distintas versiones de Arduino, aunque siempre sin perder compatibilidad con el UNO R3. La diferencia principal es que utilizamos módulo3pin_dupont_200s sensores y actuadores (imágen de arriba) preparados para ser conectados mediante cables de 3 pines y colores estandarizados. El rojo es el más comprometido ya que lleva la alimentación
eléctrica y siempre va en el centro. En el peor de los casos, si lo conectamos al revés, el esquema no funcionará, pero evitamos cortocircuitos. El negro es la masa (o negativo) del circuito eléctrico y el amarillo es el que lleva la señal de datos (analógica o digital) para comunicarse con la placa. Este tipo de cables de 3 pines requiere una placa Arduino con extra de conexiones como la que tenéis a continuación. La simplificación de cables que supone utilizar estas placas permite que nos centremos en la programación e interacción entre Scratch y Arduino, evitando errores de conexión y los temidos cortocircuitos que pueden estropear tanto la placa como los dispositivos conectados a ella.

freaduino_uno_200

Ahora que conocemos un poco mejor la parte física de Arduino, tendremos que pasar a la acción. Programarla es relativamente sencillo, siempre y cuando estés familiarizado con la programación tipo lenguaje C. El entorno de desarrollo oficial de Arduino es conocido como IDE de Arduino y tiene una pinta que no invita precisamente a la aventura. A continuación tenéis uno de los ejemplos más simples, conocido como “hola mundo” de Arduino, el parpadeo del LED integrado en la propia placa (pin digital 13 ó D13):

ide

Pero no os vayáis, que tenemos alternativas. Hay muchos entornos gráficos que nos salvan de este (maravilloso) infierno del lenguaje C. Se saldría del propósito de esta entrada hacer una comparativa de sus funcionalidades y requerimientos, de modo que os dejo con una prolija presentación que el gran profesor Jose Manuel Ruiz Gutierrez ha recopilado. Haced clic sobre la portada para acceder al documento completo.

arduinografico

Aunque hemos probado muchos de estos entornos, debido a nuestro origen Scratch-ero nuestros preferidos son S4A, Snap4Arduino y como no, s2aio sobre Scratch 2.0.

Si era vuestro caso el del título, es decir, no conocíais Arduino, esperamos haber disipado dudas y miedos sobre este mundo tan divertido, didáctico y apasionante. Saludos y hasta la próxima.

 

Deja un comentario

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