96. Programación con Arduino, el paradigma de la computación física

Published: Oct. 11, 2016, 4:42 a.m.

En este capítulo voy a hablar de la computación física desde el punto de vista de Arduino. Para entender este concepto, tenemos que ser conscientes que la programación o computación física, involucra algo más que programar en un lenguaje de programación. Esto es una parte de esta disciplina y por lo tanto, se debe tratar como tal. Otra de las áreas involucradas dentro de la programación física es el hardware. En este punto, el Open Hardware (o hardware abierto) juega un papel muy importante. Por último, debemos conocer las herramientas necesarias para poder desarrollar este concepto en toda su extensión.

Durante este artículo y el capítulo del podcast que acompaña, voy a dar una visión general de este concepto y todo lo que involucra.

Necesito que me hagas un favor, votar por Programarfacil en los premios Bitácoras. Solo te llevará 2 minutos, muchas gracias ;).

ejemplo_boton_300

¿Qué es la computación física?

Se centra en diseñar dispositivos, objetos e incluso entornos que permitan establecer un canal de comunicación entre el mundo físico y el mundo virtual. Aunque esto suene a algo relacionado con el futuro, la realidad es que llevamos conviviendo con esta disciplina mucho tiempo. Solo tenemos que pensar en un ordenador o en un dispositivo móvil. Estos dispositivos ponen en contacto nuestro mundo, el mundo físico, y el mundo virtual de las máquinas y ordenadores.

El diálogo se realiza a través de interfaces hardware como un teclado, ratón, micrófono, pantallas, altavoces etc... La finalidad de la computación física es diseñar estas interfaces para que sean capaces de detectar alteraciones en el medio físico y traducirlas a señales que entiendan las máquinas. Esto se hace tanto a través de software como de hardware.

En la actualidad, cuando desarrollamos un software para un ordenador o un dispositivo móvil, estamos aplicando computación física. El problema que existe es que solo tocamos una de las patas de esta disciplina. Las interfaces hardware de los dispositivos actuales, nos limita a la hora de diseñar software para esas interfaces. Gracias al Open Hardware, esto está cambiando.

En resumen, para avanzar en el mundo de la computación física, necesitamos de ciertos componentes hardware (transductores) que conviertan los cambios de energía producidos por las alteraciones en el medio físico, en señales eléctricas entendibles por los ordenadores y máquinas. Aquí es donde entran en juego los sensores. Son los encargados de transformar una magnitud física en una señal eléctrica. Pero como esta comunicación es bidereccional, también necesitaremos actuadores que convierten las señales eléctricas en magnitudes físicas.

Los ordenadores, ya sean microprocesadores o microcontroladores, son los encargados del control de los sensores y actuadores. Deben ser capaces a la vez, de comunicar con otras máquinas para mostrar los datos en pantallas multimedia o almacenar información en base de datos o en la nube.

Proceso Computacion Física

Diseño de interfaces hardware en la computación física

Como ya hemos visto, una de las partes importantes dentro de la computación física es el hardware. Aquí se ve involucrado tres componentes de hardware a nivel básico.

Los sensores serán los encargados de detectar esas alteraciones en el medio físico y transformarlas en señales eléctricas. Tenemos como ejemplos el sensor de temperatura LM35 o el DHT11 que además mide la humedad. Dentro de esta categoría podemos encontrar también el sensor de ultrasonidos HC-SR04 con el que podemos hacer un sensor de nivel de agua.

Los actuadores harán lo contrario, convertir señales eléctricas en magnitudes físicas que activan procesos. Los motores paso a paso de las impresoras 3D o los relés son ejemplos de actuadores. Incluso un LED funciona como tal.

El microcontrolador será el encargado de controlar y gestionar los sensores y actuadores. Podríamos pensar en utilizar un microprocesador, nos daría más potencia y funcionalidades y es verdad, pero los microntroladores tienen ciertas características por las cuales es la opción más óptima. Dentro del propio chip viene todo integrado, memoria RAM donde se almacenan datos temporales, memoria ROM o Flash para almacenar los programas y dispone de entradas y salidas que nos permitirán conectar los sensores y actuadores.

Además, los requerimientos que vamos a necesitar no son muy exigentes, solo procesaremos la señal de entrada y salida. Los microcontroladores son más económicos y más compactos que los microprocesadores. Por último, nos permite comunicar con otras máquinas a través de diferentes protocolos, una característica que se requiere a la hora de diseñar interfaces hardware para la computación física.

Y cuando hablamos de microcontroladores, se nos viene a la cabeza Arduino. Sin duda alguna es la mejor opción para realizar nuestros proyectos.

¿Qué es Arduino?

Arduino es una placa microcontroladora para el prototipado. No voy a entrar en contar otra vez su historia pero si que hay que dejar claro ciertos aspectos. Fue creada en el año 2005 por cinco señores entre los cuales está David Cuartielles, un español de Zaragoza del cual debemos estar muy orgullosos. En principio estaba destinada a estudiantes para que pudieran conectar componentes y hacer sus desarrollos.

Dos características hacen única a esta placa, su bajo coste y su sencillez a la hora de utilizarlo tanto a nivel de software como de hardware. Además, cuando adquirimos un Arduino no solo estamos comprando una placa, también tenemos a nuestra disposición una plataforma totalmente abierta. Tenemos un entorno de desarrollo de código abierto, podemos bajarnos su código fuente, y una documentación muy extensa.

Por lo tanto, si vas a adquirir uno, piensa antes de comprar una copia, ¿quieres que el proyecto y la plataforma sigan siendo libres y de acceso a todo el mundo?

Pero quizás la idea más fantástica que tuvieron estos cinco señores fue publicar el diseño de la placa microcontroladora con licencias libres Creative Commons. Esto significa que cualquiera puede fabricar una replica o modificar y adaptar el diseño a sus requerimientos sin pedir permiso. Es más, podemos llegar a comercializar la placa sin ningún problema eso si, siempre respetando la imagen de marca.

Dentro de la gama de productos que nos ofrece Arduino, el más utilizado y comercializado es el Arduino UNO.