Tabla de contenido:

Ahorre agua y dinero con el monitor de agua de la ducha: 15 pasos (con imágenes)
Ahorre agua y dinero con el monitor de agua de la ducha: 15 pasos (con imágenes)

Video: Ahorre agua y dinero con el monitor de agua de la ducha: 15 pasos (con imágenes)

Video: Ahorre agua y dinero con el monitor de agua de la ducha: 15 pasos (con imágenes)
Video: La mejor manera de ahorrar dinero que podrás ver. 2024, Diciembre
Anonim
Ahorre agua y dinero con el monitor de agua de la ducha
Ahorre agua y dinero con el monitor de agua de la ducha
Ahorre agua y dinero con el monitor de agua de la ducha
Ahorre agua y dinero con el monitor de agua de la ducha
Ahorre agua y dinero con el monitor de agua de la ducha
Ahorre agua y dinero con el monitor de agua de la ducha
Ahorre agua y dinero con el monitor de agua de la ducha
Ahorre agua y dinero con el monitor de agua de la ducha

¿Qué utiliza más agua, un baño o una ducha?

Hace poco estuve pensando en esta pregunta y me di cuenta de que en realidad no sé cuánta agua se usa cuando me ducho. Sé que cuando estoy en la ducha, a veces mi mente divaga, pensando en una nueva idea genial para un proyecto o tratando de decidir qué desayunar, mientras el agua simplemente se escurre por el desagüe. ¡Sería mucho más fácil reducir mi consumo de agua si realmente supiera cuántos litros estoy usando cada vez!

Investigué un poco y descubrí que los diferentes cabezales de ducha pueden usar desde 9.5 litros (2.5 galones) por minuto hasta menos de 6 litros (1.6 galones) por minuto, si tiene un limitador de flujo instalado. Una ducha muy vieja podría necesitar incluso más agua.

Decidí diseñar y construir un dispositivo que mostrara el volumen total de agua utilizada por ducha, el costo del agua y el caudal. He tenido este dispositivo instalado durante algunas semanas y es realmente útil tener una lectura en vivo de la cantidad de agua que se está usando.

En este Instructable, explicaré cómo construí esto. ¡Por supuesto, no tienes que seguir exactamente mis pasos! Siempre es bueno hacer uso de las piezas que tienes por ahí. He incluido enlaces a todas las partes que utilicé o una parte equivalente que funcionará.

Suministros

(Todos los precios en USD)

  • Sensor de flujo - $ 3.87
  • Pantalla LCD - $ 2.29
  • Arduino Nano - $ 1.59
  • Convertidor de impulso - $ 1.88
  • Cargador LiPo - $ 1.89
  • Interruptor de palanca a prueba de agua - $ 0.93 (no es el exacto que usé, pero debería funcionar)
  • Pulsador impermeable - $ 1.64
  • Separadores, tornillos y tuercas M3 - $ 6.99
  • 2 conectores hembra de 3,5 mm - $ 2,86 c / u.
  • Enchufe macho de 3,5 mm - $ 1,48
  • Conjunto de cable de 3,5 mm y 3 '- $ 3,57
  • Ensamblaje de cable USB - $ 1.74
  • Acoplamiento hembra a hembra NPS de 1/2 "- $ 1.88
  • Batería LiPo de 500mAh 3.7V - $ 3.91

Herramientas y suministros comunes

  • Soldador y soldadura
  • Cable
  • Cortadores de alambre
  • Pelacables
  • Cinta de dos lados
  • Destornillador Phillips
  • Impresora 3D (opcional)

Paso 1: impermeabilización

Impermeabilización
Impermeabilización

El aspecto más difícil de este proyecto es hacer que todo sea impermeable. Dado que residirá en una ducha, debe poder sobrevivir a la humedad extrema y las salpicaduras ocasionales. Aproximadamente el 75% del tiempo total dedicado a este proyecto consistió en resolver esta parte.

A mi modo de ver, hay dos opciones: diseñar una carcasa impresa en 3D personalizada o intentar que funcione con una carcasa estándar. Como recientemente obtuve mi propia impresora 3D, decidí optar por la primera opción.

Si no tiene acceso a una impresora 3D, aquí hay algunos gabinetes listos para usar que he encontrado que afirman ser impermeables y probablemente funcionarían. Tenga en cuenta que no he comprado ninguno de estos gabinetes, por lo que no garantizo que todos los componentes quepan dentro.

Banggood - Caja de 100x68x50 mm con tapa transparente - $ 5.35

Digikey - Caja de 130x80x70mm con tapa transparente - $ 11.65

A partir de este punto, cuando me refiero al recinto, me refiero al mío impreso en 3D.

Paso 2: ¡Mi caja impresa en 3D personalizada

¡Mi caja impresa en 3D personalizada!
¡Mi caja impresa en 3D personalizada!
¡Mi caja impresa en 3D personalizada!
¡Mi caja impresa en 3D personalizada!
¡Mi caja impresa en 3D personalizada!
¡Mi caja impresa en 3D personalizada!

Después de trabajar en Fusion 360 durante varias horas, se me ocurrió este gabinete. Tiene tres cortes circulares para adaptarse a dos conectores hembra de 3,5 mm y un interruptor de palanca. La tapa tiene un orificio de 16 mm para el botón pulsador momentáneo y un corte rectangular para la pantalla, así como los cuatro orificios de montaje para mantener la pantalla en su lugar. La tapa es una parte separada y tiene un borde para ayudar a prevenir la entrada de humedad a través de la costura. Los cuatro orificios en las esquinas de la caja sirven para sujetar la tapa con separadores de 30 mm. Todos los orificios para tornillos tienen un diámetro de 3 mm, que se ajusta a un tornillo M3.

Puede descargar los archivos STL desde mi página de Thingiverse. Se puede imprimir sin balsas o soportes, pero usé soportes solo para estar seguro. También utilicé 100% de relleno. Dado que las paredes son tan delgadas, reducir el porcentaje de relleno no cambia realmente el tiempo total de impresión o el material total, así que lo mantuve al 100%.

Para que la pantalla sea visible, podría sobresalir a través de un corte en la tapa del gabinete o colocarse detrás de una ventana transparente. Dado que la pantalla no debe exponerse a la humedad, nos quedamos con la segunda opción. Desafortunadamente, la impresión 3D con filamento transparente todavía está en pañales, por lo que tendremos que ser un poco creativos.

Mi solución fue crear un recorte rectangular en la tapa y pegar un trozo de plástico transparente de un empaque de verduras. Esta técnica puede usarse incluso si no está usando mi caja personalizada; simplemente corte un rectángulo con una navaja o una Dremel. Por supuesto, si está utilizando un gabinete con una tapa transparente, esto no es necesario en absoluto.

La mejor fuente de plástico transparente que he encontrado son los envases de productos agrícolas. Por lo general, las espinacas u otras verduras de hoja vienen en recipientes grandes de plástico transparente. En mi caso, utilicé el envase de un "popurrí de pimientos".

Quería un voladizo de 5 mm para dar suficiente área de superficie para pegar, así que corté un rectángulo de plástico transparente de 27x77 mm. Tuve que recortar un poco las esquinas para que encajaran los tornillos. Apliqué una línea de pegamento alrededor del perímetro del recorte y luego coloqué el plástico transparente. Agregué un poco más de pegamento alrededor del borde después solo para asegurarme de que estuviera sellado.

Consejo profesional: coloque la pieza frente a un pequeño abanico mientras se seca el pegamento. A medida que el pegamento se seca, tiende a dejar un residuo blanco vil, que ciertamente no queremos en nuestra ventana transparente. Usé un viejo ventilador de 12 V de una fuente de alimentación de computadora. Dejé reposar el pegamento durante 12 horas para asegurarme de que estuviera completamente seco.

Paso 3: montaje de la pantalla LCD

Montaje de la pantalla LCD
Montaje de la pantalla LCD
Montaje de la pantalla LCD
Montaje de la pantalla LCD
Montaje de la pantalla LCD
Montaje de la pantalla LCD

Una vez que la ventana transparente se haya secado, se puede montar la pantalla LCD. La pantalla LCD es una pantalla de 16x2 caracteres súper popular, con la "mochila" I²C soldada previamente en la parte posterior. Recomiendo encarecidamente obtener esta pantalla con la interfaz I²C. El cableado de todas las líneas paralelas es bastante molesto e introduce más posibilidades de errores: la versión I²C solo tiene dos cables para la alimentación y dos cables para la señal.

Usé cuatro separadores de 10 mm para montar la pantalla. Cada uno de los separadores tiene una rosca macho en un extremo y una rosca hembra en el otro. Puse la rosca macho a través de los agujeros en la pantalla LCD y apreté una tuerca M3 en cada uno. Luego utilicé cuatro tornillos M3 para asegurar los extremos hembra de los separadores a través de la tapa del gabinete. Obtuve este paquete de separadores que tiene los de 10 mm para montar la pantalla LCD y los más largos para sujetar la tapa a la base. Además, hay tornillos y tuercas M3, por lo que no necesita comprar ningún hardware adicional.

Asegúrese de que las tuercas estén bien apretadas para que cuando apriete los tornillos, los separadores no giren. Además, asegúrese de no apretar demasiado los tornillos, o la tapa de plástico podría deformarse y no sellar correctamente.

La fila de 16 pines del cabezal en la pantalla LCD debe estar en la parte superior; asegúrese de no montar la pantalla LCD al revés.

Paso 4: Montaje del botón momentáneo

Montaje del botón momentáneo
Montaje del botón momentáneo
Montaje del botón momentáneo
Montaje del botón momentáneo
Montaje del botón momentáneo
Montaje del botón momentáneo

Decidí usar este botón cromado de aspecto enfermizo en el panel frontal. Los he usado en proyectos anteriores y me gusta mucho su apariencia. Se supone que son impermeables y vienen con un anillo de goma para evitar que la humedad ingrese al recinto a través de las roscas.

Este paso es bastante sencillo. Afloje la tuerca, pero mantenga el anillo de goma puesto. Inserte el botón a través del orificio de la tapa y apriete la tuerca desde la parte posterior. Evite apretar demasiado la tuerca o el anillo de goma se aplastará y no cumplirá su propósito.

Paso 5: Circuito de carga y alimentación

Circuito de alimentación y carga
Circuito de alimentación y carga
Circuito de alimentación y carga
Circuito de alimentación y carga
Circuito de alimentación y carga
Circuito de alimentación y carga

Ahora juntaremos los componentes de energía de la batería. Esto incluye la batería, el interruptor principal, la placa de carga / supervisión de la batería y el convertidor elevador.

La batería que utilicé es una batería de iones de litio de celda única de 3.7V 1500 mAh. El que utilicé fue extraído de un controlador de Playstation roto. Cualquier batería de Li-Ion o LiPo de celda única funcionará, siempre que encaje en su caja. Este tipo de batería tiende a ser muy delgada y plana, por lo que probablemente podrías usar una dos veces más grande que la mía sin ningún problema. Una celda 18650 funcionaría, pero no cabe en mi carcasa personalizada, por lo que deberá diseñar la suya propia o utilizar una carcasa estándar. Si es posible, recomiendo usar una batería recuperada (como hice yo) porque el envío de baterías suele ser caro.

La batería debe soldarse primero a la placa de carga TP4056. Si lo desea, puede soldar un conector JST RCY a la batería y al cargador por conveniencia (yo hice esto), pero no es necesario. Asegúrese de observar la polaridad correcta como lo indican las marcas en la placa del cargador, ya que la placa no está protegida contra la polaridad inversa de la batería.

A continuación, suelde un cable desde la salida positiva del cargador (ubicado al lado del cable positivo de la batería) a la entrada positiva en el convertidor elevador. Luego suelde un cable desde la salida negativa (ubicada al lado del cable negativo de la batería) al pin común (central) del interruptor principal. Finalmente, suelde un cable desde el pin normalmente abierto del interruptor a la entrada negativa del convertidor elevador. Si conecta un multímetro a la salida del convertidor elevador y enciende el interruptor maestro, se debe mostrar un voltaje.

Dado que nuestro Arduino, la pantalla LCD y el sensor de flujo necesitan 5 V, debemos configurar la salida del convertidor de refuerzo en 5 V. Esto se logra girando la perilla del potenciómetro con un destornillador pequeño. Con el interruptor principal encendido, la batería conectada y el multímetro conectado a la salida del convertidor elevador, gire lentamente el potenciómetro hasta que la salida indique 5V. Será difícil obtener una lectura de exactamente 5.000 V, pero apunte a un voltaje entre 4,9 V y 5,1 V.

Dado que mi carcasa personalizada se mantiene cerrada con varios tornillos, no queremos tener que abrir la carcasa cada vez que necesite cargarla. Usé un conector para auriculares de 3,5 mm para esto. El conector exacto que utilicé es este de Digikey (que es para lo que están dimensionados los recortes en mi gabinete), pero este de Banggood también debería funcionar.

Primero, inserté el conector en el orificio más inferior del gabinete. Dado que este estará desenchufado la mayor parte del tiempo y, por lo tanto, es susceptible a la entrada de humedad, es mejor montarlo en la parte inferior para evitar que el agua gotee en el interior. Después de instalar la arandela de seguridad y apretar la tuerca, soldé dos cables a las pestañas de "punta" y "manga" del conector. El pinout del conector se muestra en una de mis imágenes anotadas. Soldé el otro extremo del cable "manga" a la entrada negativa del cargador, al lado del puerto micro USB. Por último, soldé el cable de "punta" a la almohadilla de + 5V, en el otro lado del puerto USB. No se utilizará el puerto USB del cargador, porque sería difícil hacer que el puerto USB penetre en la carcasa sin permitir que entre humedad.

Paso 6: cable de carga

Cable de carga
Cable de carga
Cable de carga
Cable de carga
Cable de carga
Cable de carga

Como usamos un conector de audio de 3,5 mm como puerto de carga, necesitamos hacer un cable adaptador que tenga un enchufe macho de 3,5 mm en un extremo y un conector USB A en el otro. Esto nos permitirá usar cualquier cargador de dispositivo móvil genérico (como un cargador de iPhone) para cargar este dispositivo.

Puede comprar un conjunto de cable USB con un conector USB A en un extremo y cables estañados en el otro, pero si es como yo, probablemente tenga una docena de cables USB aleatorios que no necesita. En lugar de comprar un conjunto de cable USB, solo compré un cable micro USB a USB A que no necesitaba y corté el conector micro USB.

A continuación, quité la cubierta blanca del cable para revelar solo dos cables en el interior: uno rojo y uno negro. Algunos cables USB tendrán cuatro cables: rojo, negro, verde y blanco. El verde y el blanco son para la transferencia de datos y pueden ignorarse. Pele el aislamiento de los cables rojo y negro únicamente.

A continuación, necesitará un enchufe macho de 3,5 mm. Usé este de Banggood. Suelde el cable rojo del cable USB a la pestaña del medio (que es la punta del conector) y el cable negro a la pestaña de manga larga. Vea mis fotos para una aclaración.

Recomiendo siempre enchufar el enchufe de 3,5 mm antes del enchufe USB, ya que el proceso de enchufar el cable podría hacer que el enchufe se cortocircuite en el receptáculo de metal.

Paso 7: Acerca del sensor de flujo

Acerca del sensor de flujo
Acerca del sensor de flujo
Acerca del sensor de flujo
Acerca del sensor de flujo
Acerca del sensor de flujo
Acerca del sensor de flujo
Acerca del sensor de flujo
Acerca del sensor de flujo

Recogí este sensor de flujo de Banggood por $ 3.87. Antes de usarlo, decidí investigar cómo funciona.

El diseño es sorprendentemente simple e ingenioso. La electrónica está completamente sellada del agua. Hay una hélice de giro libre que gira más lento o más rápido dependiendo del caudal. En un punto de la hélice hay un imán. En el exterior del sensor hay un pequeño compartimento que contiene un pequeño PCB con dos componentes: una resistencia y un sensor de efecto Hall. Cada vez que el imán pasa por el sensor de efecto Hall, alterna entre alto y bajo. En otras palabras, cambia entre 5V y 0V cada vez que gira la hélice.

Para leer el sensor, aplicamos + 5V al cable rojo, negativo al cable negro y leemos la señal digital del cable amarillo. En la foto de mi osciloscopio se puede ver cómo cambia la señal a medida que se enciende el flujo. Al principio, la señal es constantemente de cero voltios. Cuando comienza el flujo, la frecuencia de los pulsos se acelera rápidamente y alcanza un estado estable.

Según la hoja de datos, el sensor genera 450 pulsos por litro. Esto será importante más adelante cuando estemos escribiendo el software.

Paso 8: Cableado del sensor de flujo

Cableado del sensor de flujo
Cableado del sensor de flujo
Cableado del sensor de flujo
Cableado del sensor de flujo
Cableado del sensor de flujo
Cableado del sensor de flujo
Cableado del sensor de flujo
Cableado del sensor de flujo

El sensor de flujo viene con un conector JST-XH de 3 pines. Esto no es ideal porque los cables son demasiado cortos y el conector tiene contactos expuestos que pueden cortocircuitarse fácilmente por las gotas de agua perdidas. Pedí este conjunto de cable de conector de audio de 3,5 mm de Digikey. Tiene 3 'de largo, que es la longitud perfecta, y tiene alambres estañados, lo que facilita la soldadura. No recomiendo intentar usar un cable de auriculares viejo, ya que tienden a tener un cable esmaltado muy delgado, que es casi imposible de soldar.

El sensor de flujo tiene una cubierta de plástico, sujeta por dos tornillos Phillips. Simplemente retire estos tornillos y extraiga la placa de circuito. No se sujeta con pegamento, solo se mantiene en su lugar con la tapa de plástico. A continuación, desolde los tres cables calentándolos con un soldador y levantándolos, uno a la vez.

A continuación, suelde el cable de audio de 3,5 mm a las almohadillas. Sugiero combinar los colores de la forma en que lo hice. Esta configuración tiene + 5V en la punta, señal en el anillo y tierra en la manga. Esta es la misma configuración utilizada para el puerto de carga, desde el paso 6. Si accidentalmente conecta el cargador al puerto del sensor, o viceversa, no habrá ningún daño en el dispositivo.

Paso 9: Instalación del sensor de flujo

Instalación del sensor de flujo
Instalación del sensor de flujo
Instalación del sensor de flujo
Instalación del sensor de flujo
Instalación del sensor de flujo
Instalación del sensor de flujo

Hasta este momento, todo nuestro trabajo ha tenido lugar en el taller. ¡Pero ahora es el momento de ir al baño!

Primero, quité el cabezal de la ducha. Esto reveló un trozo corto de tubería que sobresale de la pared, con rosca macho NPS de 1/2 . ¡Convenientemente, nuestro sensor de flujo tiene exactamente el mismo tamaño de rosca! El único problema es que el sensor tiene rosca macho en ambos extremos, por lo que lo haremos necesita un acoplamiento de hembra a hembra.

En mi ferretería local, había acoplamientos de 1/2 en latón, hierro y PVC. El de PVC era el más barato, así que lo compré. Aunque en retrospectiva, los de latón o acero se habrían visto mejor.

Una vez que tenga el acoplamiento, simplemente atornille el sensor de flujo en el acoplamiento y luego atornille el otro extremo del acoplamiento en la tubería. El sensor de flujo tiene una flecha para indicar la dirección prevista del flujo. Asegúrese de no instalarlo al revés, de lo contrario, las medidas podrían ser inexactas. Finalmente, atornille el cabezal de la ducha en el extremo del sensor de flujo.

Por supuesto, supongo que su ducha usa una rosca NPS de 1/2 , como la mía. Si este no es el caso, necesitará adaptadores adicionales.

Consejo profesional: agregue un poco de cinta de plomero de teflón a todas las roscas antes de atornillar las piezas para evitar fugas. No tenía ninguno a mano, pero planeo agregarlo en un futuro cercano.

Paso 10: Arduino y Perfboard

Arduino y Perfboard
Arduino y Perfboard
Arduino y Perfboard
Arduino y Perfboard
Arduino y Perfboard
Arduino y Perfboard

Dado que tendremos que hacer mucho cableado, es una buena idea conseguir un trozo de tablero perfilado para hacer las cosas un poco más ordenadas. Corté un rectángulo de perfboard de aproximadamente 1 "por 2". A continuación, coloqué mi Arduino Nano en el medio de la placa y marqué por donde pasaban los pines del cabezal. Luego corté dos trozos de cabezales hembra, cada uno de 15 pines de largo. Los soldé en el perfboard donde los marqué previamente. Esto nos permitirá eliminar el Arduino para programar.

Consejo profesional: marque la orientación del puerto USB de Arduino para que siempre lo conecte a la placa de perforación de la misma manera.

Paso 11: Cableado de todo

Cableado de todo
Cableado de todo
Cableado de todo
Cableado de todo
Cableado de todo
Cableado de todo

¡Ahora es el momento de soldar todo junto! He incluido un diagrama de cableado completo, que puede seguir, o ver mis pasos escritos a continuación si prefiere un enfoque más guiado.

Primero, corté algunos pines de cabezal macho y los soldé al tablero de perfiles en los rieles de + 5V y tierra. Luego soldé dos pines de encabezado más conectados a los pines A4 y A5 en el Arduino. Estos encabezados nos permitirán conectar la pantalla LCD mediante puentes hembra a hembra.

A continuación, soldé un par de cables desde la salida del convertidor elevador a los rieles de + 5V y tierra. Esto proporcionará energía al Arduino, la pantalla LCD y el sensor de flujo.

Después de eso, corté dos cables y los conecté a los terminales del pulsador. Soldé un cable al riel de tierra y el otro al pin digital 3.

La última parte para soldar es el sensor de flujo. Como ya conectamos un enchufe de 3,5 mm al sensor, solo necesitamos soldar un conector hembra de 3,5 mm. Primero soldé tres cables, uno a cada una de las pestañas del conector. Luego inserté el gato a través del gabinete y lo aseguré en su lugar con una tuerca. Finalmente, soldé la manga a tierra, la punta a + 5V y el anillo al pin digital 2.

Elegí usar los pines digitales 2 y 3 para el botón y el sensor de flujo porque son pines de interrupción de hardware. Esto hará que sea mucho más fácil escribir el código.

Ahora hemos terminado de soldar, pero aún necesitamos conectar la pantalla LCD. Dado que soldamos los encabezados, solo necesitamos cuatro puentes de mujer a mujer. Conecte el pin "Vcc" a + 5V, el pin "Gnd" a tierra, el pin "SCL" a A5 y el pin "SDA" a A4. Para que la pantalla LCD encaje en el gabinete, necesitaremos doblar las clavijas del cabezal hacia atrás. Doblar los pasadores hacia adelante y hacia atrás varias veces fatiga el metal y hace que se rompan, por lo que recomiendo doblarlos solo una vez, y hacerlo con cuidado.

¡Ahora el cableado está completo!

Paso 12: Programación

Programación
Programación

Ahora que todo el hardware está conectado, podemos programar el Arduino.

Quiero que el programa tenga las siguientes características:

  • En la primera línea, muestra un recuento de actualización rápida de los litros totales.
  • En la segunda línea, muestre el costo total del agua o el caudal
  • Cuando la ducha está funcionando, el botón cambia entre mostrar el costo o el caudal
  • Cuando la ducha no está funcionando, el botón debe borrar todos los datos y reiniciar la pantalla.
  • El sensor debe leerse utilizando una rutina de interrupción para evitar métodos de sondeo groseros.
  • Al actualizar la pantalla, solo debemos actualizar los valores que han cambiado, en lugar de sobrescribir toda la pantalla cada vez (esto causaría un parpadeo notable)

El programa sigue una estructura simple. Al usar la función millis (), podemos crear retrasos que en realidad no detienen la ejecución del programa. Vea este tutorial para ver un ejemplo de cómo hacer parpadear un LED sin usar la función delay ().

La función millis () devuelve el número de milisegundos desde que se encendió Arduino. Al crear una variable "previousMillis" y restar Millis () - previousMillis (), podemos ver el tiempo transcurrido desde que previousMillis fue actualizado.

Si queremos que suceda algo una por segundo, podemos usar el siguiente bloque de código:

if ((millis () - previousMillis)> = 1000) {

anteriorMillis = millis (); toggleLED (); }

Esto verifica si la diferencia entre millis () (la hora actual) y previousMillis (la última vez) es mayor o igual a 1000 milisegundos. Si es así, lo primero que hacemos es establecer previousMillis igual a la hora actual. Luego ejecutamos los pasos adicionales que queramos. En este ejemplo, estamos alternando un LED. Luego salimos de este bloque de código y terminamos el resto de la función loop (), antes de volver al inicio y repetirlo todo de nuevo.

El beneficio de usar este método sobre la función simple delay () es que delay () pone un espacio de tiempo entre las instrucciones, pero no tiene en cuenta el tiempo que lleva ejecutar las otras instrucciones en la función loop (). Si está haciendo algo que lleva más tiempo que simplemente hacer parpadear un LED, como actualizar una pantalla LCD, el tiempo que lleva no es insignificante y, después de algunos ciclos, se acumulará. Si está actualizando la pantalla LCD en un reloj, rápidamente se volverá inexacta y se quedará atrás.

Entonces, ahora que entendemos la estructura general del programa, es hora de insertar las instrucciones. En lugar de explicar cada línea de código aquí, le sugiero que primero lea el diagrama de flujo adjunto, que brinda una descripción general de alto nivel de lo que hace el programa.

Una vez que haya visto el diagrama de flujo, eche un vistazo al código Arduino adjunto. He comentado casi todas las líneas para dejar en claro lo que hace cada línea.

Hay algunas partes en el código que es posible que desee cambiar. Lo más importante es el costo por litro. En mi ciudad, el agua cuesta 0,2523 ¢ el litro. Busque la siguiente línea y cambie ese valor para que coincida con el costo del lugar donde vive:

const float COST_PER_LITRE = 0.2523; // costo por litro, en centavos, del sitio web de la ciudad

Si prefiere usar galones en lugar de litros, cambie todas las líneas "LCD.print ()" que se refieren a "L" o "L / s" a "G" o "G / s". Luego borre la siguiente línea:

const float CONVERSION = 450.0; // mantener esto sin comentar por litros

… y descomente esta línea:

const float CONVERSION = 1703.0; // descomenta esto y borra la línea de arriba para galones

Hay una rareza más que quizás hayas notado en mi código. El juego de caracteres predeterminado no incluye el carácter "¢" y no quería usar dólares, porque el costo se mostraría como "$ 0.01" o menos durante la mayor parte del tiempo. Por lo tanto, me vi obligado a crear un personaje personalizado. La siguiente matriz de bytes se utiliza para representar este símbolo:

byte cent_sign = {B00100, B00100, B01111, B10100, B10100, B01111, B00100, B00100};

Después de crear esta matriz, el carácter especial debe "crearse" y almacenarse.

lcd.createChar (0, signo_cent);

Una vez hecho esto, para imprimir el carácter personalizado usamos la siguiente línea:

lcd.write (byte (0)); // imprimir el signo de centavos (¢)

La pantalla LCD puede tener hasta 8 caracteres personalizados. Más información sobre esto está aquí. También encontré esta útil herramienta en línea que le permite dibujar el carácter personalizado usando una interfaz gráfica y generará automáticamente la matriz de bytes personalizada.

Paso 13: Cerrar la tapa

Cerrando la tapa
Cerrando la tapa
Cerrando la tapa
Cerrando la tapa
Cerrando la tapa
Cerrando la tapa

¡Finalmente, casi terminamos!

Es hora de meter todos los componentes electrónicos en el gabinete y esperar que la tapa se cierre. Pero primero, necesitamos unir los separadores de 30 mm. El paquete de separadores que compré no incluye ninguno que sea tan largo, pero viene con unos de 20 mm y 10 mm que se pueden unir. Atornillé cuatro separadores en los orificios en la parte inferior del gabinete con cuatro tornillos M3 (ver imágenes 1 y 2). Asegúrese de apretarlos de forma segura, pero no demasiado, o corre el riesgo de romper la carcasa de plástico.

Ahora podemos meter toda la electrónica en su interior. Adjunté el cargador y el convertidor elevador a la tapa con cinta adhesiva de doble cara, como se ve en la tercera imagen. Luego envolví un poco de cinta aislante alrededor del metal expuesto en los dos conectores de 3,5 mm, solo para asegurarme de que nada se cortocircuite al contactar los conectores.

Pude hacer que el Arduino encajara colocándolo de lado, en la esquina inferior izquierda, con su puerto USB hacia la derecha. Usé más cinta adhesiva de doble cara para asegurar la batería a la parte inferior del gabinete debajo de la pantalla LCD.

Finalmente, una vez que todo esté atascado de manera más o menos segura en la caja, la tapa se puede atornillar con cuatro tornillos M3 más.

Paso 14: Prueba

Pruebas
Pruebas
Pruebas
Pruebas
Pruebas
Pruebas
Pruebas
Pruebas

Primero conecte el conector de 3,5 mm del sensor de flujo. Recomiendo hacer esto antes de encender el dispositivo, porque es posible que el enchufe haga una conexión no deseada mientras se inserta.

A continuación, encienda el interruptor de alimentación principal. Si bien no hay agua corriendo, el botón del panel frontal no debería hacer nada más que borrar el total y borrar la pantalla. Dado que el total será cero de forma predeterminada, el botón no parecerá hacer nada todavía.

Si abre la ducha, el total debería comenzar a aumentar. De forma predeterminada, se muestra el costo. Si presiona el botón del panel frontal, el caudal se mostrará en la línea inferior. Al presionar el botón del panel frontal, se alternará entre mostrar la tasa de flujo y mostrar el costo, siempre que la ducha esté funcionando. Una vez que se detiene la ducha, al presionar el botón del panel frontal se restablecerán las medidas y se borrará la pantalla.

Montaje

La forma en que elija montar el dispositivo depende del diseño de su ducha. Algunas duchas pueden tener una repisa lo suficientemente cerca del cabezal de la ducha como para que pueda colocar el dispositivo allí. En mi ducha, tengo una canasta adjunta con ventosas en la que coloqué el dispositivo dentro. Si no tiene el lujo de una repisa o una canasta, puede intentar sostener el dispositivo contra la pared con una ventosa de doble cara. Esto solo funcionará si está utilizando un gabinete listo para usar que tiene un respaldo liso, o si imprimió mi gabinete personalizado en una impresora con una placa de construcción de vidrio. Si su caja tiene un respaldo rugoso (como el mío), podría intentar usar cinta adhesiva de doble cara, aunque esto podría dejar algún residuo en la pared de la ducha si intenta quitar el dispositivo.

Solución de problemas

La pantalla está encendida, pero la luz de fondo está apagada; asegúrese de que el puente esté instalado en los dos pines en el costado del módulo I ² C

La pantalla está en blanco, con la luz de fondo encendida: verifique que la dirección I ² C sea correcta ejecutando el escáner I²C

La pantalla está encendida, pero los valores permanecen en cero; verifique que haya una señal proveniente del sensor midiendo el voltaje en el pin 2. Si no hay señal, verifique que el sensor esté conectado correctamente.

La pantalla está en blanco con la luz de fondo apagada: verifique que el LED de encendido del Arduino esté encendido y verifique que la pantalla tenga energía

La pantalla se enciende brevemente, luego todo se detiene; probablemente haya configurado el voltaje del convertidor elevador demasiado alto (los componentes no pueden manejar más de 5V)

El dispositivo funciona, pero los valores son incorrectos; asegúrese de que el sensor de flujo que está utilizando tenga el mismo factor de conversión de 450 pulsos por litro. Los diferentes sensores pueden tener diferentes valores.

Paso 15: ¡Empiece ahora a ahorrar agua

Mejoras

La versión actual del software funciona lo suficientemente bien, pero eventualmente me gustaría agregar la capacidad de tener diferentes usuarios (miembros de la familia, compañeros de casa, etc.) El dispositivo almacenaría las estadísticas de cada persona (agua total y número total de duchas) para mostrar un consumo medio de agua para cada persona. Esto podría alentar a las personas a competir para usar la menor cantidad de agua.

También sería genial tener una forma de exportar los datos para verlos en una hoja de cálculo, de modo que puedan graficarse. Entonces podría ver en qué épocas del año las personas tienen duchas más frecuentes y prolongadas.

Todas estas características requerirían el uso de EEPROM, la memoria no volátil incorporada de Arduino. Esto permitiría que los datos se retengan incluso después de apagar el dispositivo.

Otra característica útil sería un indicador de batería. En este momento, la única indicación de que el dispositivo debe recargarse es cuando la placa del administrador de batería corta la alimentación. Sería fácil conectar una entrada analógica adicional para medir el voltaje de la batería. Ni siquiera se necesitaría un divisor de voltaje, ya que el voltaje de la batería siempre es inferior a 5V.

Algunas de estas ideas están al borde de la pérdida de características, por lo que no desarrollé más el software.

¡El resto depende de usted!

Concurso de sensores
Concurso de sensores
Concurso de sensores
Concurso de sensores

Primer premio en el Concurso de Sensores

Recomendado: