Arduino y raspberry son palabras que, si te mueves en ciertos círculos, no has parado de escuchar en años. Tu compañero de trabajo ha programado una raspberry para que se comporte como una Super Nintendo. Tu cuñado ha montado un avión teledirigido desde cero. Alguien creyó que era una buena idea meter un montón de luces y servos en el vestido de Zendaya de la Met Gala… Vamos, que está en todas partes, y se usa para todo tipo de cosas.
Con todo ese bombardeo es más que natural que hayas sentido curiosidad. ¿Es tan fácil como parece? Puede que quieras echar un vistazo a ver de qué va la cosa. Puede que quieras empezar a aprender, puede que tú también quieras ser el cuñado que se hace un avión teledirigido desde cero.
¿Pero por dónde empiezas?
En la línea de todos los posts de mi blog, el nivel al que voy a explicar esto es tan bajo que vais a pensar o que soy imbécil, o que pienso que le hablo a imbéciles. Pido perdón de antemano si alguien piensa eso, pero internet está repleto de posts sobre programación hechos por gente que da por hecho que todas somos ingenieras aeroespaciales “así que para qué explicar nada”. Yo solo quiero equilibrar un poco la balanza.
En mi opinión, para iniciarse en hacer proyectos con arduino lo primero que necesitas es tener una idea para un proyecto… Aunque quiero matizar, porque igual está bien tener un poquito de idea de “alguna que otra cosa” antes de entrar al trapo.
Un arduino es un circuito impreso específicamente diseñado para usar un microcontrolador reprogramable y ciertas salidas y entradas. Esto quiere decir que es útil tener ciertas nociones de programación.
A la placa del circuito impreso se le pueden conectar componentes electrónicos extra para añadir diferentes funcionalidades. Esto quiere decir que es útil tener ciertas nociones de electrónica.
En teoría, el código que se va a compilar y cargar en el microcontrolador del arduino se puede programar en cualquier lenguaje. Pero parece que el más usado, y en el que yo he encontrado la mayor parte de bibliotecas, es C++. Así que si no se tiene background previo de programación, un par de tutoriales sobre C++ no estarían de más.
Sobre electrónica estoy bastante menos cualificada para aconsejar, pero en mi breve experiencia (dos asignaturas de electrónica en la carrera y montar la circuitería del cosplay de Ironman de mi pareja) diré que es muy importante, pero mucho, tener una idea sobre voltajes e intensidades. Para esto, más que leer sobre el tema en abstracto aconsejaría echar un vistazo a algún tutorial de “cómo se hace”. Cada componente de un circuito requiere un voltaje y consume una intensidad. Ambos no se comportan de la misma manera; según los valores que tomen el circuito deberá tener una forma u otra, y los componentes pueden durar mucho más o mucho menos dependiendo de lo bien que conectes las cosas.
También está el pequeño detalle de que si lo montas mal puede que todo explote.
Estoy segura de que para cualquier cosa que podáis querer hacer, tanto el código con el esquema del circuito ya están hechos y subidos a internet, y no hace falta que sepáis lo que estáis haciendo mientras sigáis las instrucciones y copiéis y peguéis el código bien. Estoy en contra de esa aproximación por dos motivos: porque si no sabes lo que estás haciendo, si aparecen errores o quieres hacer modificaciones no vas a poder hacerlas, y porque si no sabes lo que estás haciendo pueden colarte un circuito que explota.
No digo que tengáis que ser ingenieras aeronáuticas antes de empezar un proyecto de arduino, solo digo que entender lo que se está haciendo hace que las cosas sean más sencillas. Sobre todo si se quieren hacer cosas más personalizadas cuyo código/esquema no estén en internet.
Volviendo al tema: tenemos una idea para un proyecto. ¿y ahora qué hacemos?
Los proyectos, como ya he comentado, tienen una parte de programación y otra de electrónica. Para la de programación, de nuevo en teoría podéis usar cualquier IDE (he leído a unas cuantas personas recomendar Atom), pero el editor de Arduino hace bastante sencilla la gestión de bibliotecas externas y la carga del código a la placa, así que para qué complicarse la vida intentando parecer una juanker cuando puedes bajarte el IDE de Arduino y hacerte la vida más sencilla.
Y para la parte de electrónica se necesita, cómo no, una placa de arduino. La que más se suele usar para prototipado es la UNO, que es como el pack más básico posible pero también es muy barata, y para aprender viene genial. Pero solo con la placa poquito vais a poder hacer, así que hay que comprar más componentes.
Si sabéis lo que queréis podéis ir a la tienda de electrónica más cercana – si no sabéis lo que estáis haciendo NO tiréis de Amazon. NECESITÁIS ASESORAMIENTO – y comprar los componentes necesarios. Pero si tenéis una idea un poco vaga o ningún proyecto en mente, siempre podéis tirar de un kit de iniciación, que trae una placa arduino, un montón de componentes, y un dvd con proyectos de ejemplo (con código, esquema y explicaciones) que usan todos esos componentes. Es una forma muy útil de coger soltura con la conexión de elementos y el uso de bibliotecas externas.
Los hay de diferentes niveles: el que yo compré pone en el título “medio” así que supongo que será de nivel medio, pero los hay más básicos y más complejos (Elegoo es una marca que hace clónicos de muy buena calidad y compatibles con Arduino).
De nuevo lo comento: no hace falta tener conocimiento previo de nada si tenéis el código y el esquema del circuito. Sin embargo, recomiendo muy fuertemente que tengáis a mano las datasheets de los componentes que vayáis a usar (normalmente con que pongáis en google el nombre del componente y “datasheet” ya sale). En esas hojas no solo vienen los requerimientos de voltaje e intensidad, sino cómo colocar el cacharro en un circuito. Algo tan tonto como colocar un condensador eléctrico del revés puede hacer que el circuito explote, así que saber qué componentes estáis usando, y leer mucho, pueden ser los mejores consejos que se me ocurren a la hora de montar un circuito eléctrico.
Y lo voy a dejar aquí por ahora porque el post está quedando muy largo y muy teórico y me apuesto lo que queráis a que nadie ha llegado a leérselo hasta el final. Quizá haga un post más con lo basiquísimo de cómo empezar a hacer el código y el prototipo antes de ponerse a soldar cosas. Si os interesa y no habéis encontrado antes un tutorial mejor, claro.
************************************************************
Espero que esta entrada pueda ser de utilidad, y si no, como siempre, aquí tenéis un gato para compensar.