Icono del sitio Programar fácil con Arduino

#113 Aprender Arduino con Enrique Crespo (@jecrespom)

Arduino es una plataforma para la programación y prototipado de microcontroladores. Aprender Arduino implica conocer las dos ramas involucradas dentro de la computación física, programación y electrónica.

Al contrario de lo que podamos creer, Arduino no es solo un microcontrolador. Arduino es una plataforma que integra software, hardware y documentación. Tenemos todo lo necesario a nuestro alcance para poder crear nuestros propios proyectos, sistemas o prototipos.

Pero si hay una característica a destacar de Arduino, es su carácter libre. Toda la documentación la tenemos a nuestra disposición para descargarla, modificar e incluso comercializar los productos derivados de la plataforma eso sí, siguiendo unas reglas.

Hoy en este artículo y podcast, tenemos de invitado a Jose Enrique Crespo, divulgador, formador y fundador del blog Aprendiendo Arduino. Nos iluminará al comienzo del camino que debemos de recorrer todo Maker.

Aprendiendo Arduino con Enrique Crespo

Desde el primer día que hablé con Enrique, me di cuenta que era un Maker de verdad. Ya no solo por sus conocimientos técnicos (se nota que sabe de lo que habla) sino por su carácter y afán de compartir. Solo tienes que entrar a su web donde tiene un curso de Arduino completo, el que el imparte a sus alumnos.

Nadie mejor que Enrique sabe lo que conlleva aprender Arduino. Su pasión por esta placa le ha llevado a utilizarlo profesionalmente y a formar a decenas de riojanos apasionados por la programación y la electrónica.

Estudió Ingeniería Industrial en Zaragoza donde coincidió en fechas con David Cuartielles. Como nos reconoce, no coincidió con él pero si que recuerda esos grupos donde David estuvo muy activo.

Como tantos de nosotros vivió la época de los años 80 con un MSX. Ese fue, junto con el manual de Basic, su primer contacto con la programación. Las películas que le marcaron fueron Tron, El cortador de césped y Blade Runner.

En plena crisis (año 2010) se quedo sin trabajo y estuvo durante un año en paro. Ese fue el momento en el que Enrique encontró el hueco para profundizar en el mundo de Arduino a través de varios cursos. Desde entonces ha utilizado la placa profesionalmente, ha formado a gente y ha escrito numerosos artículos en su blog.

No me cansaré de agradecer a todas estas personas que de alguna manera contribuyen a la divulgación y colaboran para que aprender Arduino esté al alcance de todo el mundo y no solo de aquellos que tenemos los conocimientos técnicos.

¿Por qué aprender Arduino?

Hoy no voy a entrar en los tópicos de «El saber no ocupa lugar» o » Debemos conocer el mundo que nos rodea». Hoy quiero hablarte de casos reales en el día a día de todos nosotros. Hace poco me llegó un email de un oyente y lector de este blog.

La cuestión que me planteaba era que quería ser un Maker con un objetivo claro, poder alcanzar una vida mejor a través de Arduino. No te quiero engañar, utilizar de este tipo de tecnologías libres requiere un gran esfuerzo por tu parte.

Volviendo a la cuestión, aprender Arduino puede ser muy útil si tu vida profesional se desarrolla en un entorno industrial. Como nos cuenta Enrique en su entrevista, podemos hacer sistemas de monitorización en procesos industriales.

No es cuestión de sustituir la maquinaria o dispositivos que existen en la actualidad, es cuestión de monitorizar los procesos en los que se ven involucrados. Esto nos da dos ventajas con respecto a los sistemas propietarios.

Por un lado el coste. Las tecnologías abiertas no están hechas para hacerse rico, por lo tanto hay una conexión directa entre estas tecnologías y la reducción de costes en sistemas de monitorización. Es cierto que esa diferencia se suple con capital humano ya que debemos ser nosotros mismo quién creemos esos sistemas.

Por lo tanto, si nosotros somos los creadores nosotros seremos los encargados de mantener y dar funcionalidad a los sistemas. Esto, aunque parezca una desventaja, en realidad es una gran ventaja ya que no dependemos de terceros para modificar y mejorar nuestros proyectos.

Formación reglada ¿sí o no?

La duda que se nos puede plantear es, seguir una formación reglada o aprender tecnologías que se salen fuera de lo estipulado. Lo ideal sería hacer una mezcla de los dos por ejemplo, hacer un grado de formación profesional y luego formarte en Arduino.

Esto requiere de un doble esfuerzo tanto intelectual como económico. Dicho esto quizás debamos pensar bien en la siguiente frase que, ciertamente, no se muy bien quién es el autor:

Si haces siempre lo mismo no esperes resultados diferentes.

Por lo tanto, si realmente quieres cambiar tu mundo, si quieres apostar por tu futuro y quieres entender el mundo que te rodea, haz algo diferente, no hagas lo que siempre nos han enseñado. Sal de tu círculo de confort.

Un buen comienzo puede ser aprender Arduino y las demás tecnologías libres. Esto implica que lo que hagas deberás compartirlo en mayor o menor medida. Las tecnologías libres no son gratuitas, siempre habrá alguien detrás que esté poniendo sus recursos intelectuales y materiales.

Utilízalas y comparte, solo así conseguiremos ser libres de una vez.

Aprender Arduino ¿qué es una placa de desarrollo o prototipado?

Una de las partes fundamentales a la hora de aprender Arduino es entender qué es la placa de desarrollo. En ocasiones nos confundimos y hablamos de Arduino como un microcontrolador. Arduino no es solo un microcontrolador, es una plataforma donde se involucra software, hardware y documentación.

Todo esto está bien sazonado con una gran dosis de comunidad que estamos detrás intentando hacer algo diferente.

Como ya he comentado al principio, es una plataforma libre y dio pie a lo que se conoce a día de hoy como hardware libre. No hay que confundir libre con gratis. Son conceptos que se entrecruzan muy a menudo y se suelen confundir.

Las tecnologías libres nos permiten ir un paso más allá. Ya no es solo poder utilizar dicha tecnología, ahora tenemos a nuestro alcance el conocimiento que hay detrás. Es como si cuando te compras un coche te dieran un manual con todos los esquemas eléctricos, mecánicos y el código de programación. A que molaría :)

Al contrario de lo que pueda parecer, seguramente ni tu ni yo seamos capaces de construir un coche. Sin embargo, esto nos permitiría saber cómo funciona internamente y por lo tanto, podríamos replicar parte de ese dispositivo e incluso arreglarlo por nosotros mismos.

Con Arduino esto sucede y por lo tanto, podemos profundizar hasta donde nosotros queramos. La parte más importante es la placa de desarrollo o prototipado. Todo lo que hay alrededor de esta placa está pensado para facilitarnos la programación de un microcontrolador y el proceso del prototipado.

Las partes más importantes de la placa de Arduino

Para entender mejor qué es la placa de Arduino, vamos a examinar detenidamente la más popular y famosa, Arduino UNO.

Dentro de la propia placa podemos encontrar 7 partes fundamentales donde se encuentran no solo un microcontrolador, tenemos dos.

  1. Pines digitales: los pines son la ventana al mundo físico que tiene Arduino. Los pines digitales permiten conectar componentes digitales es decir, con dos estados HIGH o alto (correspondería con 5V) y LOW o bajo (correspondería con 0V).
  2. Botón reset: este botón nos permite reiniciar el programa que hemos cargado. Esto pondrá todas las variables y modos en el estado inicial que hayamos marcado en la función setup(). Esta función no elimina el programar repito, no elimina el programa solo reinicia dicho programa.
  3. Puerto USB: este puerto tiene dos funciones. Por un lado cargar el programa al microcontrolador y poder comunicarnos con la placa desde nuestro ordenador. Por otro lado nos permite alimentar los componentes de la placa con 5V.
  4. Microcontrolador: ya te he dicho que Arduino no es un microcontrolador. Arduino es la placa de desarrollo que nos permite programar y prototipar de una manera muy sencilla. El microcontrolador es el cerebro de la placa y tiene dos. Uno como unidad central y otro que se encarga de la comunicación con el puerto serie. El que nos interesa (básicamente porque es el que vamos a programar) es la unidad central. Tiene nombres y apellidos y se llama ATmega328P.
  5. Conector de alimentación: existen diferentes maneras de alimentar la placa de Arduino. Una de ellas es a través del conector jack de alimentación. Esto nos permite conectar una batería o pila que suministre entre 6V y 12V.
  6. Pines de alimentación: seguramente quieras conectar sensores y actuadores a la placa. Los pines de alimentación te permitirán alimentarlos con una tensión de 5V o 3,3V.
  7. Pines analógicos: si hemos visto que los pines digitales solo permiten leer dos estados, los pines analógicos permiten leer un rango de valores entre 0V y 5V. Esto se hace con una resolución de 10-bit, la que nos da el ADC (Analog Digital Converter o en español Conversor Analógico Digital).

SoC System on a Chip o Sistema en Chip

Cuando hablamos de microcontroladores no hablamos solo de una CPU (Central Processing Unit o Unidad Central de Procesamiento). Para que este componente pueda funcionar necesita tener a su alrededor otros componentes.

Lo básico sería una memoria RAM, una memoria ROM o Flash y los periféricos de entrada y salida (pines o GPIO). Lo que sucede con los microcontroladores es que todo está integrado dentro de un chip, al contrario que sus hermanos mayores los microprocesadores.

Si nos fijamos en el diagrama de bloques del microcontrolador ATmega328P, nos daremos cuenta de este detalle.

Imagen obtenida de la hoja de características del ATmega328P

Precisamente esta es la gran diferencia entre un microcontrolador y un microprocesador. A todo este conjunto se le llama SoC (System on a Chip o Sistema en Chip). Por lo tanto, si lo plasmamos todo en un pequeño gráfico tendríamos lo siguiente.

Partimos de la unidad más básica el microcontrolador o MCU (Microcontroller Unit). Esto iría integrado dentro de un SoC donde están los demás componentes como memoria RAM, Flash y periféricos. Por último tendríamos la placa o kit de desarrollo como Arduino UNO.

Para aprender Arduino no hace falta conocer todos estos conceptos pero si que es cierto que te ayudará a entender el conjunto de esta plataforma.

Enlaces de interés para aprender Arduino

Por último, quiero dejarte los enlaces de los que hablamos en la entrevista.

También quiero dejarte el vídeo que ha hecho mi amigo José de Logroño. Además del tremendo trabajo que le ha llevado preparar este proyecto, es de destacar la motivación y la idea que se esconde detrás.

Reciclar juguetes y dispositivos antiguos para darles una segunda oportunidad. Desde aquí le doy mis felicitaciones y espero que siga creando proyectos como este, enhorabuena José :).

Aprender Arduino se ha convertido en algo fundamental en su vida y espero que siga así por mucho tiempo.

Conclusiones de Aprender Arduino

Qué más te puedo decir de este mundo que me apasiona. Para aprender Arduino debes tener pasión y motivación. En este artículo hemos visto que, además de conseguir enriquecer tu conocimiento sobre el mundo que te rodea, puede llegar a ser una buena oportunidad para progresar.

Pero todo esto no tiene mucho sentido si no te pones en acción. Nunca hemos tenido tanta facilidad para crear cosas, tenemos a nuestra disposición información, documentación y, sobre todo, personas que nos ayudan. ¿Vas a dejar pasar la oportunidad de aprender Arduino?

¿Qué es lo más complicado para ti a la hora de aprender Arduino?

Comparte tus dudas y tus inquietudes con todos nosotros aquí abajo, en los comentarios :)


Puedes escuchar este programa en,  iVooxiTunes y en Spreaker. Si lo haces, por favor valora y comenta, así podremos llegar a más gente.

Salir de la versión móvil