/LibrePM25

Medidor de Material Particulado básico

Primary LanguageC++GNU General Public License v3.0GPL-3.0

LibrePM25

Medidor de Material Particulado básico con sensor de PM2.5 PMSx003, Arduino UNO y Multi-function Shiel.

Esta es una versión básica de un medidor de PM2.5 de bajo costo con los materiales más comunes del mercado: Arduino UNO y el sensor más económico y popular: Plantower de la familia PMSx003. LibrePM25 usa un Arduino UNO, pero puede extenderse al MEGA o nano, por ser muy popular en escuelas y frecuentemente usado en las clases de tecnología o electrónica y la mayoría de escuelas tienen muchos de ellos.

El código del Arduino es lo más sencillo posible y puede programarse cargando el archivo .hex con una App para Android o el programa Xloader y así no necesitarías instalar el software Arduino para compilar y programar el código. Si buscas un sensor más avanzado y con conectividad por Bluetooth o por Wifi puedes armar un AireCiudadano con conectividad Bluetooth y Wifi. LibrePM25 usa los componentes más populares del mercado, así no sean los más avanzados, y el armado más sencillo posible sin necesitar el uso de cautín y soldadura de estaño.

1. Materiales:

  1. Escudo multifunción (Arduino Shield multifunction).

El Escudo tiene un bug o error que puede cortocircuitarlo con el conector USB, corte los pines que se muestran en la foto y agregue un trozo de cinta al conector USB, que también se muestra en el video explicativo:

Cortar pines escudo

Link compra Aliexpress, Link compra Colombia, Compra Latinoamérica: Mercadolibre o tiendas de electrónica.

  1. Arduino UNO cualquier versión. Sirve el original Arduino Italiano o las versiones chinas, la diferencia está en la instalación del driver. El que llaman "Original" a la izquierda y la copia o clone a la derecha:

Arduino original & clone

Link compra Aliexpress, Link compra Colombia, Compra Latinoamérica: Mercadolibre o tiendas de electrónica.

  1. 3 cables jumper hembra hembra (sirve cualquier tamaño pero es preferible 10 o 15cm).

Link compra Aliexpress, Link compra Colombia, Compra Latinoamérica: Mercadolibre o tiendas de electrónica.

  1. Sensor de la familia PMSx003, opciones:

Familia PMSx003

PMS7003 es el que más he utilizado por lo delgado pero cualquier modelo de la familia PMSx003 funciona.

Link desde Aliexpress China: Aliexpress

Los Plantower son los sensores que más se consiguen en Latinoamerica.


Conexiones:

Shield --- > PMSx003

GND ---> Pin 1 del conector

+5   ---> Pin 3 del conector

5     ---> Pin 9 del conector

Shield PMS

Video explicativo (aplica para el LibrePM25):

El video aplica para nuestro caso pero en lugar de conectar los 4 cables del sensor de CO2 lo cambias por los 3 del PMSx003 y listo.


2. Programar el Firmware (código en el Arduino)

Existen 3 opciones para programar el Arduino: la más sencilla es usar un teléfono Android y un cable USB OTG, la siguiente es usar un PC con el software Xloader y la última instalando Arduino en un PC.

1. Teléfono Android.

USB OTG cable

  • Conecta el cable USB OTG al teléfono.
  • Instala la app de Android "Arduino Hex Uploader-Firmware Bin Upload".
  • Baja el archivo .hex file de este "Directorio de Google drive" basado en la versión de tu sensor (Shield y marca de sensor). Encuentra el archivo .hex que vas cargar en el Arduino, cada versión de sensor se encuentra disponible el el directorio "hex files". "LibrePM25_MFShield_PMSx003.hex" es el arhivo para el sensor Plantower con el Shield Multifunción.
  • Busca el archivo .hex en tú teléfono.
  • Sube el código a tu tarjeta Arduino.
  • FIN.

Video de programación de el Firmware:

Link compra Cable OTG USB Aliexpress, Link compra Colombia, Compra Latinoamérica: Mercadolibre o tiendas de electrónica.

2. Usando tu PC con el software Xloader (sólo Windows):

  1. Conecta el Arduino a tu computador y espera a que el driver se instale automáticamente. Si el driver no se instala automáticamente debes identificar si tu Arduino es original o una copia:

1.1. Si el Arduino es original, instala el paquete Arduino con drivers: https://www.arduino.cc/en/Guide/ArduinoUno

1.2. Si el Arduino es copia china sigue las instrucciones de esta página web: https://learn.sparkfun.com/tutorials/how-to-install-ch340-drivers

  1. Después de instalado el driver, tienes 2 opciones:

2.1. Si lo único que quieres es programar el Arduino desde Windows sin tener que ver el código y compilarlo, usa el software Xloader que se encuentra en la carpeta del mismo nombre:

Xloader

A la izquierda se muestra la ventana del Xloader cuando se inicia.

2.1.1. Explora hasta encontrar el achivo .hex que vas a cargar en el Arduino. Cada versión de sensor se encuentra disponible en el directorio "hex files". Ejemplo: "LibrePM25_MFShield_PMSx003.hex" es el archivo para el sensor Plantower con el uso del Escudo Multifunción (Shield). Usa el siguiente enlace de Google Drive para bajar el archivo .hex::

https://drive.google.com/drive/folders/1FxXLVhaGF6UCVObQlh8cVLddyWyQqUT0

2.1.2. Selecciona la tarjeta Arduino que estas usando (Uno/ATmega328).

2.1.3. Selecciona el puerto de comunicaciones COM al que está conectado el Arduino, si no lo sabes buscalo en el Admnistrador de dispositivos "Puertos COM y LPT".

2.1.4. Selecciona la velocidad Baud rate a 115200.

2.1.5. Presiona el botón “Upload”.

2.1.6. Cuando el archivo .hex file se carga en el Arduino, foto a la derecha, sale el mensaje de "xxxxx bytes uploaded", si falla te saldrá el mensaje de "upload fails".

3. Si quieres editar y compilar el código instala el software Arduino en Windows, Mac o Linux:

https://www.arduino.cc/en/software

La siguiente guía explica como instalar Arduino en Windows, Mac o Linux y es muy completa: https://learn.sparkfun.com/tutorials/installing-arduino-ide/all

En Youtube existen cientos de tutoriales para instalar Arduino en diferentes sistemas operativos y aprender su programación, además puedes colaborar mejorando este código o crear tu propia versión.

3. Caja para el sensor.

Opciones iniciando por la más sencilla y económica:

3.1. Caja comercial de bajo costo.

Busca una caja plástica con un ancho similar al del Arduino y un largo mayor para que en el espacio sobrante ubiques el sensor. En el espacio sobrante perfora varios huecos por dónde entre aire para el mismo, en mi caso los hice con destornillador de 4mm. Haz otro hueco para el cable USB y el adaptador y listo. Ejemplo (las fotos son de un LibreCO2 pero aplica igual):

Caja1

Puedes acomodar cajas plásticas de diferentes tamaños, en el siguiente caso se usa una espuma debajo porque la caja es más alta:

Caja2

3.2. Caja en madera MDF usando corte láser. Pendiente.

3.3. Caja en PLA con impresora 3D. Pendiente

4. Funcionamiento del sensor.

Sólo es conectar el sensor al teléfono móvil por el cable OTG o a una batería externa, el sensor muestra el material particulado PM2.5 actual y lo refresca cada segundo.


Contacto

Si tienes alguna duda, bug, aporte o comentario escríbeme al correo electrónico danielbernalb@gmail.com o la cuenta de twitter @danielbernalb Más información en la página web: "Aire ciudadano"