Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Capteur de qualité de l'eau basé sur l'IoT

Composants et fournitures

Arduino UNO
× 1
Câbles de raccordement mâle/femelle
× 1
Module Bluetooth HC-05
× 1
Cathode commune diffuse RVB
× 1
Résistance 330 ohm
× 3
Potentiomètre rotatif (générique)
× 1
Kit de protection LCD RGB, affichage 16x2 caractères
× 1
Résistance 1k ohm
× 1

Outils et machines nécessaires

Dénudeur et coupe-fil, 26-14 AWG Fils solides et multibrins

Applications et services en ligne

Arduino IDE
Ardutooth

À propos de ce projet

L'eau est une ressource essentielle dans notre vie quotidienne. Nous devons donc nous assurer qu'il est de bonne qualité à l'usage.

Qu'est-ce que TDS ?

TDS signifie Total Dissolved Solids. Comme son nom l'indique, il nous donne le nombre de solides dissous dans une certaine quantité d'eau, en ppm (parties par million). Le TDS est calculé sur la base de la conductivité électrique [S/m]. Plus la conductivité électrique est élevée, plus la valeur TDS est élevée. Voici une liste des valeurs TDS des différents types d'eau :

  • Eau pure :80-150
  • Eau du robinet :250-350
  • Eaux souterraines :500-1000
  • Eau de mer :environ 30 000

Comme recommandé par l'OMS (Organisation mondiale de la santé), le TDS approprié de l'eau potable est inférieur à 300. Cependant, l'eau de TDS inférieure à 100 ne peut pas être consommée, car elle manquerait des minéraux essentiels. L'eau au-dessus de 300 est considérée comme trop "dure", car elle contient plus de minéraux que nécessaire.

Normalement, nous utilisons un stylo TDS pour mesurer le TDS de l'eau. Cependant, nous ne pouvons pas intégrer le stylet avec l'Arduino. Ainsi, il existe des compteurs TDS spéciaux disponibles qui peuvent être intégrés à l'Arduino. Cependant, j'ai décidé de faire ce projet sans l'utilisation du stylo TDS.

Le circuit

Arduino

  • Connectez 5 V d'Arduino à un rail d'alimentation de la maquette
  • Connectez la masse d'Arduino à l'autre rail d'alimentation de la maquette
  • Connectez une extrémité d'une résistance de 1 kohm à la terre et l'autre extrémité à la maquette. Connectez la broche analogique A0 de l'Arduino à la résistance. Enfin, connectez un fil à la résistance et un autre fil à 5V. Connectez les extrémités libres de ces fils aux pinces crocodiles.

LCD Affichage

  • Connectez la broche VSS au rail au sol
  • Connectez la broche VDD au rail 5 V
  • Connectez V0 à la broche centrale du potentiomètre
  • Connectez les extrémités du potentiomètre au 5 V et à la terre
  • Connectez la broche RS à la broche 7 de l'Arduino
  • Connectez la broche R/W au rail au sol
  • Connectez la broche E à la broche Arduino 8
  • Connectez le D4 à la broche 10 de l'Arduino
  • Connectez D5 à la broche Arduino 11
  • Connectez D6 à la broche 12 de l'Arduino
  • Connectez le D7 à la broche 13 de l'Arduino

Module Bluetooth HC-05

  • Connectez la broche VCC au rail 5 V
  • Connectez la broche GND à la terre
  • Connectez la broche TX à la broche Arduino 3 (Servit de RX)
  • Connectez la broche RX à la broche Arduino 2 (Servit de TX)

LED RVB

  • Connectez la cathode commune (broche la plus longue) à la terre
  • Connectez la broche rouge (à droite de la broche cathodique) à la broche PWM 9 sur Arduino via une résistance de 330 ohms
  • Connectez la broche verte (à gauche de la broche cathodique) à la broche PWM 6 sur Arduino via une résistance de 330 ohms
  • Connectez la broche bleue (extrême gauche) à la broche PWM 5 sur Arduino via une résistance de 330 ohms

Dérivation pour le calcul de la résistance entre les fils libres

Nous utiliserons la loi d'Ohm, qui stipule que la tension [V] à travers une résistance de résistance R est directement proportionnelle au courant [I] circulant dans la résistance. En d'autres termes, V =IR

Bien qu'il y ait un fil connecté entre les 2 résistances [R₁ - 1000 ohms et R₂ - entre les fils libres] à la broche analogique A0 sur l'Arduino, la résistance de ce fil peut être négligée, et par conséquent, nous pouvons dire que un courant minimal circule dans le fil. Ainsi, R₁ et R₂ sont connectés en série.

On peut donc dire que V₁ =IR₁ et V₂ =IR₂ .

On peut donc dire V₂/V₁=IR₂/IR₁ =R₂/R₁

. Cependant, nous ne connaissons pas V₂.

On sait que dans une combinaison en série de résistances, V₁+V₂ =V , où V =5 Volts. De là, nous pouvons obtenir V₂ =5-V₁

Enfin, en remplaçant la valeur que nous avons obtenue par V₂ dans V₂/V₁ =R₂/R₁ , nous pouvons définir un tampon variable comme étant 5-V₁/V₁ , au lieu de V₂/V₁ .

Enfin, on peut dire que R₂ =buffer * R₁ .

Le travail

Nous calculerons la résistance de l'eau à tester, et à partir de cela, nous obtiendrons la résistivité. Pour cela, nous devons tenir compte de la longueur et de la section transversale de notre conteneur.

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

A partir de la résistivité, on peut obtenir la conductivité

c =1/r 

Enfin, on obtient le TDS à partir de la conductivité

TDS =c*7000 

Bibliothèques

  • Bibliothèque de cristaux liquides :https://www.arduinolibraries.info/libraries/liquid-crystal
  • Bibliothèque série logicielle :https://pdfpunk.weebly.com/softwareserial-library-download.html

Vous pouvez soit télécharger ces bibliothèques et les ajouter à votre IDE Arduino, soit accéder à Outils -> gérer les bibliothèques -> rechercher la bibliothèque que vous souhaitez télécharger

Code

  • Code de surveillance de la qualité de l'eau
Code de surveillance de la qualité de l'eauArduino
//include library#include #include //pour bluetooth - créez un objet appelé BTserial, avec la broche RX sur 3 et la broche TX sur 2SoftwareSerial BTserial (3,2) ; // Réception | TX//decraration de toutes nos variablesfloat reads;int pin =A0;float vOut =0;//chute de tension sur 2 pointsfloat vIn =5;float R1 =1000;float R2 =0;float buffer =0;float TDS;float R =0;//résistance entre les 2 filsfloat r =0;//résistivité flotteur L =0.06;//distance entre les fils en mdouble A =0.000154;//surface de section du fil en m^2float C =0;//conductivité en S/mfloat Cm =0;//conductivité en mS/cmint rPin =9;int bPin =5;int gPin =6;int rVal =255;int bVal =255;int gVal =255;// nous utiliserons cette formule pour obtenir la résistivité après avoir utilisé la loi d'ohm -> R =r L/A => r =RA/L//création d'un objet lcd à partir de la bibliothèque Liquid CrystalLiquidCrystal lcd(7,8,10,11,12,13 );void setup() { //initialiser le moniteur série et série BT Serial.begin(9600); BTserial.begin(9600); //initialise l'écran lcd.begin (16, 2); //définir les broches led rgb (toutes pour être des broches pwm sur Arduino) en tant que sortie pinMode (rPin, OUTPUT); pinMode(bPin,SORTIE); pinMode(gPin,SORTIE); pinMode(broche,ENTRÉE); //Imprimer le message stagnant sur l'écran LCD lcd.print("Conductivité : ");}boucle vide() { reads =analogRead(A0) ; vOut =lectures*5/1023 ; Serial.println(lit);// Serial.println(vOut); tampon =(vIn/vOut)-1 ; R2 =R1*tampon ; Serial.println(R2); retard (500); //convertir la tension en résistance //Appliquer la formule mentionnée ci-dessus r =R2*A/L;//R=rL/A //convertir la résistivité en condictivité C =1/r ; Cm =C*10 ; //convertir la conductivité en mS/cm en TDS TDS =Cm *700 ; //Définir le curseur de l'écran LCD sur la ligne suivante lcd.setCursor(0,1) ; lcd.println(C); // affiche les couleurs correspondantes sur la led rgb selon la lecture analogique if( reads <600 ) { if (reads <=300){ setColor( 255, 0, 255 ); } if (lit> 200){ setColor( 200, 0, 255 ); } } else{ if( lit <=900 ) { setColor( 0, 0, 255 ); } if( lit> 700 ) { setColor( 0, 255, 255 ); } }//envoyer des données à l'application Ardutooth sur téléphone mobile via bluetoothBTserial.print(C);BTserial.print(",");BTserial.print(TDS);BTserial.print(";");delay(500); }void setColor(int red, int green, int blue){ analogWrite( rPin, 255 - red ); analogWrite( gPin, 255 - vert ); analogWrite( bPin, 255 - bleu ); }

Pièces et boîtiers personnalisés

J'ai utilisé un vieux tube à essai que j'ai dû faire. J'ai percé des trous à chaque extrémité du tube et inséré des fils à chaque extrémité. Enfin, pour maintenir les fils en place, j'ai attaché du mastic.

Schémas


Processus de fabrication

  1. IdO de base – RaspberryPI HDC2010 comment
  2. Raspberry PI Based IoT Project Connecting DHT11 Sensor
  3. IdO cellulaire :poubelle intelligente
  4. Capteur de qualité de l'air à l'hélium
  5. Capteur d'eau haute sensibilité sur MCP3008
  6. Windows 10 IoT Core et SHT15
  7. Capteur de température multiple
  8. Bouteille d'eau alimentée par Arduino
  9. Capteur de qualité de l'air à base de carbone