¿Qué cómo afronto la creación de un nuevo circuito?

Cuando me planteo un nuevo cacharreo, puede ser por varios motivos:

  1. Solo por hacerlo, ver que funciona y aprender por el camino
  2. Para ver qué resultado da y si es bueno pasarlo a «producción» e instalarlo definitivamente en mi casa
  3. Para su instalación en mi casa si o si (siempre y cuando funcione)

Está claro que cuando solamente quiero cacharrear, lo hago de cualquier manera «al aire», sobre una breadboard o una perfboard.

En muchos casos el proceso es el siguiente:

  • Hago las pruebas de la manera más rápida posible con los sensores que quiero poner, de uno en uno, y veo si todo funciona bien
  • Me planteo que sensores voy a combinar en base a lo bien que me venga combinar esos sensores concretos (por idoneidad del emplazamiento, pines disponibles, caja, etc)
  • Pienso en que caja le voy a poner para que tenga un acabado «más o menos» profesional y que no sean un enjambre de cables colgando por la casa

Aunque parezca mentira, de los puntos anteriores, el que más quebraderos de cabeza suele darme es la caja. Además la caja, en muchos montajes, suele ser una parte «activa» del montaje ya que la aprovecho para el cableado del circuito.
Me gusta que las cosas que se quedan «fijas en la casa» tengan una buena terminación, y soy bastante perfeccionista, por lo que nunca estoy satisfecho con el resultado obtenido.
La realidad es que suelo decir «lo dejo de momento así, que está aceptable, y en cuanto tenga un rato lo mejoro» y… se suele quedar así.

Un ejemplo

El mejor ejemplo que puedo poner en este momento, es el proyecto que estoy terminando y del que ya he publicado algunas entradas en el blog sobre sus partes: un nodo para el dormitorio principal, basado en ESPEASY con un emisor de infrarojos para controlar el aire acondicionado y un sensor de CO2.

Por supuesto, antes de hacer nada con hardware o firmware hay que realizar un poquito de investigación y toma de decisiones preliminares. ¿Qué funcionalidades quiero que tenga el cacharro? ¿Cómo lo voy a alimentar? ¿Qué componentes voy a utilizar para conseguir estas funcionalidades? ¿Voy a diseñar una caja que pueda imprimir en 3D, usar una caja estándar, quizá hay una caja ya diseñada para imprimir en 3D que me pueda valer? Con todas estas decisiones tomadas podemos ya ensuciarnos las manos:

Primero monté el circuito con los diodos emisores de infrarrojos y probé y ajusté el firmware, de forma que funcionara correctamente de forma independiente. Posteriormente, y una vez satisfecho con el funcionamiento del emisor de infrarrojos, hice lo mismo con el sensor de CO2.

La siguiente etapa es juntarlo todo y asegurarme de que tanto el hardware como el firmware está funcionando correctamente, haciendo todas las pruebas que sean necesarias y dejándolo todo funcionando «en sucio».

La parte de pruebas es muy importante. Nada peor que tener un cacharro aparentemente terminado y luego darnos cuenta de que algo no funciona correctamente. No hay que ahorrar tiempo en las pruebas.

El siguiente paso importante fue la caja. Para esto, partí de la caja estándar que suelo utilizar para la mayoría de mis montajes con NodeMCU, y que imprimo en mi impresora 3D,  pero la modifiqué adecuadamente en tamaño y le añadí las aberturas necesarias (dos para los dos LED de infrarrojos que iba a utilizar y otras dos para las dos zonas «activas» del sensor MH-Z19 que iba a montar.

El último paso: ajustar y cablear todo dentro de la caja y volver a hacer todas las pruebas necesarias, antes de instalarlo en su ubicación definitiva.

 

 

Datos de radiactividad de Madrid en tiempo real

Tras tener mi detector Geiger terminado y funcionando, el siguiente paso es, enviar esta información a la red. Se da la circunstancia, además, de que no he sido capaz de encontrar en internet una sola estación de Madrid enviando datos de radiación Beta/Gamma en tiempo real, por lo que puede que esta sea la primera estación de Madrid en enviar este tipo de datos (y me hace ilusión, porque mira que es difícil ser el primero en algo en internet hoy en día :-))

El contador Geiger que he construido dispone de un puerto serie por el que se transmiten cada 15 segundos los datos de radiación detectada. Esto ha facilitado mucho las cosas, ya que lo único que he tenido que hacer es dotarlo de «algo» que los lea y los envíe a mi sistema de domótica y a la red .

Como en otras ocasiones, he recurrido a un NodeMCU con el firmware ESPEASY. En esta ocasión no existía un plugin de ESPEASY para leer la salida serie de mi contador Geiger pero no ha sido muy difícil adaptar otro plugin, ya existente, para que los lea.

El nuevo dispositivo lee la salida serie del contador Geigery la procesa para extraer el dato concreto de Pulsos Por Minuto y envía este dato mediante MQTT a mi broker.

Un nodo en Nore-Red recibe los datos de radiactividad enviados por el dispositivo y los reenvía a Radmon.org. Radmon.org es un sitio donde cientos de voluntarios en todo el mundo envían, en tiempo real, los datos obtenidos por sus detectores para facilitar su visualización, generación de gráficos, etc.

La función «Build Radmon url» es muy sencilla y, simplemente, construye una url, siguiendo las especificaciones del API del Radmon con mi usuario, password y la última medida.

Otro nodo de Node-Red inserta los datos en una base de datos InfluxDB lo que me permite, posteriormente, crear gráficas de estos datos en Grafana.

Sabiendo qué respiramos (Sensor de CO2)

El CO2 (Dióxido de Carbono) es un gas peligroso para el ser humano. En concentraciones elevadas puede producir vértigo, dolor de cabeza, presión sanguínea elevada, ritmo cardíaco acelerado, asfixia y pérdida del conocimiento. Conviene tener precaución co él, especialmente en los lugares donde hay muchas plantas ya que lo expelen en su proceso de respiración.

Llevo años con la intención de tener sensores de CO2 en la casa, que permitan disparar alarmas cuando los niveles sean demasiado altos. Hace cosa de un año, instalé una estación meteorológica NetAtmo (que no necesitaba, puesto que tengo una Davis Vantage PRO2) y una de las cosas buenas que tiene es un sensor de CO2 de interior. La verdad es que no se lo preciso que es el sensor de CO2 de la estación NetAtmo pero desde el principio he tenido ganas de comprobarlo.


El módulo interior de la estación NetAtmo está instalado en el salón (proporcionando datos de temperatura, humedad, luminosidad, presión sonora y CO2 del salón) pero me apetece poder medir el CO2 en más sitios y, especialmente, realizar mediciones puntuales para saber si estamos «en peligro», por ejemplo medir los niveles de CO2 en diferentes dormitorios mientras dormimos.

Hasta hace relativamente poco tiempo, los sensores de CO2 eran muy caros y necesitaban una calibración que normalmente no estaba al alcance de los aficionados. Esto ha cambiado bastante en los últimos meses con la aparición de algunos sensores económicos de fácil uso y que vienen ya precalibrados de fábrica.

Recientemente me puse a buscar información acerca del «estado del arte» de estas cosas, para ver si era, por fin, el momento de afrontar el tema de los sensores, y me encontré con varios sensores bastante interesantes. Entre los que me encontré había uno que me llamó la atención sobre los demás, el MH-Z19.

Su puesta en marcha ha sido muy sencilla, gracias al trabajo hecho en ESPEASY. Simplemente: cargar el plugin adecuado desde el playground de ESPEASY, conectar dos pines más la alimentación y a funcionar: