Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Sensor de calidad del agua basado en IoT

Componentes y suministros

Arduino UNO
× 1
Cables de puente macho / hembra
× 1
Módulo Bluetooth HC-05
× 1
Cátodo común difuso RGB
× 1
Resistencia de 330 ohmios
× 3
Potenciómetro giratorio (genérico)
× 1
Kit de pantalla LCD RGB, pantalla de caracteres de 16x2
× 1
Resistencia 1k ohm
× 1

Herramientas y máquinas necesarias

Pelacables y cortador, cables sólidos y trenzados de 26-14 AWG

Aplicaciones y servicios en línea

Arduino IDE
Ardutooth

Acerca de este proyecto

El agua es un recurso esencial en nuestra vida diaria. Por lo tanto, debemos asegurarnos de que sea de buena calidad para su uso.

¿Qué es TDS?

TDS son las siglas de Total Dissolved Solids. Como sugiere el nombre, nos da la cantidad de sólidos disueltos en una cierta cantidad de agua, en ppm (partes por millón). El TDS se calcula en función de la conductividad eléctrica [S / m]. Cuanto mayor sea la conductividad eléctrica, mayor será el valor de TDS. Aquí hay una lista de los valores de TDS de diferentes tipos de agua:

  • Agua pura:80-150
  • Agua del grifo:250-350
  • Agua subterránea:500-1000
  • Agua de mar:alrededor de 30000

Según lo recomendado por la OMS (Organización Mundial de la Salud), el TDS adecuado del agua potable está por debajo de 300. Sin embargo, el agua con TDS por debajo de 100 no se puede consumir, ya que carecería de los minerales esenciales. El agua por encima de 300 se considera demasiado "dura", ya que contiene más minerales de los necesarios.

Normalmente, usamos un bolígrafo TDS para medir el TDS del agua. Sin embargo, no podemos integrar el lápiz con Arduino. Por lo tanto, hay medidores TDS especiales disponibles que se pueden integrar con Arduino. Sin embargo, he decidido hacer este proyecto sin el uso del lápiz TDS.

El circuito

Arduino

  • Conecte 5V de Arduino a un riel de alimentación de la placa de pruebas
  • Conecte la tierra de Arduino a la otra línea de alimentación de la placa de pruebas
  • Conecte un extremo de una resistencia de 1 k-ohm al suelo y el otro extremo a la placa de pruebas. Conecte el pin analógico A0 en el Arduino a la resistencia. Finalmente, conecte un cable a la resistencia y otro cable a 5V. Conecte los extremos libres de estos cables a las pinzas de cocodrilo.

LCD Pantalla

  • Conecte el pin VSS al riel de tierra
  • Conecte el pin VDD al riel de 5V
  • Conecte V0 al pin central del potenciómetro
  • Conecte los extremos del potenciómetro a 5V y tierra
  • Conecte el pin RS al pin 7 de Arduino
  • Conecte el pin R / W al riel de tierra
  • Conecte el pin E al pin 8 de Arduino
  • Conecte D4 al pin 10 de Arduino
  • Conecte D5 al pin 11 de Arduino
  • Conecte D6 al pin 12 de Arduino
  • Conecte D7 al pin 13 de Arduino

Módulo Bluetooth HC-05

  • Conecte el pin VCC al riel de 5V
  • Conecte el pin GND a tierra
  • Conecte el pin TX al pin 3 de Arduino (sirve como RX)
  • Conecte el pin RX al pin 2 de Arduino (sirve como TX)

LED RGB

  • Conecte el cátodo común (pin más largo) a tierra
  • Conecte el pin rojo (a la derecha del pin del cátodo) al pin 9 de PWM en Arduino a través de una resistencia de 330 ohmios
  • Conecte el pin verde (a la izquierda del pin del cátodo) al pin 6 de PWM en Arduino a través de una resistencia de 330 ohmios
  • Conecte el pin azul (extremo izquierdo) al pin 5 de PWM en Arduino a través de una resistencia de 330 ohmios

Derivación para calcular la resistencia entre cables libres

Usaremos la ley de Ohm, que establece que el voltaje [V] a través de una resistencia de resistencia R es directamente proporcional a la corriente [I] que fluye a través de la resistencia. En otras palabras, V =IR

Aunque hay un cable conectado entre las 2 resistencias [R₁ - 1000 ohmios, y R₂ - entre los cables libres] al pin analógico A0 en el Arduino, la resistencia de ese cable puede despreciarse y, por lo tanto, podemos decir que una corriente mínima fluye a través del cable. Entonces, R₁ y R₂ están conectados en serie.

Entonces, podemos decir que V₁ =IR₁ y V₂ =IR₂ .

Por lo tanto, podemos decir V₂ / V₁ =IR₂ / IR₁ =R₂ / R₁

. Sin embargo, no conocemos V₂.

Sabemos que en una combinación en serie de resistencias, V₁ + V₂ =V , donde V =5 Voltios. De esto, podemos obtener V₂ =5-V₁

Finalmente, sustituyendo el valor que obtuvimos por V₂ en V₂ / V₁ =R₂ / R₁ , podemos definir un búfer variable para que sea 5-V₁ / V₁ , en lugar de V₂ / V₁ .

Finalmente, podemos decir que R₂ =buffer * R₁ .

El trabajo

Calcularemos la resistencia del agua bajo prueba, y de ahí obtendremos la resistividad. Tenemos que considerar la longitud y el área de la sección transversal de nuestro contenedor para esto.

  R =r L / A => r =R A / L  

De la resistividad, podemos obtener la conductividad

  c =1 / r  

Finalmente, obtenemos el TDS de la conductividad

  TDS =c * 7000  

Bibliotecas

  • Biblioteca de cristal líquido:https://www.arduinolibraries.info/libraries/liquid-crystal
  • Biblioteca de serie de software:https://pdfpunk.weebly.com/softwareserial-library-download.html

Puede descargar estas bibliotecas y agregarlas a su IDE de Arduino, o puede ir a Herramientas -> administrar bibliotecas -> buscar la biblioteca que desea descargar

Código

  • Código de monitoreo de la calidad del agua
Código de monitoreo de la calidad del agua Arduino
 // incluir bibliotecas # incluir  #include  // para bluetooth - crear un objeto llamado BTserial, con pin RX en 3 y pin TX en 2SoftwareSerial BTserial (3,2); // RX | TX // decraración de todas nuestras variables flotante lee; int pin =A0; float vOut =0; // caída de voltaje en 2 puntos flotador vIn =5; float R1 =1000; float R2 =0; float buffer =0; float TDS; float R =0; // resistencia entre los 2 cables flotador r =0; // resistividad flotador L =0.06; // distancia entre los cables en mdouble A =0.000154; // área de la sección transversal del cable en m ^ 2float C =0; // conductividad en S / mfloat Cm =0; // conductividad en mS / cmint rPin =9; int bPin =5; int gPin =6; int rVal =255; int bVal =255; int gVal =255; // Usaremos esta fórmula para obtener la resistividad después de usar la ley de ohmios -> R =r L / A => r =RA / L // creando un objeto lcd a partir de la biblioteca de cristal líquido LiquidCrystal lcd (7,8,10,11,12,13 ); void setup () {// inicializar BT serial y monitor serial Serial.begin (9600); BTserial.begin (9600); // inicializar lcd lcd.begin (16, 2); // establece los pines led rgb (todos para ser pines pwm en Arduino) como salida pinMode (rPin, OUTPUT); pinMode (bPin, SALIDA); pinMode (gPin, SALIDA); pinMode (pin, ENTRADA); // Imprimir mensaje estancado en LCD lcd.print ("Conductivity:");} void loop () {lee =analogRead (A0); vOut =lee * 5/1023; Serial.println (lecturas); // Serial.println (vOut); búfer =(vIn / vOut) -1; R2 =R1 * tampón; Serial.println (R2); retraso (500); // convertir voltaje en resistencia // Aplicar la fórmula mencionada anteriormente r =R2 * A / L; // R =rL / A // convertir resistividad a condictividad C =1 / r; Cm =C * 10; // convertir la conductividad en mS / cm a TDS TDS =Cm * 700; // Coloca el cursor de la pantalla LCD en la siguiente fila lcd.setCursor (0,1); lcd.println (C); // muestra los colores correspondientes en el led rgb de acuerdo con la lectura analógica if (lee <600) {if (lee <=300) {setColor (255, 0, 255); } if (lee> 200) {setColor (200, 0, 255); }} else {if (lee <=900) {setColor (0, 0, 255); } if (lee> 700) {setColor (0, 255, 255); }} // envía datos a la aplicación Ardutooth en el teléfono móvil a través de bluetoothBTserial.print (C); BTserial.print (","); BTserial.print (TDS); BTserial.print (";"); delay (500); } void setColor (int rojo, int verde, int azul) {analogWrite (rPin, 255 - rojo); analogWrite (gPin, 255 - verde); analogWrite (bPin, 255 - azul); } 

Piezas y carcasas personalizadas

Usé un tubo de ensayo viejo que tenía para hacer esto. Hice agujeros en cada extremo del tubo e inserté cables en cada extremo. Finalmente, para mantener los cables en su lugar, coloqué un poco de masilla.

Esquemas


Proceso de manufactura

  1. IoT básico - RaspberryPI HDC2010 cómo
  2. Proyecto de IoT basado en Raspberry PI que conecta el sensor DHT11
  3. IoT celular:cubo de basura inteligente
  4. Sensor de calidad del aire con helio
  5. Sensor de agua de alta sensibilidad en MCP3008
  6. Windows 10 IoT Core y SHT15
  7. Sensor de temperatura múltiple
  8. Botella de agua con tecnología Arduino
  9. Pistola de agua con sensor de movimiento
  10. Estación meteorológica local
  11. Sensor de calidad del aire a base de carbono