domingo, 30 de septiembre de 2018

Arduino y el medio ambiente

Hoy me he levantado californiano, para variar. Sin garaje ni perrito que me ladre, pero con alma de geek o nerd, que quiere transformar el mundo para mejor. Por tanto, hoy voy a dejar el "que inventen ellos" -esa desafortunada frase supuestamente pronunciada por Miguel de Unamuno, y que después se ha utilizado como justificación inconsciente de los recortes en ciencia, aduciendo que los españoles somos más de letras- para otro momento. Hoy vamos a inventar nosotros, amig@s tod@s, acompañados del signore italiano don Arduino.

Mi placa de Arduino UNO, con su protoboard.
Lo primero que se preguntará el lector no iniciado en el hardware abierto es qué es eso. El sistema Arduino se basa en una placa programable (una especie de ordenador en miniatura) a la que podemos unir, mediante cables, diversos sensores, actuadores y otros componentes electrónicos (potenciómetros, resistencias, condensadores), de forma que podemos fabricarnos nuestros propios cacharros adecuados a nuestras necesidades de forma fácil y, sobre todo, muy barata. Sí, la democratización absoluta de la tecnología. Además, tampoco hace falta ser un profesional de la programación, que es, sin duda, lo que más puede acogotar al novato. Simplemente se busca el proyecto que necesitamos en internet y, a modo de receta de cocina, se ejecuta tanto la parte de montar físicamente el invento como la programación, que puede ser simplemente un corta y pega. Lo puede hacer cualquiera, de verdad: ya seas ambientalista, naturalista, biólogo, meteorólogo, científicos aficionado, amigo del Quimicefa, bloguero de flora y fauna, arquitecto en permanente crisis,  curioso inveterado, jubilado o político chungo. Incluso el que suscribe, como veremos después.

No nos detenemos más en la filosofía y funcionamiento de este sistema, ya que existen miles de referencias en la red. Nos centraremos en investigar lo que se puede hacer en relación con el medio ambiente, ese acuciante reto que, si no nos ponemos manos a la obra, nos puede borrar de la faz de la Tierra, aunque muchos políticos se dediquen a desviar la atención hacia otros asuntos mucho menos importantes. Hasta que veamos al toro de frente, por supuesto.

Vamos a pinchar un buen vinilo ad hoc: se me ocurre el Computer World de la legendaria banda de música electrónica Kraftwerk, por eso de alinearnos con la vanguardia. Además, para ordenar un poco el tinglado, nos vamos a basar en la clasificación del interesante programa Globe:  proyectos relacionados con la atmósfera, la biosfera, la hidrosfera y la malsonante pedosfera, que no es otra cosa que el suelo.

Comenzamos por la atmósfera. El primer proyecto es el más sencillo: se trata de una estación portátil de medición de temperatura y humedad ambiental. Consta de la placa Arduino UNO además de un sensor combinado temperatura/humedad, una pantalla LCD y otros elementos montados en una protoboard, una placa de montaje donde se pinchan los componentes, uniéndose mediante cables ya peladitos en los extremos, muy cómodos. En este proyecto se aprecia algo muy interesante: el reciclaje de componentes, ya que el LCD proviene de una vieja alarma de fuego. Se monta de la forma que aparece en los esquemas electrónicos, se enchufa al USB del ordenador, se copia y pega el código en el programa Arduino IDE y se envía a la placa. Ya tenemos temperatura y humedad en tiempo real.

Es más fácil de lo que parece, solo hay que seguir las instrucciones (create.arduino.cc)

Una variante mucho más compleja es este proyecto: el sensor ambiental múltiple. Utiliza la placa Arduino MKR1000, que tiene la peculiaridad de que soporta Wifi. Como sensores hay de todo: uno de rayos y relámpagos (lo flipo: puede detectar frentes de tormenta a 40 km de distancia), uno de monóxido de carbono, de humedad y temperatura, de presión, altitud y temperatura, de luz ultravioleta, un reloj de alta precisión y otros componentes secundarios. Una vez montado y subido el complejo código a la placa, ya tenemos una estación meteorológica que haría palidecer a las de la Aemet, por mucha menos pasta.

Vamos con la hidrosfera. Comenzamos por una estación de monitorización de la calidad del agua. La placa es la Arduino UNO, que suele venir por defecto en los kits. Los sensores son: combinado de temperatura y pH, de turbidez y un sensor ultrasónico, para medir distancias. También aparecen una pantalla, donde se muestran las mediciones, unos LED y un zumbador.

Monitoreando con Arduino (github)
Otro proyecto de monitorización es My River. Utiliza, al igual que el anterior, un sensor de pH, además de un original sensor de nivel del agua. Según su autor, no solo mide la acidificación del agua, sino también si existe crecida en el río, posiblemente provocada por algún vertido ilegal. Si hay contaminación, medida a partir de una modificación del pH junto a la susodicha una crecida, el LED del aparato se ilumina: lo hemos pillao con el carrito del helao.

Seguimos con la biosfera. ¿Nos apetece un sensor de movimiento para comprobar la presencia de animales, por ejemplo? Pues aquí lo tenemos. Consta de la placa Arduino UNO, una lámpara, una célula fotoeléctrica y un sensor pasivo de luz infrarroja. El sensor, siempre de noche, detecta un movimiento: la luz se enciende durante 10 segundos, deslumbrando al culpable y alertando al hábil inventor.

Para los amantes del fototrampeo tenemos este interesante proyecto. Consta de un sensor activo de infrarrojos, que detecta movimiento y envía la señal a la placa Arduino, disparando la cámara DSLR. La placa filtra la señal, evitando que, por ejemplo, la presencia de un pequeño insecto dispare la cámara accidentalmente.

Zorrillo pillado gracias a Arduino (instructables)
Terminamos con la pedosfera. El primer proyecto es un sencillo sensor de humedad con pantalla LCD. Se compone de la placa UNO y este sensor, que simplemente se pincha en el suelo y, por medición de la conductividad del suelo, nos ofrece la humedad en la pantalla. También podemos medir la temperatura del suelo con este proyecto. Utiliza un sensor de temperatura resistente al agua, similar a una pequeña sonda.

Para terminar con un cum laude, que está de moda, este interesante proyecto basado en un contador Geiger, por si a alguien se le ocurre la brillante idea de perseguir lodos contaminados, de esos que se escapan de vez en cuando. Un poco de radiactividad seguro que nos dará mucha energía, jeje.

Consta de un tubo Geiger alimentado por una fuente especial de 500 V, necesarios para que, en presencia de radiactividad, el tubo emita los pulsos por minuto necesarios para la lectura. Según las instrucciones del tubo, la ecuación sería pulsos/360=radiactividad (en microSievert/hora), mostrándose la lectura en la pantalla LCD.

Como un gramo de práctica vale más que una tonelada de teoría, vamos a montar un sencillo detector de gases basado en un sensor MQ-135, que detecta amoníaco, NOx, alcohol, benceno, humo y CO2, entre otros. Vamos a servirnos del montaje y código que aparece al final de este tutorial, en el apartado "Lectura Analógica".

Nuestro sensor de gases
Monto el sensor, cosa que no lleva más de cinco minutos. Enciendo el ordenador; abro el navegador en mi querido Linux y voy a la página Arduino Editor, donde pego el código que he encontrado en el tutorial. Lo mando a la placa mediante USB, con lo que se encienden unas cuantas lucecitas, parpadeantes. Le doy a la pestaña "Monitor", a la izquierda, y aparecen unos valores genéricos de voltaje y su correspondiente valor de concentración de gas. Evidentemente, para cada gas que queramos monitorizar hará falta una ecuación diferente que relacione el voltaje de salida del sensor con la concentración del mismo, mirando el prospecto de cada sensor. Pero bueno, tampoco es tan difícil para mentes preclaras como las nuestras. Yo, sin embargo, no voy a liarla más y me remito al código del tutorial, a ver qué sale.


Primero espiramos, por la boca, cerca del sensor. La lectura se desboca, valga la redundancia: el voltaje asciende y la concentración del dióxido de carbono también, según la relación matemática que hemos escrito en el código.

Hacemos la prueba con isopropanol, un alcohol orgánico que limpia lentes muy bien, al ser muy volátil. La lectura de voltaje vuelve a ascender aún más rápido, lo que indica que este sensor es más sensible al alcohol que al CO2. Pues funciona, oiga.

Ya tenemos un somero panorama de lo que se puede hacer con Arduino en relación con los estudios medioambientales. Hay más, mucho más, casi cualquier cosa que a uno se le ocurra, con mayor o menor dificultad. ¿Nos animamos? No estaría de más darle un buen zasca al bueno de Unamuno; seguramente tendría un mal día y no imaginó que, 110 años más tarde, muchos compatriotas pudieran inventar como lo hicieran en su día alemanes o americanos, y por dos duros. Y es que los tiempos cambian, don Miguel, y no siempre para mal...

2 comentarios:

Entrada destacada

Incursiones cotidianas: arquitectura de una playa invernal

Una de las actividades más placenteras -al menos para el que suscribe- es un paseo invernal por una playa desierta. Y si es un playazo, mejo...