Tabla de contenido:

Sewer'Sway: 3 pasos
Sewer'Sway: 3 pasos

Video: Sewer'Sway: 3 pasos

Video: Sewer'Sway: 3 pasos
Video: SWAY | PUSSYCATDOLLS | Dance choreography 2024, Noviembre
Anonim
Sewer'Sway
Sewer'Sway

El proceso actual de limpieza de las líneas de alcantarillado es reactivo en lugar de proactivo. Las llamadas telefónicas se registran en caso de obstrucción de la línea de alcantarillado en un área. Además, es difícil para los limpiadores manuales concentrarse en el punto de error. Utilizan el método de prueba y golpe para realizar el proceso de limpieza en múltiples pozos de la zona afectada, lo que supone una gran pérdida de tiempo. Además, la alta concentración de gases tóxicos provoca irritabilidad, dolores de cabeza, fatiga, sinusitis, bronquitis, neumonía, pérdida de apetito, mala memoria y mareos.

La solución es diseñar un prototipo, que es un dispositivo pequeño, con el factor de forma de un bolígrafo, incrustado en la tapa de una alcantarilla. La sección inferior del dispositivo, que está expuesta al interior de la boca de inspección mientras la tapa está cerrada, se compone de sensores que detectan el nivel de agua dentro de la alcantarilla y la concentración de gases que incluyen metano, monóxido de carbono, dióxido de carbono y óxidos de nitrógeno.. Los datos se recopilan en una estación maestra, que se comunica con estos dispositivos instalados en cada alcantarilla a través de LoRaWAN, y envía los datos a un servidor en la nube, que alberga un tablero con fines de monitoreo. Además, esto cierra la brecha entre las autoridades municipales responsables del mantenimiento del alcantarillado y la recolección de basura. La instalación de estos dispositivos en toda la ciudad permitirá una solución preventiva para identificar y señalar la ubicación de la línea de alcantarillado obstruida antes de que las aguas residuales lleguen a la superficie.

Suministros

1. Sensor ultrasónico - HC-SR04

2. Sensor de gas - MQ-4

3. Pasarela LoRa - Raspberry pi 3

4. Módulo LoRa - Semtech SX1272

5. NodeMCU

6. Módulo de timbre

7. 500 mAh, batería de iones de litio de 3,7 V

Paso 1:

Imagen
Imagen
Imagen
Imagen
Imagen
Imagen
Imagen
Imagen

Para el primer prototipo, utilicé un tic-tac (caja de mentas frescas) como recinto. La instalación de sensores ultrasónicos se realizó de tal manera que apunten el Tx y el Rx hacia el flujo de alcantarillado. Las conexiones al sensor ultrasónico y al sensor de gas son muy sencillas. Solo necesita alimentar los sensores individuales y usar cualquiera de los 8 pines digitales disponibles en NodeMCU para leer datos. He establecido las conexiones para una mejor comprensión.

Paso 2: familiarizarse con SEMTECH SX1272

Nuestro siguiente paso sería instalar las bibliotecas en nuestro NodeMCU.

Puede encontrar las bibliotecas del módulo Semtech LoRa en este enlace:

Para instalar esta biblioteca:

  • Instálelo usando el administrador de la biblioteca Arduino ("Sketch" -> "Incluir biblioteca" -> "Administrar bibliotecas …"), o
  • Descargue un archivo zip de github usando el botón "Descargar ZIP" e instálelo usando el IDE ("Sketch" -> "Incluir biblioteca" -> "Agregar biblioteca. ZIP …"
  • Clona este repositorio de git en tu carpeta de cuaderno de bocetos / bibliotecas.

Para que esta biblioteca funcione, su Arduino (o cualquier placa compatible con Arduino que esté utilizando) debe estar conectada al transceptor. Las conexiones exactas dependen un poco de la placa del transceptor y del Arduino utilizado, por lo que esta sección intenta explicar para qué sirve cada conexión y en qué casos (no) es necesaria.

Tenga en cuenta que el módulo SX1272 funciona a 3.3V y probablemente no le gusten 5V en sus pines (aunque la hoja de datos no dice nada sobre esto, y mi transceptor no se rompió obviamente después de usar accidentalmente E / S de 5V durante unas horas). Para estar seguro, asegúrese de usar un cambiador de nivel o un Arduino que funcione a 3.3V. La placa de evaluación Semtech tiene resistencias de 100 ohmios en serie con todas las líneas de datos que podrían evitar daños, pero no contaría con eso.

Los transceptores SX127x necesitan una tensión de alimentación de entre 1,8 V y 3,9 V. Es típico usar un suministro de 3.3V. Algunos módulos tienen un solo pin de alimentación (como los módulos HopeRF, etiquetados como 3.3V), pero otros exponen varios pines de alimentación para diferentes partes (como la placa de evaluación Semtech que tiene VDD_RF, VDD_ANA y VDD_FEM), que se pueden conectar todos juntos. Todos los pines GND deben estar conectados a los pines GND de Arduino.

La forma principal de comunicarse con el transceptor es a través de SPI (Interfaz de periféricos en serie). Esto usa cuatro pines: MOSI, MISO, SCK y SS. Los tres primeros deben estar conectados directamente: MOSI a MOSI, MISO a MISO, SCK a SCK. La ubicación de estos pines en su Arduino varía, consulte, por ejemplo, la sección "Conexiones" de la documentación de Arduino SPI. La conexión SS (selección de esclavo) es un poco más flexible. En el lado esclavo SPI (el transceptor), esto debe conectarse al pin (típicamente) etiquetado NSS. En el lado del maestro SPI (Arduino), este pin se puede conectar a cualquier pin de E / S. La mayoría de los Arduino también tienen un pin etiquetado como "SS", pero esto solo es relevante cuando el Arduino funciona como un esclavo SPI, lo cual no es el caso aquí. Cualquiera que sea el pin que elija, debe decirle a la biblioteca qué pin utilizó a través del mapeo de pines (ver más abajo).

Los pines DIO (E / S digitales) de la placa del transceptor se pueden configurar para varias funciones. La biblioteca LMIC los usa para obtener información de estado instantánea del transceptor. Por ejemplo, cuando se inicia una transmisión LoRa, el pin DIO0 se configura como una salida TxDone. Cuando se completa la transmisión, el transceptor pone en alto el pin DIO0, que puede ser detectado por la biblioteca LMIC. La biblioteca LMIC solo necesita acceso a DIO0, DIO1 y DIO2, los otros pines DIOx se pueden dejar desconectados. En el lado de Arduino, pueden conectarse a cualquier pin de E / S, ya que la implementación actual no usa interrupciones u otras características especiales de hardware (aunque esto podría agregarse en la característica, vea también la sección "Sincronización").

En el modo LoRa, los pines DIO se utilizan de la siguiente manera:

  • DIO0: TxDone y RxDone
  • DIO1: RxTimeoutIn

Modo FSK se utilizan de la siguiente manera:

  • DIO0: PayloadReady y PacketSent
  • DIO2: TimeOut

Ambos modos necesitan solo 2 pines, pero el tranceiver no permite mapearlos de tal manera que todas las interrupciones necesarias se mapeen en los mismos 2 pines. Por lo tanto, si se utilizan los modos LoRa y FSK, los tres pines deben estar conectados. Los pines utilizados en el lado de Arduino deben configurarse en el mapeo de pines en su boceto (ver más abajo). Restablecer El transceptor tiene un pin de restablecimiento que se puede utilizar para restablecerlo explícitamente. La biblioteca LMIC usa esto para asegurar que el chip esté en un estado consistente al inicio. En la práctica, este pin se puede dejar desconectado, ya que el transceptor ya estará en un estado sano al encenderlo, pero conectarlo podría evitar problemas en algunos casos. En el lado de Arduino, se puede usar cualquier pin de E / S. El número de pin utilizado debe configurarse en el mapeo de pin (ver más abajo).

El transceptor contiene dos conexiones de antena separadas: una para RX y otra para TX. Una placa de transceptor típica contiene un chip de conmutación de antena, que permite cambiar una sola antena entre estas conexiones RX y TX. Por lo general, a un conmutador de antena de este tipo se le puede decir en qué posición debe estar a través de un pin de entrada, a menudo etiquetado como RXTX. La forma más fácil de controlar el interruptor de la antena es usar el pin RXTX en el transceptor SX127x. Este pin se establece automáticamente en alto durante TX y bajo durante RX. Por ejemplo, las placas HopeRF parecen tener esta conexión en su lugar, por lo que no exponen ningún pin RXTX y el pin se puede marcar como no utilizado en el mapeo de pines. Algunas placas exponen el pin del conmutador de antena y, a veces, también el pin SX127x RXTX. Por ejemplo, la placa de evaluación SX1272 llama al primero FEM_CTX y al último RXTX. Nuevamente, simplemente conectarlos con un cable de puente es la solución más fácil. Alternativamente, o si el pin SX127x RXTX no está disponible, LMIC se puede configurar para controlar el interruptor de antena. Conecte el pin de control del interruptor de antena (por ejemplo, FEM_CTX en la placa de evaluación Semtech) a cualquier pin de E / S en el lado de Arduino y configure el pin utilizado en el mapa de pines (ver más abajo). Sin embargo, no está del todo claro por qué no querría que el transceptor controle la antena directamente.

Paso 3: Impresión 3D de un gabinete

Impresión 3D de un recinto
Impresión 3D de un recinto
Impresión 3D de un recinto
Impresión 3D de un recinto

Una vez que tuve todo en funcionamiento, decidí imprimir en 3D una carcasa para el módulo para un diseño más atractivo.

Con el producto final en la mano, la instalación en la boca de inspección y la obtención de resultados en tiempo real en un tablero fue fácil. Los valores de concentración de gas en tiempo real con la indicación del nivel del agua permitieron a las autoridades adoptar un enfoque proactivo junto con una forma más segura de abordar el problema.

Recomendado: