DISEÑO E IMPLEMENTACIÓN DE UN PROTOTIPO PARA LA...
Transcript of DISEÑO E IMPLEMENTACIÓN DE UN PROTOTIPO PARA LA...
DISEÑO E IMPLEMENTACIÓN DE UN PROTOTIPO PARA LA MEDICIÓN
Y ENVÍO DE DATOS DE UN CONTENEDOR DE RESIDUOS E INTERFAZ
GRAFICA PARA EL MANEJO DE GESTION DE RESIDUOS
VARGAS RINCON FABIÁN FELIPE
PAIPA CELIS MIGUEL ANGEL
DIRIGIDO POR:
PH.D, MSC. ROBERTO FERRO ESCOBAR
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS
FACULTAD DE INGENIERÍA
INGENIERÍA ELECTRÓNICA
BOGOTÁ D.C.
2016
DISEÑO E IMPLEMENTACIÓN DE UN PROTOTIPO PARA LA MEDICIÓN Y
ENVÍO DE DATOS DE UN CONTENEDOR DE RESIDUOS E INTERFAZ
GRÁFICA PARA EL MANEJO DE GESTIÓN DE RESIDUOS
VARGAS RINCON FABIÁN FELIPE
20082005085
PAIPA CELIS MIGUEL ANGEL
20072005052
Trabajo de grado para optar al título de
Ingeniero Electrónico
DIRIGIDO POR:
PH.D, MSC. ROBERTO FERRO ESCOBAR
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS
FACULTAD DE INGENIERÍA
INGENIERÍA ELECTRÓNICA
BOGOTÁ D.C.
2016
Dedico esta Monografía a Dios, nuestras
familias, amigos y compañeros, quienes nos
guiaron y apoyaron en el proceso de
nuestra vida académica en la universidad, y
a aquellos que hicieron parte fundamental
en nuestra etapa de desarrollo como
futuros ingenieros.
A los docentes que nos instruyeron para
formarnos como profesionales y a nuestro
director y revisor de monografía quienes
nos ayudaron a lograr las metas deseadas,
Todo este trabajo ha sido posible gracias a
ellos.
DERECHOS DE AUTORES
Nosotros, Vargas Rincón Fabián Felipe y Paipa Celis Miguel Ángel Declaramos bajo
juramento que el trabajo aquí contenido es de nuestra autoría; que no ha sido presentado para
ningún grado o calificación profesional; que para la realización del mismo se ha consultado,
recopilado y referenciado información de diversas fuentes, las mismas que se incluyen en la
bibliografía de este documento. Por tanto también declaramos que en caso de que si este
documento es utilizado con fines de desarrollo o consulta se le haga el proceso legitimo legal
frente a su utilización.
Firma: -------------------------------------------------------
Vargas Rincón Fabián Felipe
Firma: -------------------------------------------------------
Paipa Celis Miguel Angel
Resumen
El presente documento explica el proceso, elaboración y desarrollo que se llevó a cabo para la
implementación de un sistema, que permita el sensado y envío de datos en un contenedor de
residuos a una red central (Servidor Web), para ello se dividió el proceso en 3 etapas, la
etapa de medición, comunicación y visualización de los datos. Este documento menciona el
proceso llevado en cada una de las etapas, siguiendo un proceso de análisis, desarrollo
pruebas, experimentación y resultados, donde se llevaron a cabo los objetivos planteados en
esta monografía.
Abstract
In this paper is show about the process, preparation and development carried out for the
implementation of a system that allows the census, and sending data in a waste container to a
core network (Web Server), this paper explain to It showed that there are 3 stages, stage sensing,
communication and data visualization. This document mentions the process carried in each
stage, following a process of analysis, development testing, and results obtained. Where this
document are comply with the objectives purpose.
Tabla de contenido
1. Introducción ………………………………………………………………………………16
2. Marco teórico……………………………………………………………………………….18
2.1. El RSU, el reciclaje y normatividad de los residuos en Colombia………………………18
2.2. Sensores………………………………………………………………………………….20
2.3.Modulos Zigbee…………………………………………………………………………..21
2.4. Wireless Sensor Networks e internet de las cosas……………………………………….23
2.5 Rpasberry Pi……………………………………………………………………………..25
2.6. Datos históricos en el área de Bogotá………………………………………..………27
2.7. Criterio de selección de recolección……………………………………………………...30
2.7. 1. Frecuencia de llenado………………………………………………………………….30
2.7. 2. Nivel de residuos………………………………………………………………………31
2.7. 3. Temperatura……………………………………………………………………………34
2.7. 4 Humedad………………………………………………………………………………..37
2.7. 5. Peso, volumen y otros………………………………………………………………….42
2.7.6. Asignación de alerta según los parámetros…………………………………………..44
3.Metodologia y procesos…………………………………………………………………….46
3.1. Etapa de construcción y diseño del Hardware………………………………………….46
3.2. Etapa de implementación y programación para el establecimiento de la
comunicación…………………………………………………………………………………74
3.3. Etapa de implementación y programación para el establecimiento de la
comunicación.............................................................................................................................90
3.4. Proceso de desarrollo de la pagina web…………………………………………………..94
4. Resultados…………………………………………………………………………………..94
4.1. Resultados prototipo…………………………………………………………………….94
4.2. Resultados de la comunicación………………………………………………………..108
4.3. Resultados de la pagina web……………………………………………………………119
5.Trabajos futuros………………………………………………………………………….121
6.Conclusiones………………………………………………………………………………122
7.Referencias……………………………………………………………………………….123
8.Anexos……………………………………………………………………………………127
Lista de tablas
Tabla 1 Características de los dispositivos Xbee………………………………………...……22
Tabla 2 Características de los dispositivos Rapsberry…………………………………..…….27
Tabla 3 Temperaturas anuales en Bogotá……………………………………..………………28
Tabla 4 Temperaturas en diversas zonas de Bogotá, 2006……………………………….….. 28
Tabla 5 Tiempo de degradación de algunos materiales….………………………………... …32
Tabla 6 Tiempos de incubación y crecimiento de la mosca …….…………………………..34
Tabla 7 Asignación por temperatura al Valor DiasPredefinidos ……………………………...35
Tabla 8 Humedad residuos sólidos urbanos………………………………………………….38
Tabla 9 Categorización de contenedores……………………………………………………...44
Tabla 10 Tabla de Tipos, base de funcionamiento y selección de sensor de temperatura…46
Tabla 11 Tabla comparativa de sensores de humedad ……………………………………….48
Tabla 12 Tabla de Frecuencia de salida a 6600kHz para 55%RH…………………………..52
Tabla 13 Tabla comparativa de los sensores de temperatura y humedad……………………58
Tabla 14 Tabla comparativa de los sensores de nivel………………………………………..58
Tabla 15 Datos obtenidos por la caracterización del sensor de temperatura…………………60
Tabla 16. Tabla comparativa de los sensores de temperatura………………………………..62
Tabla 17. Tabla comparativa de sensores de presión………………………………………...66
Tabla 18. Tabla comparativa de Galgas extensiometricas……………………………………66
Tabla 19. Tabla de los resultados obtenidos con el sensor de humedad a diseño de los
autores…………………………………………………………………………………………99
Tabla 20. Tabla de los resultados obtenidos con el sensor de distancia en varios
materiales.................................................................................................................................102
Tabla 21. Tabla de datos obtenidos con el sensor de distancia bajo cierta circunstancia….103
Tabla 22. Tabla de datos obtenidos caracterización de peso………………………………104
Tabla 23. Tabla de datos obtenidos de la comunicación a diferentes distancias con xbee….115
Lista de Gráficas
Figura 1. Logotipo internacional del reciclaje……………………………………………….18
Figura 2. Bosquejo del funcionamiento del sensor de ultrasonido…………………………....19
Figura3.Imagen del Sensor de peso………………………………………………………….. 20
Figura 4. Protocolo de mensajería MQTT…………………………………………………….25
Figura 5. Tarjeta Rapsberry pi…………………………………………………………………26
Figura 6.Tabla de datos de humedad relativa en el año 2006………………………………….29
Figura 7. Datos de Humedad relativa en Bogotá, Agosto del 2016…………………………..29
Figura 8. Datos característicos y etapas del Compostaje………………………………………36
Figura 9. Mejores humedad para la salud humana…………………………………………….39
Figura 10.Tabla para hallar el punto de roció…………………………………………………41
Figura 11.Sensor de humedad HS101………………………………………………………...48
Figura 12. Configuración circuito Astable TLC555…………………………………………..49
Figura 13. Diagrama de flujo para la caracterización del sensor de humedad………………51
Figura 14. Configuración propuesta para el HS1101, propuesta por el fabricante..………….52
Figura 15. Diagrama de flujo de la caracterización del sensor por RC……………………….54
Figura 16. Diseño de circuito como fuente de corriente………………………………………55
Figura 17. Diseño del circuito para la oscilación del sensor de humedad…………………….56
Figura 18. Grafica de Corriente vs temperatura del LM35 y sensor LM35…………………..59
Figura 19. Sensor HCSR04 de ultrasonido……………………………………………………63
Figura 20. Funcionamiento del sensor HCSr04………………………………………………63
Figura 21. Diagrama de flujo del código del sensor HC SR04………………………………65
Figura 22.Celda de carga de 50 Kg…………………………………………………………...67
Figura 23. Puente Wheastone en celdas de carga semiconductoras…………………………..68
Figura 24. Conexión con Operacional de instrumentación y el sensor de peso………………69
Figura 25. Sensor HX711……………………………………………………………………..69
Figura 26. Funcionamiento sensor HX711……………………………………………………70
Figura 27. Atmega 328p……………………………………………………………………....71
Figura 28. Diagrama de flujo del funcionamiento del microcontrolador…………………….72
Figura 29. Corriente de alimentación en modo ahorro de energía…………………………...74
Figura 30. Xbee pro s3…………………………………………………………………….…75
Figura 31. Flujo de datos de los módulos Xbee……………………………………………....76
Figura 32. Asignación de roles en xbee ……………………………………………………...77
Figura33. Esquema clásico de conexión microcontrolador…………………………………...77
Figura34. Software de estado para un módulo xctu……………………………………………79
Figura35.Secciones del sistema de pruebas de comunicación xbees………………………….80
Figura36.Características para la comunicación del puerto serial Xbee………………………..80
Figura37. . Grafica de potencia de transmisión y envió de paquetes en el transcurso de tiempo
real……………………………………………………………………………………………81
Figura38.Mensaje para el sistema Payload-trama del mensaje……………………………….82
Figura39 Tabla comparativa de pérdidas por inserción en distintos materiales…………….83
Fig.40 Fenómeno de difracción………………………………………………………………84
Fig.41. Fenómeno de difracción………………………………………………………………84
Fig.42 Fenómeno de dispersión……………………………………………………………….85
Figura43. Proceso conexión Broker-cliente…………………………………………………..87
Figura44. Proceso suscripción único nivel tema…………………………………………..…89
Figura 45. Proceso suscripción tema multiniveles……………………………………………90
Figura 46. Diagrama de casos de uso de los usuarios en la página web…………………….95
Figura 47. Logotipo API google maps……………………………………………………..…96
Figura 48.Conexion del sensor de temperatura……………………………………………….97
Figura 49.Resultados caracterización del sensor de temperatura vs la tomada por el
termómetro………………………………………………………………………………….98
Figura 50.Resultados caracterización del sensor de temperatura con ajuste vs la medida por el
termómetro …………………………………………………………………………………...98
Figura 51. Rangos máximos y mínimo del sensor de temperatura según fabricante…………99
Figura 52. Resultados del diseño para el sensor de humedad capacitivo diseñado por los
autores………………………………………………………………………………………100
Figura 53.Resultados de la implementación del sensor de humedad dados por el fabricante
.................................................................................................................................................100
Figura 54. Diseño de conexión del sensor de nivel………………………………………….101
Figura 55. Conexiones puente Whinstone, HX711………………………………………….104
Figura 56.Resultados caracterización del sensor de peso……………………………………104
Figura 57. Opciones de las estructuras a utilizar para equilibrar el peso……………………105
Figura 58. Estructura obtenida ………………………………………………………………106
Figura 59. Diseño de baquelita superior……………………………………………………..107
Figura60. Diseño de baquelita inferior………………………………………………………107
Figura61. Esquema conexión red de sensores -XBee - Raspberry-servidor (nube)……….108
Figura62. Prueba # 1: Sala GITEM a aproximadamente 4 metros de distancia…………….109
Figura63. Nodo fijo puesto en la Sala Gitem ………………………………………………..109
Figura64. Prueba # 2: Resultados obtenidos en la Sala Gitem a 5to piso U distrital,
aproximadamente 15m……………………………………………………………………….110
Figura65. Ubicación para la prueba del cuarto piso sede sabio Caldas……………………..110
Figura66. Prueba # 3: Resultados obtenidos en el Cuarto piso de la Universidad Distrital
Francisco José de Caldas, Sede Sabio Caldas, aproximadamente 20m de distancia con el punto
fijo……………………………………………………………………………………………111
Figura 67. Ubicación para la prueba del cuarto piso sede sabio Caldas……………………111
Figura68. Prueba # 4: Resultados obtenidos en el Tercer piso de la universidad Distrital
Francisco José de Caldas, Sede Sabio Caldas, aproximadamente 24m de distancia con el punto
fijo……………………………………………………………………………………………112
Figura 69. Ubicación para la prueba del tercer piso sede sabio Caldas……………………112
Figura70. Prueba # 5: Resultados obtenidos en el segundo Piso de la Universidad Distrital
Francisco José de caldas, Sede Sabio Caldas, aproximadamente 28m de distancia con el punto
fijo……………………………………………………………………………………………113
Figura71. Ubicación para la prueba del segundo piso sede sabio Caldas…………………113
Figura72. Prueba # 6: Resultados obtenidos en el Primer piso Universidad Distrital Francisco
José de Caldas, Sede Sabio Caldas, aproximadamente 38m de distancia con el punto fijo…...114
Figura73. Ubicación para la prueba del primer piso sede sabio Caldas…………………….114
Figura74. Codificación programa en Raspberry (Python)…………………………………116
Figura75.Logotipo mosquitto (Broker MQTT)……………………………………………116
Figura76.Configuración puertos mosquitto en archivo……………………………………117
Figura77. Codificación programa en Servidor (RITA)……………………………………...118
Figura78. Información tabla de datos en phpmyadmin……………………………………119
Figura79. Página de inicio de la página Web…………………………………………………119
Figura 80. Página de información a normatividad y contenedores…………………………...120
Figura 81. Sección de página explicando el funcionamiento del sistema de entrono grafico.120
Figura 82. Sección de página del funcionamiento del sistema………………………………..120
Figura 83. Diseño electrónico del prototipo…………………………………………………127
Figura 83. Estructura física para equilibrar el peso en el sensor………………………………127
Figura 84. Prototipo para la medición de las características en el contenedor…………….….127
Figura 85. Prototipo ajustado en la parte de la tapa inferior para la medición de las
características………………………………………………………………………………..127
Figura 86. Colocación de la estructura para el equilibrio de la medición de peso en los
residuos………………………………………………………………………………………128
Figura 87. Colocación del sensor de peso en el contenedor………………………………….128
Figura 88. Prototipo para el sensado en el contenedor asignado en la tapa inferior…………128
Figura 89. Prototipo para la medición y sus partes………………………………………….130
Figura 90. Conexión energética con batería al prototipo……………………………………130
1. Introducción
Mejorar la calidad de vida en la sociedad, es la prioridad en el desarrollo económico,
político y social del siglo XXI. Bajo el concepto de internet de las cosas; los objetos usados
en la vida cotidiana son implementados con protocolos de comunicación que les permita la
comunicación entre sí con los usuarios, haciendo parte de internet y logrando una interacción
más amplia entre los datos generados para gestionar nuevos servicios a la sociedad (Zanella,
Bui, Castellani, & Zorzi, 2014). Así mismo el uso de los recursos (tiempo, espacio, aire) es
campo de mejora continua para el desarrollo tecnológico actual y futuro.
Uno de los principales paradigmas enfocados en mejorar la calidad de vida de una
sociedad es el de "ciudades inteligentes", busca el progreso a través de la optimización del
tiempo (como compras, pagos en línea), supervisión y control de espacios (puertas, semáforos
que controlen tráfico vehicular o peatonal), entre otros (del tipo inteligente), control,
distribución y uso de servicios, etc. Para el progreso de la “ciudad inteligente”, uno de los
detalles imperantes es la gestión de residuos dentro del marco establecido en SWIFT (Smart
Wsn based Infraestructural Framework for Smart Transactions) (Nandury & Begum, 2015).
Tecnologías como WSN (wireless sensor networks) logran mediante una red de sensores
inalámbricos, solventar de alguna forma este inconveniente; planteando soluciones donde se
abarca el diseño de una red inteligente que es capaz de transmitir y compartir información
mediante nodos, para poder llevar a cabo una tarea específica y recopilar dicha información,
para hacerla disponible en internet y tomar medidas necesarias.
La tecnología WSmM ha sido implementada sobre el protocolo IEEE 802.15.4
utilizado en varias aplicaciones para monitorear escenarios donde la infraestructura alámbrica
de redes, es un factor limitante en la implementación de un sistema de sensores. Además de
lograr un bajo consumo energético en la gestión y transmisión de datos, los módulos Zigbee
están desarrollados para realizar dichas tareas. El propósito final del proyecto es: realizar un
prototipo funcional de un sistema integrado de sensores, microcontroladores y software de
mensajería que establezca una interconexión entre el usuario y el elemento a sensar, mediante
internet, Para así proseguir en el despliegue de la aplicación, poder analizar la información y
almacenarla mediante bases de datos (Tiwari, Parthasarathy, Chatterjee & Krishna 2013).
2. Marco teórico
Para el diseño, implementación del modelo y la implementación de software fue necesaria
realizar algunas consultas que fueron base para la elaboración, proceso y finalidad del
proyecto, por tanto son elementos que fueron imprescindible para la culminación del proyecto
y su mención es necesaria.
2.1. El RSU, el reciclaje y normatividad de la gestión de residuos en Colombia
Los residuos sólidos urbanos. (RSU) son los residuos que no son del tipo gaseosos o
líquido, y se generan usualmente en domicilios residenciales, industriales, oficinas, servicios y
centros urbanos. Para el aprovechamiento de los residuos sólidos se utiliza el reciclaje, el cual
es el proceso mediante el cual se transforman materiales usados, que podrían parecer
inutilizables o desechables en recursos muy valiosos, tanto para la económica, el ambiente,
para la generación de energía, para reutilizarse, entre otras.
Figura 1. Logotipo internacional del reciclaje
Algunos de los beneficios del reciclaje son:
Reduce la necesidad de vertederos de basura y la incineración de esta.
Reduce las emisiones de efecto de gas invernadero, contribuyendo así a ralentizar la
perdida de capa de ozono.
Ahorra recursos primarios como lo son el agua, la madera y los minerales
Evita la contaminación por la creación de nuevos objetos realizados con materiales
primarios. (RECICLAJE Y SU APORTE EN LA EDUCACIÓN AMBIENTAL,
Álvarez Carina).
La norma GTC 024 es la encargada de regir y dar norma a la recolección de residuos en
Colombia y por ende a Bogotá, donde hace mención de que los ciudadanos deban dividir sus
residuos de acuerdo a los siguientes contenidos:
En color verde irán los residuos de comida, Cortes y podas de comida vegetales
(residuos orgánicos).
En el color blanco deberán ir los residuos aprovechables como el cartón, papel, vidrio,
plásticos, residuos metálicos , textiles madera , cuero y empaques compuestos
En el color Negro deberán ir los residuos no aprovechables como el papel tissue , papeles
encerados, plastificados, cerámicas, vidrio plano, huesos, material de barrido, cotillas
de cigarrillo , materiales de empaque y embalajes sucios
En base a esta clasificación se elaboró el proyecto el cual está orientado para su
utilización sobre la rede de Bogotá.
2.2 Sensores
Son dispositivos capaces de medir magnitudes físicas o químicas y transformar esos
datos en otra magnitud usualmente eléctrica o un desplazamiento con el fin de darle una nueva
escala, previamente conocida, los sensores están hechos de tal forma que se vean afectados
por el efecto físico que desean medir, ejemplo: un termómetro de mercurio se dilata
dependiendo de la temperatura que mide (Instrumentación Industrial, Antonio Creus). Los
sensores que se utilizaron para este proyecto fueron:
Sensor de nivel
Son sensores que se encargar de medir la distancia en m entre una superficie fija y una
superficie o liquido cambiante bien midiéndola directamente la altura de líquido sobre una
línea de referencia o bien el desplazamiento producido en un rotador por el propio líquido
contenido en el tanque del proceso, para mediciones de líquidos, (Instrumentación Industrial,
Antonio Creus).
Figura 2. Bosquejo del funcionamiento del sensor de ultrasonido. Recuperado de
http://www.measureinstruments.com.ar/Medidor_humedad_suelos_MI-9_SH-9.html
Sensor de presión o peso
Es un sensor que detecta los cambios de peso aplicados sobre el sensor, basándose en la
presión por medio de la gravedad sobre una pieza previamente fijada los más utilizados son el
sensor por presión lateral y el sensor por inflexión (Instrumentación Industrial, Antonio
Creus).
Figura 3. Imagen del Sensor de peso.
2.3. Módulos Zigbee
Es un estándar de comunicaciones, está basado en el estándar IEEE 802.15.4 de redes
inalámbricas de área personal (wireless personal área Newark, WPAN) y se utiliza en él envió
de información que requiere comunicaciones seguras con baja tasa de envío de datos. Los
módulos Zigbee pueden alcanzar hasta 75 m, su frecuencia se encuentra en los 2,4 Ghz
(Banda libre de frecuencia a nivel mundial).La siguiente tabla muestra algunas de las
características de los módulos zigbee.
El módulo Zigbee puede comunicarse con otros módulos zigbee, por lo que se pueden
configurar dependiendo de si reciben y/o transmiten información. A continuación, se
presentan las especificaciones técnicas de los módulos zigbee (G. H. Z., Transceiver, R. F)
Tabla 1.
Características de los dispositivos Xbee.
PROPIEDAD RANGOS
Banda de frecuencia 2.4 GHz
Alcance (2 a 75) m
Latencia Por debajo de 15 milisegundos
Número de Canales 16
Modo de direccionamiento 8 bits de 64 bits de direccionamiento
Canal de acceso CSMA-CA
Seguridad 128 AES
Red Hasta 264 dispositivos
Rangos de temperatura (-40 a 85) ºC
Los ZigBee son dispositivos que pueden ser configurados en tres tipos distintos
de dispositivo ZigBee según su papel en la red:
Coordinador ZigBee (ZigBee Coordinator, ZC)
El tipo de dispositivo más completo. Debe existir uno por red. Sus funciones son las de
encargarse de controlar la red y los caminos que deben seguir los dispositivos para conectarse
entre ellos, requiere memoria y capacidad de computación.
Router ZigBee (ZigBee Router, ZR)
Interconecta dispositivos separados en la topología de la red, además de ofrecer un nivel
de aplicación para la ejecución de código de usuario, puede ser utilizado para transmitir y enviar
información.
Dispositivo final (ZigBee End Device, ZED)
Posee la funcionalidad necesaria para comunicarse con su nodo padre (el coordinador o
un router), pero no puede transmitir información destinada a otros dispositivos, limitándose solo
a recibir información.
2.4. Wireless sensor Networks e internet de las cosas (IoT)
Se basan en dispositivos de bajo coste y consumo (nodos) que son capaces de obtener
información de su entorno, procesarla localmente, y comunicarla a través de enlaces
inalámbricos hasta un nodo central de coordinación.
En diferentes países y regiones existen avances e ideas con respecto a la recolección
de residuos, una de las más completas es la de "Integrated Sensing and Communication
Technologies for Automated Solid Waste Bin Monitoring System" de Md. Abdulla Al
Mamun, M. A. Hannan, Md. Shafiqul Islam, Aini Hussain quienes realizaron un sistema de
recolección de residuos inteligente con 3 partes fundamentales, la parte de consta de los
contenedores con sus sensores de peso, temperatura, humedad y nivel de residuos, la segunda
parte consta de la comunicación y los elementos necesarios para él envió de datos y la tercer
parte consta de la estación base, la encargada de la recepción de todos los datos. (Wireless
sensor networks: Current status and future trends. CRC Press).
IEEE 805.15.4
Protocolo para comunicación WSN, dicho estándar fue desarrollado teniendo en
cuenta tasas de transmisión bajas para aplicaciones con baterías y conectividad simple. Se
especifica la comunicación en las bandas (868 a 868.8) MHz, (902 a 928) MHz y (2.400 a
2.483) GHz por tanto la última es la más usada actualmente.
Según el estándar se especifica una tasa de transmisión de 250 kbps y usa el direct
sequence spread spectrum con QPSK desplazada y pulsos semisenusoidal para su modulación
en la transmisión.
Se establecen comunicaciones punto a punto o punto multipunto dando posibilidad a
configuraciones con topología estrella o árbol, coordinador central y nodos remotos (Informe
Técnico: Protocolo ZigBee (IEEE 802.15.4)).
Protocolo MQTT
El protocolo de mensajería MQTT (Message Queue Telemetry Transport) trabaja
mediante el servicio de publicación y suscripción, se maneja en la idea del cliente servidor,
MQTT es diseñado para dispositivos con limitaciones en ancho de banda, alta latencia y redes
poco fiables, está orientado al uso de sensores con bajo consumo de recursos (CPU, RAM,
etc) basado en el protocolo TCP/IP.
Usa topología en estrella la cual posee un nodo central (Broker) encargado de gestionar
la red y la transmisión de los mensajes, el cliente envía un paquete periódicamente y esperan
la respuesta del Broker. Además deciden qué tipo de información quieren recibir; es decir, usa
un modo jerárquico el cual el acceso a dicha información se hace mediante una “suscripción al
tópico” o tema en específico (AN INTRODUCTION TO MQTT, A PROTOCOL FOR M2M
AND IoT APPLICATIONS). MQTT define 3 niveles de Calidad de Servicio (QoS), los cuales
establecen la prioridad del mensaje enviado entre el bróker y el suscriptor:
0 no requiere confirmación por parte del suscriptor y se envía una sola vez el mensaje.
1 requiere confirmación por parte del suscriptor y se envía más de una vez si es
necesario.
2 requiere confirmación por parte del suscriptor, se envía una sola vez y el emisor
(Publisher) utiliza un medio seguro con el bróker para evitar la duplicación de los
mensajes. El proceso se realiza más lento y al mismo tiempo más seguro.
Todos los mensajes retenidos por el bróker podrán ser enviados a nuevos suscriptores en
el tiempo y se actualizarán dichos datos si el publicador envía nueva información del tema
(topic), los suscriptores recibirán esta información actualizada en un mensaje (Tiwari,
Parthasarathy, Chatterjee & Krishna 2013).
Figura 4. Protocolo de mensajería MQTT
2.5. RaspBerry Pi
Es un ordenador de placa simple (SBC), que puede ser utilizado en proyectos de
electrónica, muchos de las cosas que hace el PC de escritorio, como hojas de cálculo,
procesamiento de textos , navegación por internet , y jugar juegos , entre otras (Raspberry PI
Projects book).
Figura 5. Tarjeta Raspberry pi
Las características que se pueden encontrar entre los diferentes Raspberry están
definidas en los siguientes valores y rangos (teniendo en cuenta el primer modelo de la
Raspberry hasta el modelo de la Raspberry pi B+)
Tabla 2.
Características de los dispositivos Raspberry.
PROPIEDAD CARACTERISTICAS
SoC BROADCOM BCM2835
CPU ARM11 ARMV6
700 MHZ
Memoria RAM (256 A 512) MB LPDDR
SDRAM
400 MHZ.
Puertos USB 1,2,4
GPIO (26 a 40) pines
Video HDMI 1.4 1920X1200
Almacenamiento SD – micro SD
Ethernet 10/100MBPS Disponible desde el modelo B
Tamaño 85,60X56, 5 MM, 65X56,5 MM.
Peso en gr. 23, 45
2.6. Datos históricos en el área de Bogotá
Debido a que el proyecto se planteó en un área geográfica específica, los autores
consideraron que era recomendable adecuar el prototipo en base a las características de estas
zonas, ya que como se explica más adelante, la temperatura de una zona influye sobre los
residuos y así mismos cambiaría el proceso tanto de recolección como la del prototipo; Se
realizaron consultas históricas sobre la humedad y la temperatura en la ciudad de Bogotá, con
el fin de encontrar los valores regulares con los que se podría encontrarse el sistema. En uno
de los registros, informan que en el clima en Bogotá ha tenido las características ilustradas
en la tabla 3 durante los últimos 6 años (datos recuperados de
http://www.tutiempo.net/clima/Bogota_Eldorado/802220.htm):
Tabla 3.
Temperaturas anuales en Bogotá
AÑO
temperatura media
anual T/°C
Temperatura máxima
media anual T/°C
Temperatura mínima
media anual T/°C
2015 14,1 20 9
2014 13,8 19,6 8,9
2013 13,8 19,8 8,6
2012 13,5 19,5 8,6
2011 13,8 19,9 9,6
2010 13,9 20,4 9,1
Se encontró otro estudio realizado en el área de Bogotá, hecha, IDEAM Y FOPAE
(2007) donde describen y muestran los diferentes datos que hay en las cercanías del rio
Tunjuelito, zonas de mayor cambio de humedad y temperatura en el área de Bogotá, dentro
de los datos más relevantes para este proyecto se encontró:
Tabla 4.
Temperaturas en diversas zonas de Bogotá, 2006
Zona
Temperatura
máxima media
T/°C
Temperatura
mínima media
T/°C
APTO EL DORADO 19,2 7,5
APTO GUAYMARAL 19,3 7
EXC.COL DE
INGENIERIA 19,3 7
GRANJA SAN JORGE 16 7,1
HDA LAS VEGAS 19,7 7,9
JARDIN BOTANICO 20,2 8,4
univ. Nacional 19,4 91
venado de oro 18,1 8,6
Figura 6. Tabla de la humedad relativa en el año 2006, Bogotá de IDEAM Y FOPAE (2007).
También a través de la herramienta encontrada en
http://www.woespana.es/weather/maps/city desarrollada por CIOH (Oceanografía
operacional), es posible encontrar un registro histórico de la humedad y temperatura en
Bogotá atreves de varios años , dando a conocer los datos de climáticos en la historia de
Bogotá en diversas épocas, algunos de los de los datos más recientes que pueden encontrarse
son los relacionados al mes de agosto del año 2016, donde la herramienta registra los
siguientes datos con respecto a la humedad relativa:
Figura 7. Datos de Humedad relativa en Bogotá, Agosto del 2016
De los datos ilustrados se puede asumir que la temperatura en la ciudad de Bogotá se
encuentra entre (0 – 20) °C mientras que la humedad en la Capital se encuentra entre un rango
mayor al de 60 %.
2.7. Criterio de selección de recolección
Para poder establecer las diferentes señales de alerta, las cuales son ilustradas en la
interfaz gráfica para los diferentes usuarios y entes que intervenga en la recolección de
residuos fue necesario establecer algunos criterios en los diferentes parámetros sensados para
la definición de estas señales.
Debido a que el proyecto está enfocado hacia las características en el sensado de los
contenedores, se verá que en las ecuaciones aquí descritas solo se tiene en cuenta las variables
mencionadas que influyen directamente sobre las mediciones, por tanto en las ecuaciones no
se están teniendo en cuenta ni aplicando varios de los factores que podrían contribuir a una
mejor formulación o criterio de selección tales como, lo son la población en el sector, el sector
donde se aplica el proyecto, promedio de basura por persona, costos, entre otros.
2.7. 1. Frecuencia de llenado
La frecuencia de llenado establece que tan seguido y rápido se llena los contenedores en
un contenedor o punto ecológico en específico permitiendo saber en qué momento es debida
su recolección siendo inherente a los otros factores (aunque los tiempos pueden ser variantes,
con base a los otros parámetros, como lo sería la recolección en navidad o en verano) pues en
la actualidad es la variable con mayor factor de decisión en la mayoría de los programas de
recolección de residuos en Latinoamérica (Alejandrina Sáez y Joheni A, 2004), generando
recolecciones cada tercer día o en un tiempo ya estipulado por orden gubernamental debido a
este factor .Los autores consideran este factor importante ya que por ejemplo si un contenedor
está a un 70 % de su capacidad junto con la información previa de su frecuencia de llenado
podría o no ser necesario ir por la recolección de este pues bien el llenado puede tardar días o
solo horas para que este llegue a su tope máximo. Para establecer la frecuencia de llenado se
observa el número de veces que es ingresado los residuos y su variación de nivel durante una
determinada cantidad de tiempo. Aunque este dato es muy relevante para la recolección, no
será tenido en cuenta para la ecuación de alerta de recolección, debido a que es un dato que
es más provechoso en la gestión de enrutamiento y recolección de residuos vehicular.
𝑓𝑟𝑒𝑐. 𝑑𝑒. 𝑙𝑙𝑒𝑛𝑎𝑑𝑜 =(
∑∆𝑛𝑖𝑣𝑒𝑙𝑁ª𝑑𝑒𝑖𝑛𝑔𝑟𝑒𝑠𝑜𝑠
)
𝑇𝑖𝑒𝑚𝑝𝑜[(𝑎𝑢𝑚𝑒𝑛𝑡𝑜𝑑𝑒𝑛𝑖𝑣𝑒𝑙) 𝑐𝑚 𝑑𝑖𝑎𝑠⁄ ]
2.7. 2. Nivel de residuos
En la actualidad el nivel de residuos es el otro de los factores más tenido en cuenta para
la recolección de residuos pues frente a un contenedor lleno, los otros factores pasan a ser
casi irrelevantes sin embargo cuando se tienen en cuenta los otros factores como la
temperatura procesos de biodegradación entre otros el nivel de residuos obtiene un valor
diferente de importancia dependiendo el contenido del contenedor; Para tener en cuenta el
valor de selección según el nivel solo es necesario conocer la máxima capacidad del recipiente
y su nivel actual.
𝑆𝑒𝑙𝑒𝑐𝑐𝑖𝑜𝑛𝑁𝑖𝑣𝑒𝑙 =𝑛𝑖𝑣𝑒𝑙𝑎𝑐𝑡𝑢𝑎𝑙
𝑛𝑖𝑣𝑒𝑙𝑚𝑎𝑥𝑖𝑚𝑜∗ 100
Para definir el grado de importancia en que tendrá la selección de acorde el nivel de los
residuos, este adquiere o disminuye porcentaje de importancia de acorde al contenido que
tenga el contenedor debido a que su periodo de putrefacción o tiempo de biodegradación
cambia de tal manera que su recolección deba ser más pronta, en la tabla 5 se presentan la
biodegradación de algunos materiales:
Tabla 5.
Tiempo de degradación de algunos materiales
Tipo de Material Tiempo Aproximado de degradación
Papel (2 a 5) meses
Cascara de naranja 6 meses
Cascara de lana (1 a 5) años
Colillas de cigarrillo (1 a 12) años
Piel de animal tratada (25 a 40) años
Tela Nylon (30 a 40) años
Latas de aluminio (80 a 100) años
Botellas de vidrio (1000 a 4000) años
Llantas de auto 500 años
Chicles 5 años
Botellas de plástico (100 a 1000) años
Papel 3 semanas a 2 meses
Estaca de madera (2 a 3) años
Plástico 500 años
Vidrio indefinido
Como se puede observar en los residuos, los tiempos de descomposición varían en base
al material lo que conlleva a que se pueda asignar una importancia en el nivel del contenedor
de forma empírica de acorde a estos tiempos, sin embargo se menciona que al estar en un
contenedor los tiempos son más extensos debido a que están menos expuestos al aire, calor y
otros factores que contribuyen a la descomposición, además de que el principal propósito del
reciclaje es aprovechar los materiales lo más pronto posible por lo que las asignaciones
pueden tomar otros valores de acorde a lo que se quiera hacer con los residuos. Las
relevancias porcentuales asignadas por los autores en cuanto al nivel de los residuos se
asignan de la siguiente forma:
Contenedor de residuos orgánicos: Como se observa en la tabla 5 los residuos orgánicos
son los más rápidos en degradarse, ya que el nivel en los contenedores no tiene que ver
directamente con la degradación sele asigno un peso de 0.4, para darle importancia a otras
variables.
Contenedor de residuos aprovechables: La mayoría de los residuos aprovechables como se
vio en la tabla 5 tarda años en degradarse y debido a la poca humedad que suele haber en el
contenedor de estos residuos, los factores de salubridad son los mejores para dejar los residuos
un considerable tiempo por tanto se le dio un peso de 0.6 a esta variable en el factor de
recolección de residuos, ya que en cuanto a la variable del nivel solo influiría el “que tan
rápido se deseen aprovechar”.
Contenedor de residuos no aprovechables: Los residuos no aprovechables suelen ser
variados, hay residuos como las colillas de cigarrillo que generan muy poco impacto
ambiental o de salubridad permitiéndoles estar un gran tiempo en el contenedor y hay otros
como los paños húmedos, papel sanitario utilizado, entre otras los cuales sí representan un
problema de salubridad por tanto el nivel para este caso es de 0.5 para que las variables de
humedad y temperatura puedan tener mayor decisión sobre este contenedor
2.7. 3. Temperatura
Aunque la temperatura y la humedad son variables que va un tanto de la mano pues
afectan e influyen de una manera similar a los contenedores, son factores que ayudan a
determinar el grado de descomposición, oxidación entre otros. Además de que el crecimiento
de una suele incidir en el crecimiento de la otra; Sin embargo tanto la temperatura como la
humedad tienen diferenciales propios que influyen en la recolección como es el caso de la
incubación de las moscas donde es posible establecer que la influencia de la temperatura
ejerce cambios directos en el proceso de incubación, crecimiento y reproducción de las
moscas tal y como se muestra en la tabla 6 (Gòmez, 2005) , donde se observa que a mayor
temperatura el ciclo de vida de la mosca será más rápido, multiplicándose exponencialmente
las mismas y por tanto trayendo mayor insalubridad.
Tabla 6.
Tiempos de incubación y crecimiento de la mosca
Temperatura
T/ °C
Días huevo y larva Días pupa Días ciclo
completo
11 57 13.7 70-71
15 18 8 26
20 8 6.3 14-15
25 5 4.2 9-10
27.5 4 3.2 7-8
30 4 3.4 7-8
Tabla extraída de la revista “SECA”, (Gòmez, 2005)
Para poder establecer la ecuación que defina el criterio de selección en base a la
temperatura es necesario conocer la temperatura promedio que ha tenido el contenedor ya que
en caso de que los residuos se hayan ingresados con larvas de moscas (frecuentes en los
residuos orgánicos) se pueda establecer cuando estarán en un estado más avanzado para ello
se utilizara la variable 𝐷𝑖𝑎𝑠𝑃𝑟𝑒𝑑𝑒𝑓𝑖𝑛𝑖𝑑𝑜𝑠 la cual se le asignara el siguiente valor:
Tabla 7.
Asignación por temperatura al Valor 𝐷𝑖𝑎𝑠𝑃𝑟𝑒𝑑𝑒𝑓𝑖𝑛𝑖𝑑𝑜𝑠
Temp promedio
T/°C
Valor 𝐷𝑖𝑎𝑠𝑃𝑟𝑒𝑑𝑒𝑓𝑖𝑛𝑖𝑑𝑜𝑠
0 a 11 70
12 a 15 26
16 a20 14
21 a 25 10
25 a 27.5 8
27.5 a 30 8
La temperatura además de afectar a las moscas, también incide a nivel celular en los
diferentes tipos de materiales donde puede llegar a deformarlos dependiendo de su
composición los más cercanos a la una deformación cercana a la temperatura ambiental son
los materiales de plástico como explican en
https://www.upv.es/materiales/Fcm/Fcm15/fcm15_4.html, Aunque se observa que las
temperaturas están bastante por encima de la temperatura media de Bogotá, no es del todo
descartable la opción de que no se den los casos ya que existen lugares en el mundo donde se
ha llegado a esas temperaturas, además de que existe la posibilidad de un descuido de parte
del usuario ( cerilla del cigarrillo prendido, reacción por calor de un fosforo , entre otros).
La temperatura también afecta al proceso de degradación y compostaje que es raro pero
posible que se de en un contenedor donde hay puntos de temperatura que deben ser tenidos en
cuenta como cuando el compostaje pasa de la fase de misofilia a termofónica en los 40ª
C(Barone, F. S,1998), lo que conlleva a que no se aproveche el máximo de sus proteínas del
proceso de compostaje, Por ultimo Yan Ru Zhao (2016), hace mención que para que haya
un rango apropiado para mejorar la biodegradación en los residuos esta debería ser entre los
(22 a 45) ºC, resultado obtenido mediante 3 formas de controlar la temperatura.
Figura 8. Datos característicos y etapas del Compostaje,
http://www.infoagro.com/hortalizas/factores_influyen_compostaje_residuos.htm
Con base a los argumentos aquí planteados se llega a la conclusión de que la temperatura
en 40ªC comienza a influenciar en los residuos de una manera negativa o no controlada,
además de que el incremento de temperatura en los residuos, influencia al contenido de tal
forma que acelera el proceso de descomposición y su vez los autores recomiendan que se dé la
recolección en esta temperatura, la ecuación propuesta para la decisión de recolección por
temperatura es:
𝑆𝑒𝑙𝑒𝑐𝑐𝑖𝑜𝑛𝑇𝑒𝑚𝑝𝑒𝑟𝑎𝑡𝑢𝑟𝑎 = 𝑚𝑎𝑥{𝐷𝑖𝑎𝑠𝑡𝑟𝑎𝑛𝑠𝑐𝑢𝑟𝑟𝑖𝑑𝑜𝑠
𝐷𝑖𝑎𝑠𝑃𝑟𝑒𝑑𝑒𝑓𝑖𝑛𝑖𝑑𝑜𝑠∗ (
∑𝑉𝑎𝑙𝑜𝑟𝑒𝑠𝑀𝑢𝑒𝑠𝑡𝑟𝑎𝑠𝑇𝑒𝑚𝑝
𝑁ª𝑑𝑒𝑀𝑢𝑒𝑠𝑡𝑟𝑎𝑠𝑇𝑒𝑚𝑝) ;
(∑𝑉𝑎𝑙𝑜𝑟𝑒𝑠𝑀𝑢𝑒𝑠𝑡𝑟𝑎𝑠𝑇𝑒𝑚𝑝
𝑁ª𝑑𝑒𝑀𝑢𝑒𝑠𝑡𝑟𝑎𝑠𝑇𝑒𝑚𝑝)
40º𝐶
Las relevancias porcentuales propuestas por los autores en cuanto a la temperatura se
asignan de la siguiente forma:
Contenedor de residuos orgánicos: Como se observa en la figura 8. La temperatura es
proporcional a la descomposición de los residuos orgánicos, y su límite máximo esta en los
40ºC. Además de que estos residuos son los más propensos a atraer insectos y otros animales,
por tanto la influencia de la temperatura en este contenedor es bastante relevante por eso se le
asigna un peso de 0.3 para su recolección.
Contenedor de residuos aprovechables: La mayoría de los residuos aprovechables no son
afectados por la temperatura esperada en ellos sin embargo como se mencionó a una gran
temperatura de (40 a 50) ºC, comienza a haber deformaciones en algunos materiales, ya que
estadísticamente es poco probable que se llegue a este punto en base a los datos de la sección
2.6, se le asignara un peso menor de 0.2 para su recolección.
Contenedor de residuos no aprovechables: Los residuos no aprovechables suelen ser
variados, aunque en su mayoría son residuos que no se descomponen existe la posibilidad de
que sean ingresados residuos no aprovechables que sean “orgánicos”, como puede ser el caso
de un alimento afectado con un químico, huesos residuos de desechos en papel entre otros, en
base a ello este contenedor se le asigna un peso de 0.25 para su recolección.
2.7. 4 Humedad
Para medir la afectación de la humedad en el contenedor lo ideal para este caso sería
que los recipientes solo tengan un tipo de material además de que se pudiese tener contacto
directo con él, sin embargo ya que va a haber diversidad de tipos de residuos para medir la
humedad dentro del recipiente, es necesario realizar medida de la humedad en el aire es decir
la humedad relativa, de ella podemos adquirir datos como:
Material en el contenedor, los materiales pueden guardar una humedad en
específico es posible por tanto es posible establecer el material o el tipo de
materiales que se encuentran en un contenedor de acuerdo al grado de humedad
que se encuentre en el contenedor de acuerdo a la tabla 8.
Peso por humedad en el material, gracias a la medición del peso y la humedad es
posible entablar el incremento el peso que genera la humedad dato que también
aporta para establecer el material que está en el contenedor
Tabla 8.
Humedad residuos sólidos urbanos
Componentes Humedad en %
Sin Mezclar Mezclados
Orgánicos 68 65
Papel y Cartón 12 24
Plásticos 1 2
Madera 20 24
Textiles 12 19
Vidrios 2 3
Metales 2 2
Suciedad, cenizas, etc. 8
Cuero 10
Uno de los principales propósitos de establecer este sistema es mejorar la salud del
ciudadano común, en este caso a diferencia de las otras variables sensadas la humedad es una
variables que si llega a afectar directamente a una persona pues la humedad en grandes
proporciones es generadora de moho, enfermedades y en pequeñas dosis provoca resequedad,
irritaciones en los ojos y la piel entre otras Como se observa en la Figura 9 se ve que la zona
optima en la que debería estar la humedad para que no se produzcan otras enfermedades esta
entre (40 a 60) % RH.
Figura 9. Mejores humedad para la salud humana, E.M Stearling, A Arundel (1985)
Existen varios factores donde la humedad influye para la recolección y tratamiento de los
residuos los cuales no van a ser tenidos en cuenta sobre la influencia de las ecuaciones aquí
descritas sin embargo, se quiere resaltar que la humedad también afectara sobre ellas; Algunos
de estos procesos son la compresión de residuos, producción de lixiviados, transporte,
procesos de transformación, tratamientos de incineración y recuperación energética y procesos
de separación de residuos en planta de reciclaje. Otras de las características donde la
humedad influye directamente para fines de la gestión de residuos son:
Composición Química de los Residuos Sólidos
La composición Química de los residuos sirve para definir el proceso de tratamiento de
éstos. Es decir se utiliza para conocer los elementos que componen el residuo y poder realizar
el mejor proceso para su tratamiento (incineración, compostaje, desechar a relleno sanitario).
También nos sirve conocer la composición química para estimar la generación de biogás en
los rellenos sanitarios.
Contenido Energético de los Residuos Sólidos
Como se explicó previamente los residuos, al contener Carbono, Hidrógeno y Oxígeno
tienen un contenido energético que les permite en algunos casos reemplazar a algunos
combustibles. Por tanto su combustión o incineración genera energía
Punto roció
El punto de rocío o temperatura de rocío es la temperatura a la que empieza a condensarse
el vapor de agua contenido en el aire, produciendo rocío, neblina, cualquier tipo de nube o, en
caso de que la temperatura sea lo suficientemente baja, escarcha
Figura 10.Tabla para hallar el punto de roció, rescatada de
http://www.valentine.es/portalbv/portal/user/anon/page/svdpartproductosaspectosdet.psml?categoryOID=578380
80808180GC&contentid=&nl=es
Como se observa la humedad medida atribuye a varios de los factores que contribuyen a la
recolección de residuos pero en este documento tan solo se establecerá en la ecuación de
selección por humedad, la implicación que tiene esta sobre la salud y el composteo , de esta
forma se llega a la siguiente ecuación:
𝑆𝑒𝑙𝑒𝑐𝑐𝑖𝑜𝑛𝐻𝑢𝑚𝑒𝑑𝑎𝑑 =|𝑅𝐻 − 50|
50∗ 100
Las relevancias porcentuales en cuanto a la humedad se asignan de la siguiente forma:
Contenedor de residuos orgánicos: Como se observa en la imagen 8 la humedad
contribuye al aumento de la temperatura y a su vez repercute en el contenido de los residuos
orgánicos, además estos son los que más generan humedad por sí mismos, se le asignara un
peso de 0.3 a este factor.
Contenedor de residuos aprovechables: La mayoría de los residuos aprovechables no son
afectados por la humedad por lo que se le asignara un peso de 0.2para su recolección.
Contenedor de residuos no aprovechables: Los residuos no aprovechables suelen ser
variados, aunque en su mayoría son residuos que no se descomponen existe la posibilidad de
que sean ingresados residuos no aprovechables que sean “orgánicos”, como puede ser el caso
de un alimento afectado con un químico, huesos residuos de desechos en papel entre otros, en
base a ello este contenedor se le asigna un peso de 0.3 para su recolección.
2.7. 5. Peso, volumen y otros
A diferencia de las otras variables, medir el peso no representa directamente una
característica que implique recolección de residuos , debido a que pese más o menos un
contenedor, no afecta el procesos de salubridad, higiene entre otras, sin embargo gracias a esta
característica es posible establecer criterios del aumento de peso por los otros factores
también es posible advertir del peso actual en el contenedor con fines de advertir a quien sea
el ente más adecuado para recoger dicho contenedor (sugerencia). Para la diferente toma que
se harán sobre esta medida se definen las siguientes 3 variables:
Peso actual (𝑊𝑎𝑐𝑡): el peso que se es medido en el momento en que se ingrese un
residuo.
Peso pasado(𝑊𝑝): El peso que fue medido previamente en el contendor.
Peso por humedad (𝑊𝐻): El contenedor realizara una medida de las variables cada
cierta cantidad de tiempo la cual es inherente al ingreso de residuos si la toma
realizada en este tiempo es diferente a la última medición esto es debido al peso
atribuido por la humedad en los materiales.
(http://api.eoi.es/api_v1_dev.php/fedora/asset/eoi:45492/componente45490.pdf
𝑊ℎ =𝑤𝐴𝐶𝑇 −𝑊𝑝
%𝐻𝑅∗ 100
Con ayuda del peso y las otras variables previamente mencionadas es posible encontrar
factores y datos estadísticos que ayuden a definir los recolectores y tiempos de recolección de
residuos (las cuales no son tenidas en cuenta para la definición de la expresión final de
recolección), entre esos están:
Volumen: Con ayuda del nivel y el peso es posible determinar el volumen del sistema
la cual resulta una variable más precisa si hablamos de cuanto se está llenando un
contenedor, además de poderes establecer datos estadísticos como volumen por
persona, volumen en zona entre otros.
El aumento de peso por humedad, el cual permite agregar un valor a la influencia de la
humedad en los residuos como se describe en dicha sección.
Densidad: Con las variables como el volumen y el peso se establece la densidad del
contenido en los contenedores la cual en determinados casos ayudaría a proveer
información sobre que desechos se están generando en determinadas regiones y así
poder establecer un recolector adecuado para dicho sector. Además de otros factores
como lo es el grado de presión según la densidad de los residuos.
(http://www.bvsde.paho.org/acrobat/desecho2.pdf).
Con fines estadísticos, para mejorar el transporte para la gestión de residuos el peso de
residuos producido en determinada zona contribuirá a una mejor planeación en la
recolección.
El peso también aporta para algunas de los ítems mencionados en la sección de
definición de recolección por humedad.
Hay otros factores que se podrán definir después de establecido el modelo tales como
los son el volumen de los recipientes, número de vehículos para las rutas, números de viajes
realizados entre semana o mes tales como se especifican en SEDESOL. (2009) pero tampoco
serán tenidas en cuenta para la expresión final de este documento.
2.7.6. Asignación de alerta según los parámetros
Una vez medido las características del contenedor a través de los sensores y tratados los
datos a través del microcontrolador, estos datos son transmitidas por protocolo MQTT, una
vez adquiridas en la central de información estos datos son tratados para catalogar el estado
del contenedor de basura para ello se utiliza la siguiente ecuación la cual define el estado de
alerta del sistema. Dando un valor porcentual entre (0 y 100) %, para catalogarlo en un estado
de la tabla 9
𝐸𝑠𝑡𝑎𝑑𝑜𝑎𝑙𝑒𝑟𝑡𝑎 = 𝑆𝑒𝑙𝑒𝑐𝑐𝑖𝑜𝑛𝐻𝑢𝑚𝑒𝑑𝑎𝑑 ∗ 𝑃𝑒𝑠𝑜𝐻𝑢𝑚𝑒𝑑𝑎𝑑 +(𝑆𝑒𝑙𝑒𝑐𝑐𝑖𝑜𝑛𝑁𝑖𝑣𝑒𝑙 ∗ 𝑃𝑒𝑠𝑜𝑁𝑖𝑣𝑒𝑙)+
(𝑆𝑒𝑙𝑒𝑐𝑐𝑖𝑜𝑛𝑇𝑒𝑚𝑝𝑒𝑟𝑎𝑡𝑢𝑟𝑎 ∗ 𝑃𝑒𝑠𝑜𝑇𝑒𝑚𝑝𝑒𝑟𝑎𝑡𝑢𝑟𝑎)
Tabla 9.
Categorización de contenedores
Símbolo y
nombre de alerta
Rango % Descripción
0 a 15 El contenedor se encuentra en un estado en el
que su no recolección, no afecta el entorno o al
contenedor mismo
15 a 50 El contenedor contiene residuos pero en base a
sus características aun soportan más tiempo o
más ingreso de los residuos
50 a 70 El contenedor de residuos está en un estado en
el que su recolección es recomendable, sin
embargo no está generando mucha influencia
salubre
70 a 80 El contenedor se encuentra en un estado en el
que comienza a generar riesgos de salubridad
además de que se recomienda su recolección
90 a 100 El contenedor está generando varios riesgos
insalubres, se recomienda su recolección
inmediata
Se reitera que los valores tanto de asignación de alertas como las ecuaciones propuestas
fueron realizadas por procesos a consideración de los autores, teniendo en cuenta los ítems
mencionados en esta sección, por tanto es posible adecuar los valores para mejorar las
ecuaciones aquí mencionadas.
3. Metodología y proceso
3.1. Etapa de construcción y diseño del Hardware
Para la construcción del prototipo encargado de sensar los diferentes parámetros
establecidos y transmitir los datos al nodo central fue necesario seguir una metodología aplicada
con base a las necesidades que pudiese requerir otras etapas por ejemplo, uno de los principales
motores debía ser el bajo costo económico en el prototipo (ya que la producción en masa
conlleva más gastos), por tanto los elementos a seleccionar debían cumplir un bajo costo
económico, aunque esto implicara reducir la precisión y exactitud (sin que la perdida fuera
abrupta):
A) Búsqueda, selección y caracterización de los sensores a utilizar:
Para la búsqueda y selección de los sensores primero fue necesario evidenciar los
diferentes tipos de sensores de humedad, temperatura, nivel y peso. Con base al funcionamiento
de los diferentes tipos de sensores se seleccionaron los tipos que pudiesen servir para el
propósito, por ejemplo dentro de los diferentes tipos de sensores de temperatura se encontraron
los siguientes tipos de sensores:
Tabla 10
Tabla de Tipos, base de funcionamiento y selección de sensor de temperatura, Bausa (A,
2003).
Tipo de clasificación Base de Funcionamiento Útil para el fin
del proyecto
Termocuplas Se aplica temperatura en la unión de 2
alambres unidos en el otro extremo
NO
Termistores Esencialmente un semiconductor que
se comporta como un "resistor térmico"
Sí
Termo resistencias Son componentes que varían su
resistencia en base a la temperatura en
ellos (metales, cerámica, etc)
Sí
Termómetros infrarrojos Determinan la temperatura de la
superficie de un objeto interceptando y
midiendo la radiación infrarroja
emitida.
NO
Una de las razones por las cuales se descartaron esos 2 tipos de sensores fue debido a que
necesitan contacto con un único elemento, situación que no sirve para un contenedor el cual va
a tener múltiples objetos; Estos no son todos los tipos de sensores térmicos existentes sin
embargo el proceso se llevó a cabo teniendo en cuenta todos o la mayoría de los diferentes tipos
y propósitos de los sensores, de igual forma se realizó este proceso de selección con los sensores
de humedad, nivel y peso (Bausà, J., Carlos, A,2003).
Para la selección de los diferentes sensores indicados se establecieron como ítems
principales el costo, el tamaño, los rangos de funcionamiento y la precisión de los sensores, con
base a estas características (principalmente) se filtraron y escogieron algunos de los sensores
que podrían satisfacer el propósito del sensado, finalmente de cada lista se pudo observar el
mejor sensor para el propósito teniendo en cuenta los criterios de cada uno de las variables a
sensar. A continuación se presentan el proceso de selección, las variables tenidas en cuenta y la
caracterización de cada uno de los sensores utilizados.
a) Sensor de Humedad:
Para la selección del sensor de humedad se encontró que el mejor tipo de sensor para este
caso es el sensor de humedad capacitivo pues es un sensor frecuentemente usado para la
medición de la humedad relativa (humedad en el aire u otro gas), Humedad que va a ser medida
en el contenedor ya que no debe haber contacto con los materiales de parte del sensor (Kouro,
S. (2001)).
Figura 11.Sensor de humedad HS101.
Para el siguiente filtro de selección se realizaron consultas para corroborar la humedad
media o histórica en el área de Bogotá, además de realizar consultas investigativas de la
humedad en los diferentes tipos de residuos (los cuales están detallados en la sección del marco
teórico), de dichos estudios se concluyó que el rango de humedad para el proyecto era de (50
–100) % A continuación se presenta la lista de preselección del sensor.
Tabla 11.
Tabla comparativa de sensores de humedad.
El sensor de humedad seleccionado fue el “Hs1101” el cual es un sensor de tipo capacitivo
por tanto varia la capacitancia en base a la humedad relativa, además de las características de
selección este sensor está diseñado para manejar grandes volúmenes, dar un tiempo de
respuesta rápido (5 s) según el fabricante, desaturación instantánea después de largos periodos
en fase de saturación y un bajo costo de corriente entre otros( características que dan mayor
eficiencia al propósito del sensor )( Sensor, R. H. (2002) ).
Nombre
Rango
%RH
Voltaje de
operación
Operación de
temperatura °C
sensitividad
pF/%RH
respuesta en
el tiempo s
Desviacion
% RH
exactitud
%RH Tipo sensor
Precio
COP
HS1100 1 a 99 5 a 10 40 a 100 0,34 5 -2 Capacitivo 12.000
HIH-4000 0 a 100 4 a 5,8 40 a 85 15 mm3,5 Capacitivo 42.000
HR202 20 a 95 3.3 a 5 0 a 60
10s
+-1%RH +-5%RH Resistivo 12.000
𝐷𝐶
El siguiente paso fue la caracterización del sensor sin embargo para poder apreciar su
varianza de otra forma que no sea la capacitancia con respecto a la humedad fue necesario la
utilización de elementos que dependan de esta varianza capacitiva (filtros, osciladores, etc),
para así obtener una varianza voltaica, de tiempo o frecuencia; Uno de los dispositivos
recomendado para dicho propósito es el TLC555 que es temporizador de precisión con
tecnología CMOS, y puede configurarse como un dispositivo astable, biestable o monoestable,
para el propósito del proyecto el TLC555 se configuro como un dispositivo astable lo que
permitió que al variar la capacitancia del sensor el astable variara la frecuencia del sistema .
Figura 12. Configuración circuito Astable TLC555
El manual de este integrado sugiere la conexión de la figura 12 para un circuito astable
donde la carga y descarga del condensador produce los niveles altos y bajos en el circuito,
dichos niveles y tiempos están regidos por las siguientes ecuaciones:
𝑇𝐻 = 𝐶𝑇(𝑅𝐴 + 𝑅𝐵) ∗ 𝑙𝑛(2)
𝑇𝐿 = 𝐶𝑇(𝑅𝐵) ∗ 𝑙𝑛(2)
𝑓 = 1 (𝑇𝐻 + 𝑇𝐿)⁄
𝐶𝑑𝑢𝑡𝑦 = 𝑇𝐻 ∗ 𝑓
El sensor HS1101 es un sensor que varía entre 163 pF (0% de humedad relativa) y 200 pF
(100%. De humedad relativa), por facilidad y agilidad en el circuito de este sensores opto por
utilizar un ciclo duty de 50% y una frecuencia de 10 KHz la cual es lo suficientemente rápida
para tomar lectura de la frecuencia actual y lo suficientemente lenta para que el micro
controlador pueda leerla.
0.5 = 𝑇𝐻 ∗ 10 ∗ 103
0.5
10 ∗ 103= 𝑇𝐻 = 50𝑢𝑠
𝑇𝐻 = 𝐶𝑇(𝑅𝐴 + 𝑅𝐵) ∗ 𝑙𝑛(2) =50 us
Donde se escogieron los valores de las resistencias para que funcionara en el rango de
frecuencias deseado. Una vez propuesto el circuito que se ilustra en la figura 16 se procedió a
caracterizar la curva de respuesta del sensor, para que permitirá describir el
comportamiento en todos los puntos de su curva, y así poder determinar la linealidad o la
ecuación en su señal de respuesta y así el micro controlador interprete correctamente el valor
leído. Para la caracterización del sensor de humedad relativa se procedió a realizar el siguiente
proceso.
Figura 13. Diagrama de flujo para la caracterización del sensor de humedad
Debido a la humedad mínima de la ciudad (65 % RH) y el lugar no fue posible una toma de
datos total, los datos obtenidos se muestran en la figura 52. Por esta razón se consideró que para
comparar y evaluar el buen funcionamiento se optó por implementar el sensor con la
configuración propuesta por el fabricante del sensor, cuya configuración nos informa de los
resultados de capacitancia vs frecuencia mostrados en la tabla 12 y figura 14.
Figura 14. Configuración propuesta para el HS1101, propuesta por el fabricante.
Tabla 12.
Tabla de Frecuencia de salida a 6600kHz para 55%RH
RH / % FRECUENCIA / Hz
0 7351
10 7224
20 7100
30 6976
40 6853
50 6728
60 6600
70 6468
80 6330
90 6186
100 6033
De esta nueva implementación se repitió el proceso previo y se obtuvieron los resultados de la
figura 53.
Sin embargo debido a capacitancias parasitas y la inexactitud de los diferentes componentes
los resultados pueden generar mayor cantidad de errores tanto en el proceso de caracterización
como a futuro, por lo que se diseñó otro método de caracterización del sensor para que no
dependiera de tantos componentes, el método a escoger fue la descarga de un capacitor en un
circuito RC, el voltaje en un capacitor está dado por:
𝑐 = 𝐸 (𝑒(−𝑡𝑅𝐶
))
Donde este crece de manera exponencial según el valor de tao Deseamos obtener la relación de
tiempo vs capacitancia de descarga, la cual es aproximadamente al valor de 5RC, además
sabemos que el rango capacitivo del sensor de humedad se encuentra entre 163 y 200 pf, con
R= 1 MΩ el tiempo estará definido por:
𝑡 = 5(𝑅𝐶);
𝑡 = 5(𝑅𝐶𝑚𝑖𝑛) = 5(1 ∗ 106 ∗ 163 ∗ 10−12) = 815µ𝑠;
𝑡 = 5(𝑅𝐶𝑚𝑎𝑥) = 5(1 ∗ 106 ∗ 200 ∗ 10−12) = 1𝑚𝑠;
Con estos tiempos establecidos se procedió a la implementación de descarga y medición del
controlador mediante software con estos datos se realizó la caracterización y junto con la
ecuación dada por el fabricante se podía apreciar el valor de humedad del sensor, donde se
procedió a realizar el siguiente algoritmo:
Figura 15. Diagrama de flujo de la caracterización del sensor por RC
𝐶(𝑝𝑓) = 𝐶(𝑑𝑒𝑙55) ∗ (1,2510 ∗ 10−7𝑅𝐻3 − 1,361 ∗ 10−5𝑅𝐻2 + 2.191 ∗ 10−3𝑅𝐻 + 9.01−1)
Se observó que la toma de datos realizadas fue escasa además de no ser muy precisa con
respecto a los datos del datasheet esto es debido a que la descarga del condensador es del
orden de microsegundos, y a si mismo son los tiempos de las instrucciones del
microcontrolador como la lectura del conversor analógico digital el cual tarda 120 us y la
comparación con un valor de ciclo while tarda 5 us, tiempos que en suma pueden superar al
valor de la descarga o dar una precisión muy inexacta de la medición (Atmel. (2015)).
Con ámbitos de disminuir el número de componentes se procedió al desarrollo de otro
circuito que permita la carga de un condensador mediante corriente a través de las siguientes
ecuaciones.
𝐼 =𝛿𝑞
𝛿𝑡=
𝑅𝑒−𝑡𝑅𝐶
Donde se pretende introducir una corriente constante que le dé un voltaje definido en base al
tiempo establecido y al valor de la capacitancia.
=𝐼𝑅
𝑒−𝑡𝑅𝐶
Para las pruebas por carga de corriente se utilizaron diferentes diseños de fuentes de corriente a base de
amplificadores operacionales uno de ellos ilustrado en las figuras 16, cuyas salidas debían estar
conectadas con un transistor de switcheo para detener el flujo de corriente en el sistema.
Figura 16.Diseño de circuito como fuente de corriente.
De los datos obtenidos por carga de corriente se encontró que también fueron poco eficientes
debido a las propiedades mencionadas del micro controlador además de que las capacitancias
internas de los componentes como los transistores (80 pf Max, transistor 2n222 capacitancia
mayor a la variación total del microcontrolador), amplificadores operacionales.
Figura 17.Diseño del circuito para la oscilación del sensor de humedad.
Base a los resultados obtenidos se decidió realizar el proceso con el diseño propuesto por el
fabricante. Base a las características dadas por el fabricante del sensor donde hace mención de
±2%𝑅𝐻 y un coeficiente de temperatura de 0.04 pf con punto de equilibrio en 25°C el sensor
también puede tener una desviación de 5% RH.
Como se puede evidenciar por el fabricante muestra que la función del sistema no es lineal
sin embargo de los puertos digitales se conoce que su funcionamiento en tiempos tiene como
base con un cristal de 16 Mhz externo lo que le da una velocidad al microcontrolador una
rapidez del orden de us, mientras que el oscilador propuesto es del orden de ms
permitiéndole una capacidad casi de mil veces por ms haciéndolo, lo suficientemente rápido
para leer con detalle el valor del periodo en los osciladores y bien sea aplicar la formula
directamente o dividir la función en partes para que sea una función lineal en tramos (Así
realizado por los autores) .
b) Sensor de temperatura
Para la selección del sensor de temperatura se encontró que los mejores sensores para
medir el aire del entorno son los sensores de tipo termistor y de tipo de silicio, además de ello
se verifico los rangos de temperatura históricos en la ciudad de Bogotá los cuales son
ilustrados en la sección teórica, se observó que el rango de temperatura que se necesitara está
en el proyecto está en el rango de 0 °C y 40 °C sin embargo se piensa en ampliar este rango
debido a posibles sobrepasos o futuros cambio climáticos .
Tabla 13.
Tabla comparativa de los sensores de temperatura y humedad.
Tabla 14.
Tabla comparativa de los sensores de temperatura.
Nombre
Tipo de
datos de
salida
Voltaje de
operación
V
Rango
T/ºC. Precisión Precio COP
LM35 Analógico 3 a 5,5 (-55 a 150) 4000
LM335 Analógico 2.9 a 3,1 (-40 a 100) 10 mV/˚K 1800
DS18S20 Digital 3 a 5,5 (-10 a 85) 0.5 ºC. 8700
REF02CJ Analógico 7 a 40 (-55 a 125) 1,96 mV/°C. 39400
Con las proposiciones mencionadas se escogió el sensor de temperatura LM35 el cual
es un sensor de temperatura con una precisión calibrada de 1ºC y un rango que abarca desde
(-55 a +150) °C (Description, G. (2000)).
Nombre Resolucion
Voltaje de
operación V
Corriente de
operación mA Rangos Exactitud
respuesta en
el tiempo s Precio COP
DHT11 16 bit 3.5 a 5.5 0.3
(20 a 90)%RH
(0 a 50) ℃
±5%RH ; ±2℃ 10 14.500
DHT22
0.1 %RH,
0.1 C
3.3 a 5.5
(0 a 99)%RH
(-40 a 80 )℃
±0,5%RH ; ±2℃ 10 34.800
SEN-10167
0.1 %RH,
0.1 C
3.3 a 6 1 a 1.5
(0 a 99)%RH
(-40 a 80) ℃
±2%RH ; ±0,5℃ 1 44.689
SHT71
0.03 %RH,
0.1 C
104.400
Figura 18. Grafica de Corriente vs temperatura del LM35 y sensor LM35
Ya que el comportamiento de este sensor es lineal con respecto a la temperatura y su
fabricante asegura un cambio de 10 mV/°c, donde para el caso del proyecto la variación de
voltaje estará entre (0 y 600) mv y con una resolución del conversor analógico digital de
nuestro micro controlador de 10 bits en 5 V (4.88mV por paso) lo que equivale a tener una
aproximación de variación de medición de 0.5 °C sin el uso de un circuito de
acondicionamiento; Sin embargo es posible mejorar la resolución del conversor analógico
digital si cambiamos el Voltaje de referencia en el micro controlador, para el caso será de 1,1
v de voltaje de referencia.
𝑜𝑠𝑒𝑛𝑠𝑜𝑟 = 10𝑚 ª𝐶⁄
𝑆𝐷 =2𝑛
𝑟𝑒𝑓=210
1= 1024
𝑐𝑡𝑎
𝑣
𝑏𝑜 = 1024𝑥10𝑥10−3 + 0.5
𝑡𝐸ª𝐶
=𝑏0 − 0.5
10.24
𝜕𝑡𝐸𝜕𝑏0
=1
10.24= 0.09765625
Al cambiar el voltaje de referencia del converso analógico digital este nos ofrece una mejor
exactitud para la toma de datos del sensor siendo de aproximadamente cada 0.1 °C por tanto el
uso del sensor y el conversor A/D ofrecido por el microcontrolador sin uso de
acondicionamiento es suficiente pues los cambios de 0.1 °C no afectan mucho al propósito del
censado de la temperatura. Para evidenciar el funcionamiento del sensor se caracterizó el
sensor con una elevación gradual de temperatura y con la ayuda de un termómetro se
obtuvieron los resultados de la figura 49 y la tabla 15. Los autores mencionan que el
termómetro no está oficialmente aprobado como patrón de medidas por tanto la medición
puede no ser del todo cierta.
Tabla 15
Datos obtenidos por la caracterización del sensor de temperatura
Vout /v Temperatura del sensor/ °C
Temperatura obtenida
por un termómetro/°C
0,245 24,5 25,5
0,247 24,7 25,8
0,247 25,4 26
0,267 26,7 27
0,279 27,9 28,6
0,281 28,1 28,7
0,297 29,7 30,1
0,314 31,4 31
0,325 32,5 33
0,335 33,5 33,7
0,344 34,4 34,6
0,353 35,3 35,7
0,362 36,2 36,6
0,389 38,9 39,1
0,407 40,7 40,9
0,466 46,6 46,7
0,491 49,1 49,1
0,523 52,3 52,3
Con fines de precisión se realizó un ajuste que consiste en una adición que se acerque al
valor real más cercano propuesto por el fabricante para ello se obtuvo mediante una recta
representativa de los datos este ajuste es dado por software del sensor dando como resultado el
cual está ilustrado en la figura 50.
El fabricante de este sensor menciona que el da una precisión asegurada de 0.5°C, y una no
desviación de no linealidad de ± 0.25 °C, con estos factores tomados en cuenta la desviación
curva del sensor podría estar como se muestra en la gráfica 41. Se observa que la desviación
se aproxima a 1 °C lo que cabe dentro del propósito del proyecto, pues un 1 °C no influye
drásticamente en el propósito del proyecto en base a la intervención de la temperatura en la
medición de los datos del contenedor.
c) Sensor de nivel
A lo largo de los años han surgido distintas tecnologías orientadas hacia la medición del
nivel de los recipientes de basura, entre las más destacados se encuentra la medición del nivel
por sensor infrarrojo y la medición del nivel mediante sensor de ultrasonido, sin embargo
debido a que en este proyecto se requiere definir el nivel de residuos independiente de cual sea
su contenido y debido a que el sensor infrarrojo se ve afectado por los colores que puedan
tener los residuos y también se ve afectado si hay un material que refracte o reflexione la luz
(como los vidrios), se optó por el sensor de ultrasonidos el cual que puede funcionar
independiente de sus residuos. Estos sensores trabajan solamente en el aire, y pueden detectar
objetos con diferentes formas, diferentes colores, superficies y de diferentes materiales. Los
materiales pueden ser sólidos, líquidos o polvorientos, sin embargo, han de ser deflectores de
sonido. Los sensores trabajan según el tiempo de transcurso del eco, es decir, se valora la
distancia temporal entre el impulso de emisión y el impulso del eco (Instrumentación
Industrial, Antonio Creus).
TABLA 16.
Tabla comparativa de los sensores de temperatura
Como la mayoría de los residuos son sólidos o tendrán una consistencia resaltante, el sensor
ultrasónico resulta óptimo para medir el nivel, aunque se puedan presentar problemas como,
mucho polvo, alta humedad, humos, vibraciones, color de los residuos, materiales opacos o
transparentes, este sensor seguirá siendo el sensor más óptimo para la realización del proyecto.
El sensor seleccionado de ultrasonido seleccionado fue el HCSR04, cuyo funcionamiento se
basa en la emisión de un impulso ultrasónico a una superficie reflectante (en nuestro caso los
residuos sólidos) y el retorno del eco a un receptor, donde el retardo del eco cambia dependiendo
del nivel de los residuos.
Nombre Rango cm
operación de
temperatura º C
Coriiente de
operación mA
Voltaje de
operación V
Respuesta en
el tiempo s
Sensitividad
o presicisión Precio
873C 30 a 100 (-10 a 60 ) 1 18 a 30 0,03 200 000 COP
873M 3 a 80 (-25a 70) 20 10 0,03 $163
GP2Y0A021YK 10 a 80 (-10 a 60) 30 4,5 a 5,5 32 ms 10 cm por 0,4 V 10 000 COP
GP2Y0A02YK 20 a 150 (-10 a 60) 33 4,5 a 5,5 35ms 48 000 COP
MB10XX 30 a 500 (-15 a 65) 3,1 2,5 a 5,5 300uS-5000us $33
GP2Y0A710K0F 100 - 550 50 4,5 a 5,5 $25
hcsr04
2 a 400 15 5 3, mm $4
MB7092 1 a 765 (-40 a 70.36) 3.5 3,0 a 5,5 $100
srf01 0 a 600 25 3,3 a 12 85 840 COP
srf02 15 a 600 4 5 69 600 COP
srf04 3 a 300 30 5 92.220 COP
srf05 1 a 400 4 5 87 000 COP
srf08 3 cm a 600 15 5 145 000 COP
srf10 3 cm a 600 15 5 139 200 COP
SRF485WPR 370 011 COP
Figura 19. Sensor HCSR04 de ultrasonido
El elemento básico es un transductor electroacústica, de tipo cerámico piezoeléctrico. La
capa de resina protege al transductor contra la humedad, polvo y otros factores ambientales.
Absorbedores acústicos, se utilizan para amortiguar rápidamente la energía acústica, para
detectar objetos a pequeñas distancias, ya que el mismo transductor se utiliza como emisor y
como receptor. Hay que tener en cuenta que el sensor sólo puede hacer una medida de (30 a 60)
ms (pulso por eco).
Figura 20. Funcionamiento del sensor HSr04
Para el funcionamiento de este sensor no fue requerido el uso de acondicionamientos ni
circuitos intermedios al sensor ya que el micro controlador maneja todo el sistema de manera
digital Para el funcionamiento del sensor se tuvo que realizar los siguientes pasos:
Enviar un Pulso al menos de 10uS por el Pin Trigger (Disparador), luego el sensor
enviará 8 Pulsos de 40 KHz (Ultrasonido) y coloca el pin de salida Echo en alto (seteo)
Se detectó este evento y se procedió a iniciar un conteo de tiempo. La salida Echo se
mantendrá en alto hasta recibir el eco reflejado por el obstáculo
Del sensor se pondrá el pin de Echo se apaga por lo que terminar de contar el tiempo.
La distancia es proporcional a la duración del pulso y es calculada con la velocidad del
sonido.
Se obtiene un tiempo y se le asocia la distancia con la velocidad del sonido para así
obtiene la medición correcta (User, P., Sensor) (2013)
La velocidad del sonido con la que funciona el sensor, está dada por la siguiente ecuación:
𝑠𝑜𝑢𝑛𝑑 = (331.5 + 0.6°C)m s⁄
Debido a que el sensor es algo sensible frente a sonidos por encima de 80 db (según las
pruebas ilustradas en la tabla 21) fue necesario generar un algoritmo que permitiera tomar la
medida correcta mediante datos estadísticos como los on la moda y la media.
Figura 21. Diagrama de flujo del código del sensor HC SR04
Para la caracterización del sensor se realizaron pruebas con diferentes materiales y
diferentes medidas para establecer que el sensor fuera el adecuado para el propósito del
proyecto dentro de los materiales utilizados se encontraron plásticos transparentes, madera,
vidrio, tela y superficies según su forma. Los resultados de estos materiales junto con otras
pruebas son ilustradas en la sección de resultados.
d) Sensor de peso
Para la selección del sensor de peso o presión se encontró que existía una buena variedad
de los sensores que podrían ser indicados, de los cuales se escogieron las celdas de carga pues
debido a su forma permiten bien sea en compañía de varios de los mismos o con una adecuada
estructura, permite sensar de una mejor manera el peso en una superficie.
La celda de carga es una estructura diseñada para soportar cargas de compresión, tensión y
flexión, en cuyo interior se encuentra uno o varios sensores de deformación llamados Strain
Gajes que detectan los valores de deformación a través de variaciones en la resistencia que
suelen ser medidos en el orden de mV o µ . (Wlc-sppc, C).
Tabla 17.
Tabla comparativa de sensores de presión.
Tabla 18.
Tabla comparativa de Galgas extensiometricas.
Para el criterio de selección de los autores se escogió una celda de carga de 50 Kg pues
frente a un peso mayor al del sensor este puede ser dañado de forma permanente por tanto el
peso escogido soporta una amplia gama de pesos sin ser dañado.
Nombre de
la seriea Rango Kpa tipo
Voltaje de
salida V
Voltaje de
Funcionamiento
respuesta en
el tiempo ms
consumo
en corriente mA EXACTITUD V Sensibilidad TEMPERARUTA DE OPERACIÓNOFFSET v
MPXV7002D –2.0 a 2.0 4,25 a 5,25 4,75 a 5,25 1 0,1 ±2.5 a 6.25 V 1 V/Kpa 10 to 60 C
MPxx5004 0 a 3,92 transductores 1 a 4 4,75 a 5,25 1 10 ±1.5 a 6.25 1 V/Kpa 0 to +85 1
MPX2102 0 a 100 PIEZORESISTIVO 0 a 40 0 a 16V 1 6 0.4 mV/kPa (-)40 to +125 (-)2 A 2
MP__5010 0 a 10
transductor
piezorressitivo 0.2 a 4.7 4,75 a 5,25 15 a 10
450 mV/mm (-)40 to +125 0.2 a 0.425
Serie Tipo capacidades de peso Kg Excitación V Balnce cero % temp de func. °C No linealidad Sensivilidad mV/Kg
Series LCAE punto unico
0.6 , 1 ,2,3, 6, 10, 12, 15 ,20,
25, 30, 35,40, 45, 60, 100 y200 10 a 15 (+-)5 (-)10 a 50
±0,015% escala completa
(0,02% <6 kgf)
Series GL(1,2,5,10
,20,30, 300,500) Compresion
(1,2,5,10
,20,30) 10 a 15 (+)/- 1 (cero inciial) (-)5 a 60 2(+-)10
G(5,10,20,30,50)N Compresion 5,10,20,30,50 8 a 15 (+)/- 1 (cero inciial) (-)5 a 60 2(+-)10
SA tipo S 20,50, 100, 200, 300, 500 5 a 12 1.0 (-30 a +70 / -20 a +160 ) 2.0 + 0.2%
YZC 0 a 50 Kg 5,10,15,25,50,100,200 5 a 8 (+)/- 1 (cero inciial) (-35~+80) 2.0±0.004
Figura 22. Celda de carga de 50 Kg
Para probar el funcionamiento de esta celda de carga se realizaron pruebas para medir el
cambio de la resistencia frente a una fuerza o una masa se encontró que el sensor se comporta
como una galga semiconductora pues frente a un peso o fuerza una de sus terminales aumenta
de resistencia mientras la otra terminal disminuye su resistencia.
Por lo general las galgas se suelen utilizar (ya sea internamente o con ayuda de elementos
externos) como puente de Wheastone, el cual se basa en una diferencia de potencial entre 2
caídas de voltaje, para que exista una diferencia de voltaje usualmente muy pequeña, para
poder apreciar el cambio frente a fuerzas o pesos es necesario un circuito de
acondicionamiento para su medición
(http://celdasdecarga.blogspot.com.co/2013/02/funcionamiento-de-las-bandas.html).
Figura 23. Puente Wheastone en celdas de carga
Para el caso del proyecto la celda de carga utilizada contenía la mitad del puente de
wheastone por lo que era necesaria realizar una conexión con 2 resistencias complementarias
o bien utilizar una segunda celda de carga, el valor aproximado de las resistencias internas de
la galga extensiometrica y el valor de las resistencias complementarias es de
aproximadamente 1KΩ, de esta forma la salida de voltaje está definida de la siguiente forma:
𝑜𝑢𝑡 = 𝑠𝑜𝑢𝑟𝑐𝑒 [1𝑘
1𝑘 + 1𝑘−
1𝑘 − ∆Ω
(1𝑘 − ∆Ω) + (1𝑘 + ∆Ω)] = 𝑠𝑜𝑢𝑟𝑐𝑒[
∆Ω
2𝑘Ω]
Donde se observa que el comportamiento de varianza del sensor actúa de forma lineal. Sin
embargo ya que este voltaje es del orden de mv y la resolución que tiene el conversor
analógico digital del sistema es de 10 bits en 1.1 V, los cambios que se encuentren sobre el
sensor no serán adecuadamente legibles por tanto será necesaria una etapa de
acondicionamiento.
EL acondicionamiento que se optó en primera instancia fue el uso de amplificadores de
instrumentación, sin embargo debido a que se encontró que es necesario acondicionar el
circuito con resistencias externas debido al offset, Ibias, entre otros factores
(recomendaciones que tiene el integrado),s e encontró que el proceso debía hacerse en cada
uno de los amplificadores de instrumentación que se utilizasen en el proyecto o en un futuro,
haciendo que el modelo del circuito no fuera viable para su posible reproducción en masa
razón por la cual no fue recomendables el uso de amplificadores de instrumentación.
Figura 24. Conexión con Operacional de instrumentación y el sensor de peso
El siguiente método a utilizar fue el uso de un integrado desarrollado para este propósito
llamado HX711 el cual es un sensor conversor A/D de 24 bits, sigma delta de tecnología
CMOS el cual le permite una gran precisión , de funcionamiento digital y desarrollado para
celdas de cargas. (tumkil miraoya)
Figura 25. Sensor HX711
Figura 26. Funcionamiento sensor HX711
El funcionamiento de este sensor se basa en un envío y recepción de datos comparativa con
el voltaje leído de tal forma que envía una cantidad de pulsos de acuerdo al valor de diferencia
de voltaje sobre la galga extensiometrica, lo que le permite una gran precisión en lecturas de
bajo voltaje también es posible ajustar la ganancia del sistema para aumentar la diferencia
entre una medida y otra. Para encontrar el paso entre muestreos del sistema en conjunto se
realizó la siguiente ecuación. (Sensitivitas output: 1.0 +/- 15% mv/V).
𝑜𝑠𝑒𝑛𝑠𝑜𝑟 = 𝑠𝑜𝑢𝑟𝑐𝑒∆Ω
2𝑘Ω⩭ 5 ∗ 0.5
𝑚𝑣
Ω= 2,5
𝑚𝑣
Ω
𝑆𝐷 =2𝑛
𝑟𝑒𝑓=
224
0.04 = 419430400
𝑐𝑡𝑎
𝑣
𝑏𝑜 = 419430400𝑥2.5𝑥10−3 + 0.5
Ω𝐸
Ω=𝑏0 − 0.5
1048576
𝜕Ω𝐸
𝜕𝑏0=
1
1048576= 0.9.536743164 ∗ 10−6
Es posible aumentar este valor si se selecciona un valor de ganancia.
B) Búsqueda, selección y Programación del microcontrolador:
Una vez establecidos los sensores que se tenían que utilizar era posible establecer la cantidad
de puertos y condiciones que eran necesarias para la programación del microcontrolador además
de sus posibles, para el desarrollo del proyecto fue necesario establecer un microcontrolador
que cumpliera con la mínima cantidad de puertos y requisitos para su buen funcionamiento.
De los resultados obtenidos en la sección de los sensores y teniendo en cuenta otras etapas
(conexión xbee, alimentación, entre otros), se observa que si no se desea emplear circuitos
externos de switcheo o multiplicación entre otros se debe escoger un microcontrolador que
tenga por lo menos las siguientes características:
2 puertos analógicos digital
8 puertos digitales con una frecuencia de trabajo mínima de 40 Khz
velocidad de trabajo mínima de us
puerto con comunicación serial
modo bajo consumo.
Interrupción externa en el microcontrolador
Interrupción interna del microcontrolador
Figura 27. Atmega 328p
Basándonos en estas características y el costo del microcontrolador se procedió a encontrar
el microcontrolador óptimo para cumplir los requisitos. El micro controlador que cumple con
los requisitos mencionados y se escogió para la utilización de este proyecto es el atmega328p,
la programación en etapas se da de la siguiente forma.
Figura 28. Diagrama de flujo del funcionamiento del microcontrolador
C) Generación de datos del ingreso de residuos y alimentación del circuito:
El tener el circuito y el sistema en permanente funcionamiento no es rentable tanto para su
propósito (pues no en todo momento habrá ingresos de residuos) como para la gestión de
energía en el circuito, con el fin de economizar energía se desarrolló un circuito que distinga
cuando se ingrese un residuo.
Dentro de las posibilidades se encontraron sensores de movimientos, que fueron sensibles a
movimientos externos en el contenedor, contadores físicos que no eran muy viables para sus
colocaciones en el contenedor y por último los más eficientes fueron los sensores infrarrojos y
de ultrasonido.
De los múltiples sensores que podían ser utilizados para este propósito se escogieron los
sensores IR333 e PD333 (sensores infrarrojos emisor y receptor) sensores que funcionan por
separado y con el acondicionamiento correcto pueden trabajar hasta 10 m de distancia (
http://pcbheaven.com/circuitpages/Long_Range_IR_Beam_Break_Detector/ ) , lo que lo hace
útil frente a un cambio de contenedor ya que es posible poner varios de estos para cubrir el
área de entrada de un contenedor sin tener que recurrir a la utilización de otro pin, para el
caso del proyecto los autores consideraron que bastaba la utilización de un solo un sensor
receptor y un sensor emisor ya que el agujero donde ingresan los residuos es de 8 x 11 cm , y
la luz infrarroja puede cubrir un área de 30° según el fabricante.
Sin embargo existe la posibilidad de que el ingreso de los residuos no sea detectado debido
a ingresos residuales pequeños además de que las características de temperatura y humedad si
se afectan con el tiempo a diferencia del nivel, por lo que el sistema se encarga de medir las
variables en una determinada cantidad de tiempo. Una vez Establecido el criterio de disparo
de los sensores fue posible utilizar interrupciones y el modo ahorro de energía del
microcontrolador el cual en su estado de reposo (modo sleep ) donde solo quedan activos los
pines de interrupción el WDT (WatchDogtimmer) y el TWI Addres haciendo que gaste una
corriente aproximada de 45 mA en bajo consumo. Permitiendo un ahorro de energía, junto
con el consumo de corriente de los led de 20 mA el total en bajo consumo será de 65 mA.
Figura 29. Corriente de alimentación en modo ahorro de energía
3.2. Etapa de implementación y programación para el establecimiento de la
comunicación
La siguiente etapa a realizar fue la de la el establecimiento de la comunicación donde se desea que
la información en los contenedores llegue a la central de información, en este caso un servidor
provisto de una página web con su respectiva base de datos para guardar la información, esta etapa se
divide en 2 partes.
a) Comunicación a cortas distancias o local:
Ya que para transmitir la información desde los contenedores es necesario un ordenador para que la
información al servidor llegue (como se explica en la parte teórica), es necesario un elemento que haga
de puente para muchos contenedores, el elemento utilizado para este propósito fue el Xbee S3, este
elemento actúa bajo una red a distancias no mayores a 305 m en área urbana o 6,5 km, en área libre de
ruidos (International, D. (2014)).
Figura 30. Xbee pro s3
Para la comunicación de los contenedores con los Ordenadores se decidió que era necesario
establecer un coordinador que se encargara de los xbees que estarán distribuidos por la red en
determinada zona de esta forma se establece que el número de coordinadores xbee sería igual al
número de ordenadores, mientras que el número de xbee device y xbees router está limitado al número
que puede manejar un xbee coordinador ( 255); Sin embargo ya que para el caso del proyecto el
número de los xbees a utilizar es limitado (2 xbees) tan solo se estableció, 1 xbee coordinadores y 1
xbee routers. Para la configuración e implementación de los Xbees se siguió el siguiente diagrama de
flujo de datos:
Figura 31. Flujo de datos de los módulos Xbee
Para la lectura configuración y asignación de roles se utilizó la interfaz de configuración X-
CTU, la cual permite de una manera didacta y sencilla la configuración de los xbee. Después de ellos
se procedió a entablar la comunicación con el micro controlador quien está encargado de componer el
mensaje atreves de los datos de los sensores. Para ello solo fue necesario el uso del puerto serial.
Figura 32. Asignación de roles en xbee
Una vez configurados los Xbees es necesario realizar una programación en el microcontrolador
para que pueda enviar el mensaje adecuado al otro punto del sistema para ello una vez configurada el
microcontrolador solo es necesario realizar la conexión serial entre el microcontrolador y el Xbee, y él
envió de datos se realizara de acorde al diagrama de bloques de la figura 30.
Figura 33. Esquema clásico de conexión microcontrolador Xbee, Recuperado de
http://webdelcire.com/wordpress/archives/1714
Una vez establecidos la comunicación entre los módulos xbee se procedió a verificar el
funcionamiento y los rangos que da el fabricante acerca de los módulos de comunicación
xbee, se realizaron pruebas de comunicación por puerto serial entre 2 máquinas, enviando
como mensaje regular una dupla de datos del mismo tamaño y contenido que se utiliza para la
comunicación en el proyecto, esto con el fin de utilizar la herramienta XCTU el cual es un
programa que no solo permite realizar la configuración de los módulos xbee sino que también,
podemos realizar pruebas de envíos de datos permitiendo obtener como resultados los
siguientes ítems:
- Numero de paquetes enviados con éxito y sin éxito
- Potencia en local y potencia en remoto
- Tiempos de transmisión
- Tiempos de recepción
- Indicador de fuerza de la señal recibida (RSSI), la cual es una escala para medir el
nivel de potencia de las señales en redes inalámbricas. En donde se interpretan los
valores en una escala de 0 a -80 RSSI:
0: señal ideal.
-40 a -60: señal idónea con tasas de transferencia estables.
-60: enlace bueno; ajustando TX y basic rates se puede lograr una conexión estable al
80%.
-70: enlace normal a bajo; es una señal medianamente buena, aunque puede ser afectada
con el clima.
-80: es la señal mínima aceptable para establecer la conexión.
Del software X-CTU utilizado para el desarrollo del proyecto se menciona que está diseñado
para el propósito de configuración y pruebas de comunicación con los módulos xbee, para ello
los módulos deben ser reconocidos y leídos por el software
º
Figura34. Software de estado para un módulo xctu
Figura35.Secciones del sistema de pruebas de comunicación xbees
El software XCTU permite realizar pruebas de comunicación entre los dispositivos Xbee y
detallar las características previamente mencionadas en la figura se observa que el sistema se
divide en :
- Selección de dispositivo: en esta sección se establece el dispositivo con el que se desea
entablar comunicación y el direccionamiento que se le asigna para la comunicación de
la misma, para el caso de las prueba solo fue la asignación de la dirección del otro xbee.
Además se seleccionó las características de la figura 36. para la comunicación del puerto
serial Xbee.
Figura36.Características para la comunicación del puerto serial Xbee.
- La segunda fila del sistema permite ver una gráfica la potencia en dbm de los mensajes
en su transmisión y recepción, el porcentaje de los paquetes llegados en una gráfica
con respecto al tiempo de realización de las pruebas; Además en su sección derecha se
encuentran los tiempos de transmisión y recepción en ms, numero de paquetes y la
configuración del tipo de envía
Figura37. . Grafica de potencia de transmisión y envió de paquetes en el transcurso de tiempo real
- Finalmente en la tercera fila se encuentra la potencia instantánea de emisión y
recepción del sistema junto con el porcentaje de los paquetes enviados con éxito.
Como mensaje para el sistema y comunicación de los xbee se propuso una trama fija que
contiene la misma forma, orden y cantidad de bytes que la trama de datos que enviara el
prototipo implementado de forma usual, es decir una trama con los datos de
IDcontenedor_tipo de contenedor_ temperatura_humedad_nivel_peso, tal y como se muestra
en la figura 38
Figura38.Mensaje para el sistema Payload-trama del mensaje
Los resultados de los experimentos con la comunicación delos xbee son encontrados en la
sección de resultados. Las pruebas de medición se realizaron bajo circunstancias que afectan
la eficiencia de los módulos de comunicación pues las pruebas se realizaron en la sede Sabio
Caldas de la Universidad Distrital donde se encontraban obstáculos como paredes, estructuras
físicas, recintos cerrados e interferencias por señal wii fi entre otros. Los factores más
influyentes debido al área urbana son atenuaciones debidas a materiales como Metal,
hormigón, redes wifi que manejan el mismo canal en la banda de 2.4GHz. En el estándar
802.15.4 para módulo Xbee PRO alcanza una potencia de transmisión de +18 dBm y su
sensibilidad es de -100 dBm. En áreas urbanas tiene alcance de (80 a 120) m, mientras que en
áreas rurales maneja distancias entre (1 a 1.6) km.
Figura39 Tabla comparativa de pérdidas por inserción en distintos materiales. Tomado de
http://kermitec.blogspot.com.co/2015/06/tabla-de-absorcion-de-senal-wifi.html
Las pérdidas por inserción son aquellas atenuaciones en la señal, debido al traspasar un
obstáculo de un material determinado, cada distinto material posee una atenuación distinta.
Las pérdidas en el espacio libre, se entienden como las pérdidas en un medio homogéneo,
lineal e isótropo, dentro del cual las ondas viajan en línea recta sin atenuación. En este medio
solo se consideran las pérdidas debidas a la dispersión de la onda a razón de la distancia que
toma la onda de la antena transmisora. La fórmula de pérdidas por espacio libre en radio
enlaces es:
Donde Lo son las perdidas en dB, f la frecuencia en GHz y d la distancia entre la antena
transmisora y receptora. Otro tipo de pérdidas, se relacionan con tipos de propagación por
reflexión, difracción y dispersión
Reflexión: Debida al manejo de señales electromagnéticas que alcanzan una superficie
grande con respecto a la longitud de onda de la señal, la señal obtendrá un desplazamiento de
fase con respecto de la original, dependiendo de la fase tenderán a cancelarse entre sí (180°),
las interferencias debido a la multitrayectoria por lo general, pueden ser reconstruidas en el
receptor.
Fig.40 Fenómeno de difracción, tomado de
http://sistemasencomunicaciones.blogspot.com.co/2011/03/caracteristicas-de-las-ondas.html
Difracción: Aparecen en el vértice de un objeto impenetrable con longitud de onda mayor
al de la señal, la onda se propaga en diferentes direcciones como fuente en el vértice.
Fig.41. Fenómeno de difracción, tomado de
http://sistemasencomunicaciones.blogspot.com.co/2011/03/caracteristicas-de-las-ondas.html
Dispersión: Si el tamaño del obstáculo es de la misma o menor longitud de onda de la
señal, esta se dispersa en varias señales más débiles. En áreas urbanas donde la línea de visión
no es aceptable, la difracción y la dispersión son los principales problemas de recepción en la
señal.
Fig.42 Fenómeno de dispersión, tomado de http://docplayer.es/8275523-Facultad-de-ingenieria-en-ciencias-
aplicadas.html
En base a la teoría aquí mencionada se explica en parte de la limitación de distancia
encontrada en las pruebas (40m) frente a la mencionada por el fabricante (300m en área
urbana).
b) Comunicación por Protocolo MQTT
Para establecer la comunicación entre los que serían las subcentrales (Módulos Rapsberry
) y la central de información (servidor con página web), se utilizó el protocolo mencionado
por los autores, MQTT; para el uso de este protocolo en el sistema se hizo necesario
establecer los roles que tiene este protocolo:
Publisher: encargado de publicar los mensajes de un tópico
Suscriber: son aquellos que quieren ver los mensajes
Broker: Hace el papel del servidor encargado de administrar los mensajes
Teniendo en cuenta estos roles se consideraron varias opciones para él envió de mensajes,
pues los raspberry podían actuar como publisher y suscriber al tiempo o por separados, sin
embargo por costos computacionales se escogió que los rasbberry tomarían el rol de Publisher
encargados de enviar mensajes al broker (servidor), por el otro lado el encargado de recibir
los mensajes seria el servidor adquirido por el grupo de la universidad Distrital RITA.
Es necesario el software (broker) para establecer la conexión. En sistema operativo Linux
se instala el paquete “sudo apt-get install mosquitto-clients” para gestionar los accesos de los
clientes.
El proceso a realizar para la comunicación MQTT Se basó en la búsqueda de un Broker
para la realización de pruebas, donde se encontraron que diferentes desarrolladores ofrecen
este servicio el bróker seleccionado fue el de https://iot.eclipse.org/. Donde se pudieron
realizar pruebas de suscripción. Una vez realizadas estas pruebas para entablar la
comunicación se realizaron pruebas con el prototipo y la base de datos del sistema.
La etapa de envió de datos (M2M), la Raspberry y el servidor (Broker) a través del
protocolo TCP mediante él envió de datos por el puerto 1883 predeterminado, inicialmente se
debe configurar el rol de cada dispositivo, en nuestro caso la Raspberry actúa como
publicador, el servidor de eclipse como bróker MQTT y el servidor habilitado por RITA
funcionaria posteriormente como servidor MQTT-WEB a la vez como suscriptor, es decir; se
incluiría en la misma maquina el software para establecer conexión como bróker MQTT, que
a su vez cumple la función de suscriptor para poder manejar los datos obtenidos mediante el
bróker para ser asignados a la base de datos correspondiente.
La conexión mediante MQTT se realiza mediante una solicitud CONNECT al bróker. El
servidor envía como respuesta un mensaje CONNACK y un código de estado, una vez
establecida la conexión no se perderá la comunicación mientras el cliente no lo solicite ó
altere algún factor externo la comunicación.
Figura 43. Proceso conexión Broker-cliente. Recuperado de http://www.hivemq.com/
Los códigos de estado son 6 y son:
0 (conexión aceptada)
1 (conexión rechazada, versión de protocolo desactualizada)
2 (conexión rechazada, usuario rechazado)
3 (conexión rechazada, servidor inhabilitado)
4 (conexión rechazada, nombre de usuario o contraseña invalida)
5 (conexión rechazada, no autorizado)
Si la conexión se ha establecido satisfactoriamente el mensaje de solicitud CONNECT
incluye varios ítems obligatorios y opcionales como:
ClientID (identificador de cliente al servidor MQTT)
CleanSession (indicador de sesión reiterado, establece todas las suscripciones del cliente
para ser guardadas sus publicaciones y mensajes eliminados)
Username (nombre de usuario opcional)
Password (contraseña opcional)
Lastwilltopic (último tema suscrito)
Lastwillqos (ultimo valor QoS)
Lastwillmessage (Ultimo mensaje enviado)
Keepalive (intervalo de tiempo del mensaje para establecer conexión aún existente)
El manejo de mensajes MQTT a través de mosquitto implementa dos funciones básicas
para cada rol dentro de la conexión:
mosquitto_pub:
Hace referencia al cliente que publicara un mensaje en un tema de su elección, al cual pueden
o no existir clientes suscritos que reciban la información. Dentro de sus parámetros se
encuentran:
“-h” host o dominio del servidor MQTT al cual será enviado el mensaje.
“-k” keepalive, el numero en segundos (60 predeterminado) para realizar un PING de respuesta
desde el servidor con propósito de la conexión existente y funcional.
“-p” numero de puerto especificado para el envió del mensaje (1883 predeterminado).
“-m” mensaje a enviar a través de MQTT.
“-u” nombre de usuario para autenticar en el servidor.
“-P” contraseña para autenticar en el servidor MQTT (bróker).
“-q” valor calidad del servicio QoS para el envió del mensaje (0,1 y 2 con 0 predeterminado)
“-t” Topic o tema al cual será enviado el mensaje.
Un ejemplo seria:
mosquitto_pub -h iot.eclipse.org -p 1883 -t “sensors/temperatura” -m "1266193804 32".
mosquitto_sub:
El cliente suscrito, el que recibirá los mensajes según el tema al que se haya inscrito. Los
parámetros son iguales a excepción de “-m” que no se incluye puesto que la función es de
recibir y no enviar información. En el parámetro “-t” se puede establecer si se requiere
suscribirse a uno o varios subtemas dentro del mismo tema.
Figura 44. Proceso suscripción único nivel tema. Recuperado de http://www.hivemq.com/
Figura 45. Proceso suscripción tema multiniveles. Recuperado de http://www.hivemq.com/
En las figuras 44 y 45 se expresa la manera en que se utiliza la suscripción a un tema dando
como opción las dos posibles, en la primera se especifica un único nivel de suscripción
añadiendo el símbolo “+” como lo indica y las posibles suscripciones obtenidas para un tema.
En la segunda se maneja las suscripción multiniveles en la cual, añadiendo el símbolo “#” el
cliente se suscribe a todos los subtemas que se encuentren después del tema al q se haya
suscrito, no muy recomendado por la recepción de múltiples mensajes por ejemplo:
mosquitto_sub -h iot.eclipse.org -p 1883 -t “sensors/temperatura/#”.
Recibiendo así, todos los mensajes que se publiquen en el subtema “temperatura”.
3.3. Etapa de implementación y programación para el establecimiento de la
comunicación
Uno de los principales objetivos que tiene el proyecto es el de mostrar los datos a los
diferentes usuarios entidades o empresas que deseen hacer uso del sistema, sin embargo
debido a la innumerable cantidad de puntos ecológicos o contenedores que podría tener el
sistema en un desarrollo tardío, pensar en una interfaz gráfica local no es viable, debido a las
mismas actualizaciones del sistema. Por lo que la interfaz gráfica e informativa debe ser
virtual. Para la creación de la página web se realizó un previo análisis de las herramientas y
cualidades que debería tener, pues una página informativa como Wikipedia no tiene las
mismas herramientas de las que puede tener una página de juegos en internet, se llegó a la
conclusión de que eran necesarios los siguientes ítems:
- Información acerca de la página, sus objetivos, funcionamiento entre otros
- Información acerca de los contenedores, reciclaje, clasificación y estado de alerta los
contenedores.
- Creación de usuarios en la página web, se desea que exista la posibilidad de ingresar nuevos
contenedores o modificarlos en el sistema por lo que será necesario una restricción para que
no cualquiera pueda hacerlo, realizar este cambio sobre el servidor no es muy rentable además
de que el manejo de usuarios permite un mejor control sobre quién o qué entidad hará la
recolección en dicho punto.
- Base de datos de los contenedores y bases de datos de usuarios, para guardar la información
pertinente de cada uno de los grupos.
- interacción con Base de datos vía web, con fines de consultar, ingresar, eliminar y modificar
la información tanto de usuarios como de contenedores.
- interfaz gráfica o consulta donde puedan verse la ubicación y/o estados de los contenedores.
Una vez establecidos los criterios que son necesarios para la creación del página web se
procedió a buscar y escoger los diferentes lenguajes que permitirían un desarrollo en la página
web dentro de los cuales se encontraron: HTML5, ASP, JSP, HTML, PHP.
Dentro de los diferentes lenguajes encontrados se escogió desarrollar la página web sobre
html5 el cual es un lenguaje desarrollado por W3C que además de tener una previa
antigüedad (desde html, 1991), tiene inserción de multimedia, inserción de APIS además de
que es bien soportado por los principales navegadores: Firefox, Safari, Chrome, Opera,
Internet Explorer 9 (entre otras cualidades).
Otra de las razones por las que se escogió HTML5 es debido a los elementos necesarios para
la finalidad de la página web, elementos que satisface HTML5, pues HTML5 se compone de 3
partes (Gauchat, J. D. (2012)):
- HTML: el cual es un lenguaje estático para el desarrollo de sitios web orientado hacia el
computador o PC del usuario, y es el principal motor de la página pues está compuesto por
una serie de etiquetas que el navegador interpreta y da forma en la pantalla para el usuario. En
estos lenguajes es donde se desarrollara la mayoría de la funcionalidad de la página web es
decir la creación del contenido, formularios, consultas entre otras, por tanto es la base de la
página web.
- Javascript: Es un lenguaje de programación orientado hacia el cliente, pues permite crear
efectos atractivos, interactivos y dinámicos en las páginas web. Por tanto es el encargado de
manejar la interacción de la página con el usuario como lo son eventos con el mouse, teclado
o APIS entre otras, además al ser un lenguaje de programación permite toda la potencia de la
programación como uso de variables, condicionales, bucles, etc.
- CSS: es un lenguaje de presentación u Hojas de Estilo en Cascada (Cascading Style
Sheets), el cual describe cómo se va a mostrar un documento en la pantalla, o incluso cómo va
a ser pronunciada la información presente en ese documento a través de un dispositivo de
lectura. Esta forma de descripción de estilos ofrece a los desarrolladores el control total sobre
estilo y formato de sus documentos. Esta parte se encargara de darle un orden y un estilo
estético a la página.
Aunque HTML5 cubre la gran mayoría de las necesidades de la página web, no es muy
óptima para la realización de una base de datos, pues se ve limitada en varios aspectos tanto
de capacidad como dependiente de otros factores, además de que es mejor cubrir un lenguaje
que este del lado del servidor por esta razón fue necesario utilizar un lenguaje del lado de
servidor el cual también permite tener una base de datos más apropiada, PHP es el lenguaje
que se utilizó principalmente debido a que se puede incorporar fácilmente con HTML,
además de cumplir los requisitos previamente mencionados (Gauchat, J. D. (2012)).
3.4. Proceso de desarrollo de la página web
El objetivo principal del desarrollo de esta página web es informar, ayudar y mostrar el
estado de los contenedores y su ubicación a los diferentes miembros que deseen seguir el
proceso de los residuos en el área de Bogotá por ello se crearon los siguientes 3 actores:
Usuario Anónimo, este usuario es básicamente cualquier persona que desee ver los
puntos ecológicos en las zonas que él lo desee, además de ello solo puede ver el estado
en el que se encuentren los contenedores, por tanto este usuario solo se le permite
ingresar residuos en el contenedor.
Usuario registrado, este usuario es un miembro aprobado para el tratamiento de los
residuos por tanto tiene el derecho de poder recoger ya así mismo evidenciar los datos
más específicos como humedad, temperatura entre otros, con el fin de obtener fines
estadísticos del punto ecológico o de la zona. Y así mismo mejorar el proceso de
recolección, según el criterio. Este usuario también puede hacer los procesos del
usuario anónimo.
Usuario con Derechos, Este usuario tiene el derecho de ingresar, modificar y eliminar
nuevos contenedores (con previas autorizaciones). Además de las
Figura 46. Diagrama de casos de uso de los usuarios en la página web
El rol de los usuarios se deberá asignar personalmente mediante un proceso con los
encargados de la gestión del sistema. Una vez descritas la funcionalidad de los actores
que influyen y los requerimientos para ellos se evaluó el uso de herramientas para la
interfaz gráfica encargada de mostrar los contenedores en los diferentes lugares y sus
estados. Para ello se encontró que una herramienta versátil y apropiada la cual consiste en
la API de Google maps ofrecida gratuitamente para un uso de 25000 visitas por día, en su
versión gratuita (https://developers.google.com/maps/pricing-and-plans/#details), en base
al uso de sus bibliotecas se utilizaron diversas herramientas para la interfaz gráfica.
Figura 47. Logotipo API Google maps
Dentro de la aplicación de google más se utilizaron varias herramientas como generadores de
figuras, señaladores entre otros. Por último se desarrolló la estructura, dimensiones y estética
de los diferentes ítems que tendría la página (basados en html5).
4. Resultados
4.1. Resultados prototipo
Para el diseño del sensor de temperatura no fue necesario realizar un acondicionamiento externo ya
que como se mostró en la sección de metodología el conversor analógico digital y su referencia eran
suficientes para cumplir con lo deseado para cumplir los objetivos por tanto se realizó la conexión de
manera directa como se muestra en la figura 48.
Figura 48.Conexion del sensor de temperatura
De los procesos mencionados en la sección de proceso y metodología acerca del sensor de
temperatura, se obtuvo la caracterización del sensor presentada en la gráfica 39, la cual está regida por
la ecuación 𝑦 = 96.669𝑋 + 1.5421, donde se observa que el desfase con respecto a la temperatura
tomada por el termómetro no es mayor a un 5%, se reitera que el termómetro utilizado no está abalado
como sensor oficial sin embargo con fines de evidenciar el proceso y dar a conocer cómo se puede
mejorar el resultado , los autores lo consideran como una medición correcta para poder evidenciar cual
debe ser el proceso a seguir .
Figura 49.Resultados caracterización del senior de temperatura vs la tomada por el termómetro
Una vez se realizó el ajuste por software para que la ecuación de la recta fuera de acorde a la
ofrecida por el fabricante se obtuvo un error menor al 2% sobre el resultado de los datos el
fabricante de este sensor menciona que el da una precisión asegurada de 0.5 °C, y una no
desviación de no linealidad de ± 0.25°C, con estos factores tomados en cuenta la desviación
curva, por tanto el resultado del sensor este en el rango mostrado en la figura 51.
Figura 50.Resultados caracterización del sensor de temperatura con ajuste vs la medida por el termómetro
Figura 51. Rangos máximos y mínimo del sensor de temperatura según fabricante
De los resultados del sensor de humedad en ambas graficas se ilustra que estos no fueron medidos en
el amplio rango deseado (60 a 100) RH %, además de que el instrumento que se utilizó para corroborar
la humedad en la caracterización no está abalado como un sensor para dicho propósito, sin embargo se
ilustran los resultados ya que se puede tener como referencia el diseño del fabricante. del resultado del
oscilador diseñado por los autores se encontró el siguiente resultado.
Tabla 19.
Tabla de los resultados obtenidos con el sensor de humedad a diseño de los autores.
RH/ % tomado por
elmedidor de
humedad relativa
Frecuencia
HZ
65,37 10625
70,21 10831
75,12 11022
80,64 11287
86,1 11501
90,2 11735
94,8 11987
100 12256
Figura 52. Resultados del diseño para el sensor de humedad capacitivo diseñado por los autores.
De los resultados obtenidos y comparados con el diseño propuesto por los fabricantes del
sensor de humedad se encontró que su error no es mayor al 4 % en base a los resultados
obtenidos en la figura 53.
Figura 53.Resultados de la implementación del sensor de humedad dados por el fabricante
Del resultado final del sensor de humedad se encontró que fluctúa en un rango del 5% esto
es debido a que la capacitancia del sensor es pequeña y puede ser afectada tanto por el ruido
del sistema, como el ruido externo, además de que los diferentes componentes utilizados
también poseen un porcentaje de error que le da inexactitud a la medida
Del sensor de distancia no se tuvo que realizar algún tipo de acondicionamiento físico ya
que su funcionamiento es digital y su acondicionamiento solo proporciona una mejora a
prueba del ruido, sin embargo se consideró que para el caso del proyecto el funcionamiento
sin acondicionamiento era suficiente
Figura 54. Diseño de conexión del sensor de nivel
De las pruebas realizadas con el sensor de distancia, se realizaron múltiples mediciones de
distancia frente diferentes materiales que pueden encontrarse en los residuos se encontró los
resultados en la tabla 20, realizadas con precisión de cm.
Tabla 20.
Tabla de los resultados obtenidos con el sensor de distancia en varios materiales.
Material Madera Metales Porcelana Agua plástico Vidrio
Distancia a 5 cm 5 5 5 5 5 5
Distancia a 10 cm 10 10 10 10 10 10
Distancia a 15 cm 15 15 15 15 15 15
Distancia a 20 cm 20 20 20 20 20 20
Distancia a 25 cm 25 25 25 25 25 25
Distancia a 30 cm 30 30 30 30 30 30
Distancia a 35 cm 35 35 35 35 35 35
Distancia a 40 cm 40 40 40 40 40 40
Distancia a 45 cm 45 45 45 45 45 46
Distancia a 50 cm 50 50 50 50 49 51
Distancia a 55 cm 55 55 55 55 54 55
Distancia a 60 cm 60 60 60 60 61 62
Distancia a 65 cm 65 65 65 65 66 65
Distancia a 70 cm 70 70 70 70 71 71
Distancia a 75 cm 75 75 75 75 78 75
Distancia a 80 cm 80 80 80 80 83 80
Distancia a 85 cm 85 85 85 85 88 85
Distancia a 90 cm 91 90 90 90 92 90
Distancia a 95 cm 97 95 95 95 97 95
Distancia a100 cm 102 100 100 100 100 100
De las pruebas críticas realizadas sobre el sensor de distancia se obtuvieron los resultados en
la Tabla 21 y se evidencio que frente a superficies muy planas en un ángulo critico el sensor
de ultrasonido puede dar una mala información sin embargo debido a que el sensor va a estar
dentro del recipiente este error se reducirá, además de que las probabilidades de que el
contenido en los recipientes tengan esta forma es pequeña, por ello no se consideró tratar este
inconveniente en este proyecto.
Tabla 21.
Tabla de datos obtenidos con el sensor de distancia bajo cierta circunstancia
Circunstancia MATERIAL PLANO A 45 º
Pruebas de distancia con
ruido a 80 db
Distancia a 5 cm 5 5
Distancia a 10 cm 10 10
Distancia a 15 cm 16 15
Distancia a 20 cm 22 20
Distancia a 25 cm 28 24
Distancia a 30 cm 39 31
Distancia a 35 cm 47 36
Distancia a 40 cm 56 42
Distancia a 45 cm 63 47
Distancia a 50 cm 79 52
Distancia a 55 cm 83 58
Distancia a 60 cm 88 63
Distancia a 65 cm 94 68
Distancia a 70 cm 100 74
Distancia a 75 cm 100 78
Distancia a 80 cm 100 85
Distancia a 85 cm 100 88
Distancia a 90 cm 100 91
Distancia a 95 cm 100 97
Distancia a100 cm 100 98
Se evidencia que el ruido mayor al de 80 db en el sensor daña su medición a medida que la distancia
aumenta sin embargo el error no es mayor al de 5% por lo que, los autores consideran que el error
puede ser tolerable para el propósito del proyecto.
Para el sensor de peso se realizó la conexión propuesta por los fabricantes del conversor analógico
digital HX711 tal y como se muestra en la figura 55, donde el impreso mismo se encarga de leer y
alimentar el puente whinstone de la calga extensiometrica, y los otros pines van al microcontrolador.
Figura 55. Conexiones puente Whinstone, HX711, imagen rescatada de
https://spanish.alibaba.com/product-detail/hot-hx711-module-weighing-sensor-pressure-sensor-24bit-
ad-module-1749024185.html
De los resultados obtenidos con el microcontrolador y el Conversor HX711, se registraron los datos
ilustrados en la figura 44 datos utilizados para la caracterización del sensor de peso.
Tabla 22.
Tabla de datos obtenidos caracterización de peso
Peso/ kg min max promedio
1 20000 22000 21999,5
0,5 6800 7200 7199,75
0,2 600 800,9 800,78
0,1 400 600 -918,73
0,05 400 500 -1700,9575
Figura 56.Resultados caracterización del sensor de peso
y = 10337x2 + 14094x - 2431,5R² = 1
0
5000
10000
15000
20000
25000
0 0,2 0,4 0,6 0,8 1 1,2
De donde se obtuvo la curva característica que rige al sistema siendo casi lineal. Para la
medición correcta del sensor de peso era necesario realizar una estructura para distribuir
uniformemente el peso en el contenedor de residuos, se pensó en las siguientes opciones:
Figura 57.Opciones de las estructuras a utilizar para equilibrar el peso
La opción 2 es una caja que va a contener la bolsa de la basura permitiendo recibir todo el
peso de los residuos y a su vez al ser su superficie plana transmite todo el peso al sensor de
peso, la opcion1 tiene el mismo funcionamiento sin embargo no contiene tantas paredes
como el anterior, de esta forma cierta cantidad de peso puede dirigirse hacia las paredes, sin
embargo tiene un equilibrio y transmite el peso al sensor, dado que para que no halla perdidas
por peso en las paredes se tendría que realizar las dimensiones muy al tas por esta razón se
optó por la opción 1.
Figura 58 .Estrucuta obtenida
El diseño propuesto por los autores se realizó en 2 baquelitas, la baquelita inferior
contiene los sensores y su respectivos acondicionamientos (figura, 59) colocada internamente
en el contenedor sobre la tapa, la baquelita superior contiene el microcontrolador , el módulo
de transmisión xbee, la alimentación del sistema y sus respectivos acondicionamientos,
realizados así para poder realizar un cambio más sencillo de batería, además de que la
transmisión de datos no está obstaculizada por el recipiente mismo.
4.2. Resultados de la comunicación
Los elementos utilizados para la comunicación fueron Puerta de enlace entre los nodos de
sensores y el servidor MQTT (Raspberry Pi 3) con conexión ethernet - wifi, 1 GB RAM,
procesador ARM v8 Quad-core de 1.2 GHz, 4 puertos USB y 40 pines GPIO. Sistema
operativo debían (Jessie) basado en Linux instalado sobre una tarjeta SD de 16 GB.
Figura 61.Esquema conexión red de sensores -XBee - Raspberry-servidor (nube). Recuperado de
http://thenewstack.io/
Para establecer la respuesta de la comunicación frente a una distancia se procedió dejar un punto
del nodo fijo el cual se encuentra en la Sala GITEM del septimo piso de la Universidad Distrital
Sede Sabio Caldas, y se procedió al envió de la información con un xbee que actué como un
nodo movible, realizando las medidas hasta alcanzar el máximo posible, sin pérdidas
considerables de las tramas de datos entre cada nodo.
Figura62. Prueba # 1: Sala GITEM a aproximadamente 4 metros de distancia
Figura63. Nodo fijo puesto en la Sala Gitem
Figura64. Prueba # 2: Resultados obtenidos en la Sala Gitem a 5to piso U distrital, aproximadamente 15m
Figura65. Ubicación para la prueba del cuarto piso sede sabio Caldas
Figura66. Prueba # 3: Resultados obtenidos en el Cuarto piso de la Universidad Distrital Francisco José de Caldas,
Sede Sabio Caldas, aproximadamente 20m de distancia con el punto fijo
Figura 67. Ubicación para la prueba del cuarto piso sede sabio Caldas
Figura68. Prueba # 4: Resultados obtenidos en el Tercer piso de la universidad Distrital Francisco José de Caldas,
Sede Sabio Caldas, aproximadamente 24m de distancia con el punto fijo
Figura 69. Ubicación para la prueba del tercer piso sede sabio Caldas
Figura70. Prueba # 5: Resultados obtenidos en el segundo Piso de la Universidad Distrital Francisco José de caldas,
Sede Sabio Caldas, aproximadamente 28m de distancia con el punto fijo
Figura71. Ubicación para la prueba del segundo piso sede sabio Caldas
Figura72. Prueba # 6: Resultados obtenidos en el Primer piso Universidad Distrital Francisco José de Caldas, Sede
Sabio Caldas, aproximadamente 38m de distancia con el punto fijo
Figura73. Ubicación para la prueba del primer piso sede sabio Caldas
De los datos obtenidos en las diferentes medidas ilustradas se encontró que a mayor
distancia de los módulos, mayores son las pérdidas de potencia entre ellos, de igual forma
disminuye la cantidad de paquetes transmitidos en el proceso de comunicación; Se encontró
que a una distancia aproximadamente de 40 m los dispositivas dejan de comunicar en la zona
donde se realizaron las pruebas. Sin embargo esto es debido a los diversos obstáculos
presentes en la zona pues según el fabricante es posible llegara a distancias de 300 m con los
módulos S3.
Tabla 23.
Tabla de datos obtenidos de la comunicación a diferentes distancias con xbee
Lugar de prueba Porcentaje de paquetes enviados correctamente % max Remote RSSI [dBm] max Local RSSI [dBm]
sala gitem 100 -40 -40
5o piso 100 -62 -60
4to piso 77 -56 -54
3er piso 47 -67 -65
2do piso 24 -59 -60
1er piso 0 0 0
Donde se incluye programa en Python (v2.7) gestionando la conexión serie (UART) con
puerto USB a serial para la transmisión de datos mediante el módulo XBee Pro S3B conectado
en malla, sintonizado en la banda de frecuencias entre (902 – 928) MHz, tasa de baudios a
9600 adicionalmente funciona como cliente publicador (MQTT) para llevar la información a
través de internet.
Figura 74. Codificación programa en Raspberry (Python).
El bróker MQTT inicialmente para pruebas es la aplicación Mosquitto, adicionalmente un
servidor LAMP (Linux-Apache-MySQL-PHP), instalado sobre un computador portátil dando
conectividad entre dispositivos (Raspberry-PC) sobre la red interna inalámbrica de la
universidad distrital (RITA_UD). Los inconvenientes presentados se relacionan con asuntos
de puertos y firewall de la misma red, inicialmente el puerto usado para la transmisión es el
TCP 1883 establecido para mensajes sin encriptación. Configurando las direcciones IP
estáticas para los dos no se logró la conectividad mediante MQTT, aun así; entre las reglas del
enrutador de la red se agregó el puerto 1883 habilitado en las direcciones IP obteniendo un
resultado negativo, además de la inclusión del portal cautivo el cual, hace necesario un login
interno de la página web rita.udistrital.edu.co.
Figura 75. Logotipo mosquitto (Broker MQTT). Recuperado de https://mosquitto.org/
Se hizo la implementación directamente sobre un servidor asignado por parte del grupo
RITA con las siguientes especificaciones del sistema:
Sistema Operativo: Linux Debian 8
Disco Duro: 8 GB
RAM: 1GB
Servicios Adicionales: Apache, PHP y MySQL.
Aplicaciones Adicionales: PhpmyAdmin
Acceso ssh remoto, dominio: rita.udistrital.edu.co puerto: 23627
Mapeo puerto MQTT: local 1883 publico 23628
Con el mapeo de puertos generado para el servidor, a través del bróker Mosquitto
previamente instalado. Se realizó la configuración en los puertos de escucha del servidor en el
archivo (.conf) de la aplicación.
Figura 76. Configuración puertos mosquitto en archivo .conf
La regla de los mensajes enviados a través de arduino – raspberry – MQTT - MySQL es:
ID_punto-N_punto-HUMEDAD-TEMPERATURA-PESO-NIVEL
El mensaje viene separado con el guion “-“para su mejor entendimiento y desglose de cada
valor en Python, es decir; interpretar cada valor y separarlo mediante una matriz y tomar el
valor de cada columna para asignarlo a la base de datos. A continuación se añade mediante un
QUERY de actualización de datos (UPDATE) correlacionándolo al ID_Punto, N_punto
correspondiente del contenedor al servidor MySQL.
Figura 77. Codificación programa en Servidor (RITA).
Se diseñó un código en lenguaje Python con librerías adicionales PAHO-MQTT y
MySQLdb para establecer la gestión entre la base de datos y el bróker MQTT (Mosquitto).
Con el propósito de que el código se ejecute automáticamente sin depender de la ejecución del
usuario sobre la web, logrando mantener actualizada la base de datos al momento de que
dicho usuario realice la consulta a la BD.
Figura78. Información tabla de datos en phpmyadmin.
4.3. Resultados de la página web
Para la página web se crearon 9 links donde 4 de ellas pertenecen a consultas a la base de
datos de diversas formas según el rol establecido por el usuario, otras 4 links son paginas
informativas acerca del funcionamiento objetivos y normatividades que rigen en el sistema y
por último se encuentra un link con la interfaz gráfica de los contenedores y su estado.
Figura 79. Página de inicio
Figura 80. Página de información a normatividad y contenedores
Figura 81. Sección de página explicando el funcionamiento del sistema de entrono grafico
Figura 82 Sección de página del funcionamiento del sistema
5. TRABAJOS FUTUROS
El desarrollo del proyecto está sujeto al contenedor de residuos el cual debe ser genérico
para cualquier tipo de residuos, pues frente a un cambio de contenedor también puede será
necesario una adecuación del circuito.
Con los datos estadísticos que se obtengan en determinadas zonas es posible aplicar más
variables sobre las ecuaciones propuestas, además de con estos datos y otros datos como la
población en la zona, residuos por persona entre otros es posible adecuar y mejorar el sistema.
El sensor de humedad tiene un desfase que puede considerarse intolerable para el propósito
del proyecto (5%) , por lo que es posible adecuarlo o cambiarlo para tener una mejor precisión
sobre el proyecto.
Mediante uso de algoritmos neuronales es posible generar rutas para la trayectoria de los
vehículos de recolección, ya que los puntos quedan establecidos.
El prototipo para este sistema puede ser mejorado mediante mejores a pruebas de ruido,
sistemas de energía renovable mediante paneles solares, entre otros
6. Conclusiones
Se logró crear satisfactoriamente una interfaz gráfica que permitiera conocer el estado de
los contenedores de manera simulada en la ciudad de Bogotà.
Para establecer la interacción con los sensores, Python, MQTT yHTML es necesaria la
existencia de una página web que permita actuara como puente para las mencionadas.
Los sensores implementados cumplen satisfactoriamente para el buen funcionamiento en la
ciudad de Bogotà y sobre estos contenedores, en caso contrario puede que no sirvan.
Se logró entablar la comunicación en el sistema con módulos los cuales los autores
recomiendan para su uso en la red WSN ya que frente a nuevos puntos estos permiten
adherirse a un xbee central previamente puesto y comunicarse con él para obtener
funcionamiento en el sistema sin necesidad de hacer modificaciones previas laboriosas.
Se logró entablar la comunicación y transmisión de datos mediante el protocolo MQTT, el
cual es versátil para él envió de datos pero necesita un servidor previo proceso ya que este por
sí solo no atrapa la información.
Se evidencia que el ingreso de un nuevo contenedor resulta más fácil y sencillo gracias al
protocolo MQTT, quien deja que cualquier elemento publique en el bróker sin tanta
restricción alguna, permitiendo el ingreso de muchos más puntos ecológicos sin generar
mucho gasto en ancho de banda u otros.
7. Referencias
Ministry of Urban Development Government of India. (2015). Mission Statement & Guidelines
for Smart Cities, (June), 1–43.
Plan Regional de Inversiones en Ambiente y Salud (1996), Análisis Sectorial de Residuos
Sólidos en Colombia, Recuperado de sección 6.1,
http://www.bvsde.paho.org/eswww/fulltext/analisis/colombia/colombia6.html
Castro, R. L. (2010). Diseño de una idea de negocio para la creación de una empresa de reciclaje.
Las empresas de recliclaje: ¿ solución a la problemática de la contaminación ambiental en
Bogotá?. Cuadernos Latinoamericanos de Administración., VI (10), 77–102.
Nandury, S. V., & Begum, B. A. (2015, August). Smart WSN-based ubiquitous architecture for
smart cities. In Advances in Computing, Communications and Informatics (ICACCI), 2015
International Conference on (pp. 2366-2373). IEEE.
Poudyal, B. K., & Poudel, P. (2013). Beneficial microbes “jeevatu” for biodegradable waste
management and plant disease control. Proceedings of the 3rd IEEE Global Humanitarian
Technology Conference, GHTC 2013, 232–237. http://doi.org/10.1109/GHTC.2013.6713686
Response Coordinator, E., & Rbwh Hsd, Q. (2007). Royal Brisbane and Women’s Hospital
Health Service District Code Blue Manual Code Blue Manual, (February).
Wijetunge, S., Gunawardana, U., & Liyanapathirana, R. (2013, October). IEEE 802.15. 4 based
hybrid MAC protocol for hybrid monitoring WSNs. In 2013 IEEE 38th Conference on Local
Computer Networks (LCN 2013) (pp. 707-710). IEEE.
De la Cruz Rodríguez, R. A. (2005). Aprovechamiento De Residuos Organicos a Traves De
Composteo Y Lombricomposteo, 14. Retrieved from
http://www.uaaan.mx/postgrado/images/files/hort/simposio5/05-aprov_residuos.pdf
Jaramillo Henao, G., & Zapata Márquez, L. M. (2008). Aprovechamiento De Los Residuos
Sólidos Orgánicos En Colombia, 116. http://doi.org/10.1017/CBO9781107415324.004
Narmada, A., & Rao, P. S. (2012, September). Zigbee based WSN with IP connectivity. In
Computational Intelligence, Modelling and Simulation (CIMSiM), 2012 Fourth International
Conference on (pp. 178-181). IEEE.
Verdone, R., Dardari, D., Mazzini, G., & Conti, A. (2010). Wireless sensor and actuator
networks: technologies, analysis and design. Academic Press.
Khan, S., Pathan, A. S. K., & Alrajeh, N. A. (Eds.). (2012). Wireless sensor networks: Current
status and future trends. CRC Press.
Tiwari, P. K., Parthasarathy, S., Chatterjee, A. N., & Krishna, N. (2013, August). Integrated
wireless sensor network for large scale intelligent systems. In Advances in Computing,
Communications and Informatics (ICACCI), 2013 International Conference on (pp. 1849-
1854). IEEE.
Erba, D. A. (2006). Sistemas de Información Geográfica Aplicados a Estudios Urbanos.
Sistemas de Información Geográfica aplicados a estudios urbanos. Experiencias
latinoamericanas.
Iacono, L., Godoy, P., Marianetti, O. L., Garino, C. G., & Párraga, C. (2012). Estudio de la
Integración entre WSN y redes TCP/IP. Memoria de Trabajos de Difusión Científica y Técnica,
(10), 57-68.
Yu, H., Solvang, W. D., & Yuan, S. (2012). A Multi-objective Decision Support System for
Simulation and Optimization of Municipal Solid Waste Management System, 193–199.
Longhi, S., Marzioni, D., Alidori, E., Di Buo, G., Prist, M., Grisostomi, M., & Pirro, M. (2012).
Solid Waste Management Architecture using Wireless Sensor Network technology. Ieee.
http://doi.org/10.1109/NTMS.2012.6208764
Mamun, M. A. Al, Hannan, M. A., Islam, M. S., Hussain, A., & Basri, H. (2015). Integrate
sensing and communication technologies for automated solid waste bin monitoring system.
Proceeding - 2013 IEEE Student Conference on Research and Development, SCOReD 2013,
(December), 480–484. http://doi.org/10.1109/SCOReD.2013.7002636
de Oliveira Simonetto, E., & Borenstein, D. (2007). A decision support system for
theoperational planning of solid waste collection. Waste Management, 27(10), 1286–1297.
http://doi.org/10.1016/j.wasman.2006.06.012
Eames, A., Aaron, S., Halfacree, G., Hattersley, L., Son, R. H. &, King, P., … Zwetsloot, R.
(2015). Raspberry PI Projects book, 1, 204. Retrieved from https://www.raspberrypi.org/magpi-
issues/Projects_Book_v1.pdf
Com, I. (2016). Mq telemetry transport, 1–33.
Moreno, J. M., & Fernández, D. R. (2007). Informe Técnico: Protocolo ZigBee (IEEE
802.15.4). Ieee 802.15.4.
Alvarez, Carina, “RECICLAJE Y SU APORTE EN LA EDUCACIÓN AMBIENTAL”. (2013).
Ieee, G. H. Z., Transceiver, R. F., Reading, A. M., Features, K. E. Y., Ieee, E., En, E., … Cc,
D.T. (2007). Swrs068 – december 2007, (December).
Tiscareño Vizcarra, Alma Alejandra (2005), Propuesta de mejora en la operación del sistema
de recolección y procesamiento de residuos de la Ciudad de Puebla, Capitulo 4. Recuperada de
http://catarina.udlap.mx/u_dl_a/tales/documentos/lbi/tiscareno_v_aa/portada.html
Acodal. (2015). Tratar las basuras lucha contra reloj. Acodal. Recuperada de
Zhang, Z. Y., & Wu, D. Z. (2011). Study on the Shear Strength Parameters for Municipal Solid
Waste with Higher Content of Organic Matter. Advanced Materials Research, (50778164), 3–
6. http://doi.org/10.4028/www.scientific.net/AMR.295-297.454
Liu, G., He, B., & Yang, C. (2007). A Multi-objective Genetic Algorithm for Determining
Facility Location of Solid Wastes. Third International Conference on Natural Computation
(ICNC 2007), (Icnc), 431–435. http://doi.org/10.1109/ICNC.2007.71
Al Mamun, M. A., Hannan, M. A., Hussain, A., & Basri, H. (2015). Integrated sensing systems
and algorithms for solid waste bin state management automation. IEEE Sensors Journal, 15(1),
561–567. http://doi.org/10.1109/JSEN.2014.2351452
Barone, F. S., Costa, J. M. A., & Ciardullo, L. (2000). Temperatures at the base of a municipal
solid waste landfill. Sixth Canadian Environmental Engineering Conference, (Rowe 1998), 41–
48.
igueroa, A. M. I. (2014). Characterization of temperature profile in solid waste decomposition
to demonstrate potential for harnessing thermal energy, (November 2013), 14–17.
Kadir, A. A., Abd-Wahab, M. H., Tomari, M. R., & Jabbar, M. H. (2014). Smart Recycle Bin.
Universiti Tun Hussein Onn Malaysia, 1–4.
Gomes, Y. F., Santos, D. F. S., Almeida, H. O., & Perkusich, A. (2015). Integrating MQTT and
ISO / IEEE 11073 for Health Information Sharing in the Internet of Things. 2015 IEEE
International Conference on Consumer Electronics (ICCE), 200–201.
Xing, J. (2016). Study on Remote Wireless Smart Pot System Based on ZIGBEE + MQTT,
9(5), 1–8.
Bausà, J., Carlos, A., Gómez, G., Zaragozí, B., Alex, Z., Martínez, G.Índice, L. (n.d.). Sensores
De Temperatura, 5. Retrieved from
Kouro, S. (2001). Sensores De Humedad. Electronica, 25.Sensor, R. H. (2002). Technical 1
Data Relative Humidity Sensor, (June), 5–8.
Description, G. (2000). LM35 Precision Centigrade Temperature Sensors Precision
Centigrade Temperature Sensors, (November), 1–13.
User, P., Sensor, U., Sdn, C. T., & Reserved, A. R. (2013). User ’ s Manual, (May), 1–10.
Wlc-sppc, C. D. E. C. (n.d.). Celda de Carga. Retrieved from
http://cdigital.dgb.uanl.mx/te/1020074697.pdf
Barva, P. D. E., Rica, C., Bermúdez, K., & Villalobos, H. (2011). Índice General, 1–27.
Distrital, U., & José, F. (n.d.). Instrumentación Acondicionamiento de sensores Wlc-sppc, C.
D. E. C. (n.d.). Celda de Carga. Retrieved from
http://cdigital.dgb.uanl.mx/te/1020074697.pdf
International, D. (2014). XBee-PRO® 900HP/XBee-PRO® XSC RF Modules, 150. Retrieved
from https://cdn.sparkfun.com/datasheets/Wireless/Zigbee/90002173_N.pdf
IDEAM, & FOPAE. (2007). Estudio de la caracterización climática de Bogotá y cuenta alta
del río Tunjuelo., 116. Retrieved from
http://documentacion.ideam.gov.co/openbiblio/bvirtual/020702/CARACTERIZACIONC
LIMATICACORRECCIONFOPAECDpublicacionMA.pdf
http://pcbheaven.com/circuitpages/Long_Range_IR_Beam_Break_Detector/olid Waste Management
in Latin Americaand the Caribbean
Atmel. (2015). ATmega48A/PA/88A/PA/168A/PA/328/P, 660. Retrieved from
http://www.atmel.com/images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-
48PA-88A-88PA-168A-168PA-328-328P_datasheet_Complete.pdf
Gauchat, J. D. (2012). El gran libro de HTML5. CSS3 y Javascript. Journal of Chemical
Information and Modeling (Vol. 354).
8. Anexos
Figura 83 Diseño electrónico del prototipo
Figura 84 Estructura física para equilibrar el peso en el sensor
Figura 85 Prototipo para la medición de las características en el contenedor.
Figura 86 Prototipo ajustado en la parte de la tapa inferior para la medición de las características
Figura 87 Colocación de la estructura para el equilibrio de la medición de peso en los residuos
Figura 88.Colocacion del sensor de peso en el contenedor
Figura 89 Prototipo para el sensado en el contenedor asignado en la tapa infereior
Figura 90 Prototipo para la medición y sus partes
Figura 91 Conexión energética con batería al prototipo
- Codigos Python – MQTT
#MQTTserialv2.0
#el formato del mensaje de los contenedores es:
#ID_Punto-N_punto-HUMEDAD-TEMPERATURA-PESO-NIVEL
#luego envia esa info a la base de datos mediante MQTT
#---------------------------------------------------------
#importar librerias pahoMQTT y PYserial
import paho.mqtt.client as mqtt
import serial
#inicializo conexion broker y serial (Xbee)
cliente1=mqtt.Client()
print('iniciando conexion MQTT')
cliente1.connect('rita.udistrital.edu.co',23628,30)
#cliente1.connect('iot.eclipse.org',1883)
print('iniciando conexion serial')
puertoS = serial.Serial('/dev/ttyUSB0',9600)
Topic='/udistrital/contenedor/'
print('puede iniciar la transmision')
#bucle infinito
while True:
mensaje=''
#se espera el mensaje por puerto serial (Xbee) y se publica mediante MQTT
#for i in range(2):
mensaje = puertoS.readline() #lee puerto serie "mensaje sin peso"
# mensaje1 = puertoS.readline()#con valor de peso
#estas dos acciones son solo para verificar
print ('mensaje recibido: '+ mensaje.rstrip('\n'))
#despues de obtenido el mensaje, se hace la publicacion atravez de MQTT
cliente1.publish(Topic,mensaje,0)
- Codigo servidor MQTT
#version 5.0
#registra fecha y hora al depositar el residuo a partir de
#la deteccion mediante el sensor de infrarrojo
#y es asignado en la columna TIME_IN de la base de datos
import MySQLdb
import paho.mqtt.client as mqtt
import math
#import json
import datetime
#mosquitto broker configuracion
broker = "127.0.0.1"
broker_port = 1883
broker_topic = "/udistrital/contenedor/#"
# Establecemos la conexión con la base de datos
db = MySQLdb.connect("localhost","root","l1d3r","gestion_residuos")
# Preparamos el cursor que nos va a ayudar a realizar las operaciones con la ba$
cursor = db.cursor()
#-----------ESTABLECER CONEXION CON BROKER-----------------------------------
def on_connect (client, userdata, flags, rc):
print("Conectado satisfactoriamente " + str(rc))
client.subscribe(broker_topic)
#------------MENSAJES ENTRANTES MQTT-----------------------------------------
def on_message (client, userdata, msg):
print (str(msg.topic)+ " " + msg.payload)
solupdate=str(msg.payload)
solupdate=solupdate.split("_")#separa strings que contengan '_'
idpun =solupdate[0]
npun =solupdate[1]
hum =solupdate[2]
temp =solupdate[3]
pes =solupdate[5]#modificado el 11/11/16
nivel =solupdate[4]
pes=float(pes)
pes=-6e-10*pes*pes+5e-5*pes+0.1589
pes=pes*1000
pes=str(pes)
#HACER QUERY PARA OBTENER VALORES ANTIGUOS DE TEMPERATURA,
PESO Y HUMEDAD
sql = "SELECT HUMEDAD,TEMPERATURA,NIVEL FROM `datos_contenedor`
WHERE ID_Pu$
cursor.execute(sql)
DATOS=cursor.fetchone()
hump=float(DATOS[0])#humedad anterior
tempp=float(DATOS[1])#temperatura anterior
nivelp=float(DATOS[2])#nivel anterior
# print DATOS
# print(hump,tempp,nivelp)
est=Estado_Contenedor(float(npun),float(hum),float(temp),float(nivel),1,1,t$
est=str(est)
fechahora=datetime.datetime.now()#registra la fecha y hora
print(fechahora)#mostrar en pantalla (terminal)
fechahora=str(fechahora)
#print(solupdate)
sql = "UPDATE `datos_contenedor` SET HUMEDAD='" + hum + "', TEMPERATURA='"
$
#UPDATE `tabla` SET campo = ‘valor’, campo2 = ‘valor2’ WHERE condición
cursor.execute(sql)
db.commit() #sql "guardar cambios"
#-------------------funcion nuevo valor estado-----------------------------
#modificado el 23/11/2016
## los datos que disen pasado son los datos que esaban guardados en la base de $
## osea que tiene que llamr primero a la base de datos antes de escribirla
## lo de tomas hechas y dias no le ponga atencion y solo coloque 2 constantes
def Estado_Contenedor (Tipo_contenedor,Humedad,Temperatura,Nivel,Tomas_Hechas,D$
#print("in")
if Nivel_pasada > 2*Nivel:
Tomas_Hechas=1
Temperatura_pasada=0
else:
Tomas_Hechas=Tomas_Hechas +1
## Formiula empirica para la seleccion por nivel
Porc_Nivel = (100 - Nivel) / 100
## Proceso empirica para la seleccion por temperatura
Temperatura = Temperatura + Temperatura_pasada*(Tomas_Hechas-1)
Temperatura = Temperatura / Tomas_Hechas
if Temperatura<=11.0:
Dias_T=70
elif 11.0<Temperatura and Temperatura <=15.0:
Dias_T=26
elif (15.0<Temperatura and Temperatura <=20.0):
Dias_T=14
else:
Dias_T=8
Porc_Temperatura = max ((Temperatura*(Dias/Dias_T)), Temperatura/40)
## Proceso empirico para la seleccion de la humedad
Porc_Humedad=abs(Humedad - 50)/50
## Ecuacion empirica de los datos
if Tipo_contenedor==1:
Resultado = 0.3*Porc_Humedad + 0.4*Porc_Nivel + 0.3*Porc_Temperat$
elif Tipo_contenedor==2:
Resultado = 0.2*Porc_Humedad + 0.6*Porc_Nivel + 0.2*Porc_Temperat$
else:
Resultado = 0.25*Porc_Humedad + 0.5*Porc_Nivel + 0.25*Porc_Temper$
## Asignacion de estado de acorde al resultado de la ecuacion empirica
Resultado = Resultado*100
if Resultado <= 15:
Estado= 1
elif (16<= Resultado <= 40):
Estado =2
elif (41<= Resultado <= 70):
Estado =3
elif (71<= Resultado <= 90):
Estado =4
else:
Estado =5
# print(Estado)
return(Estado)
## ADEMAS DEL VALOR ESTADO EL DE TEMPERATURA HUMEDAD que se
modificaron aca $
#Estado_contene=Estado_Contenedor (1, 45, 24.1 , 80, 5, 3, 25, 44, 60 ,50$
#--------------------CONFIGURACION GLOBAL MQTT-------------------------------
client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message
client.connect(broker, broker_port)
client.loop_forever()
- Codigo PROgramacion microcontrolador
#include "HX711.h"
#include <SoftwareSerial.h>
#include <stdlib.h>
#include<TimeLib.h>
SoftwareSerial xbee(0, 1);// RX, TX
#include <TimerOne.h>
#include <avr/sleep.h>
volatile unsigned long blinkCount = 0; // La definimos como volatile
// variables temperatura
const int sensorTemp= A2; //
// variables distancia
int muestras =20;
float Centimetros;
int rebote;
// variables sensor humedad
float celsius, RH;
int Sensor =7;
int nivel_alto;
int nivel_bajo;
float periodo;
float frecuencia;
float Humedad, PH=0, entrada;
float arrayfrecuency[11]={7351,7224,7100,6976,6853,6728,6600,6468,6330,6186,6033};
float arrayPH[11]={0,10,20,30,40,50,60,70,80,90,100};
#define DOUT A0
#define CLK A1
HX711 balanza(DOUT, CLK);
int kilogramos;
//String CCelsius[];
void setup() {
Serial.begin(9600);
//Serial.println("");
//Serial. println("");
pinMode(9, OUTPUT); /*activación del pin 9 como salida: para el pulso ultrasónico*/
pinMode(8, INPUT); /*activación del pin 8 como entrada: tiempo del rebote del ultrasonido*/
pinMode(Sensor, INPUT); // Sensor de humedad
pinMode(2, INPUT);
attachInterrupt( 0, Interrupcion_por_time, FALLING);
//Timer1.initialize(3600000000); //(5000000); // 5segundos
//Timer1.attachInterrupt(Interrupcion_por_time);
setTime(0,0,0,1,1,2016);
//Serial.println(balanza.read());
balanza.set_scale(); //La escala por defecto es 1
balanza.tare(20); //El peso actual es considerado Tara.
pinMode(13, OUTPUT); // led de prueba
set_sleep_mode(SLEEP_MODE_PWR_DOWN);//EStablecemos el modo de bajo consumo
}
void loop() {
sleep_enable();//inicializamos el modo bajo consumo
interrupts();
//digitalWrite(13, HIGH);
rebote=0;
}
float Temperature (int Grado){
analogReference(INTERNAL);
float millivolts = (Grado / 1023.0) * 1100;
float celsius = millivolts / 10;
celsius=celsius-3;
return celsius;
analogReference(DEFAULT);
}
float MedicionHumedad(){
nivel_alto=pulseIn(Sensor,HIGH);
nivel_bajo=pulseIn(Sensor,LOW);
periodo = nivel_alto + nivel_bajo;
periodo=periodo/1000;
frecuencia=1000/periodo;
for (int pp=1;pp<=10; pp++){
// Serial.println(arrayfrecuency[pp]);
if (arrayfrecuency[pp-1]>=frecuencia && frecuencia>=arrayfrecuency[pp])
{PH=arrayfrecuency[pp-1]-arrayfrecuency[pp];
PH=((frecuencia-arrayfrecuency[pp])*10)/PH;
PH=arrayPH[pp]-PH;}
}
//Serial.print( frecuencia);
//Serial.println("Hz");
//return frecuencia;
return PH;
}
int Level(int muestras){
muestras=muestras;
int dist[10];
int moda[10];
float distancia;
float promedio=0;
int i=0, cc=0, popular=0, mayor=0, val_po=0, tiempo, proceso;
while(proceso<muestras)
{
digitalWrite(9,LOW); /* Por cuestión de estabilización del sensor*/
delayMicroseconds(5);
digitalWrite(9, HIGH); /* envío del pulso ultrasónico*/
delayMicroseconds(10);
tiempo=pulseIn(8, HIGH); /* Función para medir la longitud del pulso entrante.*/
distancia= int(0.017*tiempo); /*fórmula para calcular la distancia obteniendo un valor entero*/
//Serial.print(distancia);
//Serial.println("cm");
delay(100);
if (distancia > 100) // Selecciona un maximo en caso de daño de l senso
{
distancia=100;
}
if (distancia < 5)
{
distancia=5;
}
dist[i]=distancia;
i++;
if (i==muestras){ // ciclo para definir la canridad de muestras que deban tomarse
i=0;
for (int j = 0; j<muestras; j++)
{
promedio=dist[j]+promedio;
for (int k = 0; k<muestras; k++)
{
if (dist[j]==dist[k]){cc++;}
moda[j]=cc;
}
mayor=cc;
cc=0;
if (popular<mayor)
{popular =mayor;
val_po=j;
}
}
promedio=0;
}
return (dist[val_po]);
} }
//float Peso_Sens()
//{}
//
String ConversionFloatString(float entrada)
{
double floatVal=entrada;
char charVal[6];
String stringVal = "";
dtostrf(floatVal, 3, 3, charVal);
//display character array
// Serial.print("charVal: ");
for(int i=0;i<sizeof(charVal);i++)
{
//Serial.print(charVal[i]);
}
//Serial.println();
//convert chararray to string
for(int i=0;i<sizeof(charVal);i++)
{
stringVal+=charVal[i];
}
return stringVal;
}
void Interrupcion_por_time( )
{ sleep_disable();//desactivamos el modo bajo consumo
delay(1000);
if (rebote==0)
{rebote=1;
digitalWrite(13, HIGH);
noInterrupts(); // Suspende las interrupciones
delay(3000);
int value = analogRead(sensorTemp);
celsius = Temperature(value);
Centimetros = Level(muestras);
RH = MedicionHumedad();
entrada= celsius;
String CCelsius = ConversionFloatString(entrada);
entrada= RH;
String RRH = ConversionFloatString(entrada);
entrada= Centimetros;
String CCentimetros = ConversionFloatString(entrada);
delay (500);
time_t t = now();//Declaramos la variable time_t t
int dia = day(t);
String A2 = "79221_2_" + RRH + "_" + CCelsius + "_" + CCentimetros + "_" ; //dia+"_";
Serial.print(A2);
Serial.println(balanza.get_value(10),0);
delay (200);
}}