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

Système IoT de Surveillance de la Qualité de l'Eau – Monitoring Temps Réel avec Arduino

Composants et fournitures

ComposantQuantitéNotes
Arduino UNO1
Fils de connexion Male/Female1
Module Bluetooth HC-051
LED RGB diffuse cathode commune1
Résistance 330 Ω3Pour les 3 broches de la LED RGB
Potentiomètre rotatif1Pour contraste LCD
Écran LCD RGB Shield 16x21Kit complet
Résistance 1 kΩ1Pour le diviseur de tension

Outils nécessaires

Applications et services en ligne

À propos de ce projet

L'eau est une ressource essentielle. Il est crucial d'en garantir la qualité.

Qu'est-ce que le TDS ?

TDS = Total Dissolved Solids (solides totaux dissous). Indique la quantité de solides dissous dans l'eau, en ppm (parties par million). Le TDS est calculé à partir de la conductivité électrique [S/m]. Plus la conductivité est élevée, plus le TDS l'est.

Valeurs typiques :

L'OMS recommande un TDS < 300 ppm pour l'eau potable. En dessous de 100 ppm, l'eau manque de minéraux essentiels. Au-dessus de 300 ppm, l'eau est trop « dure ».

Habituellement, on utilise un stylo TDS. Mais il ne s'interface pas avec Arduino. Des capteurs TDS intégrables existent, mais ce projet utilise une méthode alternative sans capteur dédié.

Système IoT de Surveillance de la Qualité de l Eau – Monitoring Temps Réel avec Arduino

Le circuit

Arduino

Système IoT de Surveillance de la Qualité de l Eau – Monitoring Temps Réel avec Arduino

Écran LCD

Système IoT de Surveillance de la Qualité de l Eau – Monitoring Temps Réel avec Arduino

Module Bluetooth HC-05

Système IoT de Surveillance de la Qualité de l Eau – Monitoring Temps Réel avec Arduino

LED RGB

Système IoT de Surveillance de la Qualité de l Eau – Monitoring Temps Réel avec Arduino

Dérivation du calcul de résistance

On utilise la loi d'Ohm : V = I × R.

Système IoT de Surveillance de la Qualité de l Eau – Monitoring Temps Réel avec Arduino

Le fil vers A0 a une résistance négligeable → courant quasi nul → R₁ (1 kΩ) et R₂ (eau) en série.

V₁ = I×R₁, V₂ = I×R₂ → V₂/V₁ = R₂/R₁.

En série : V₁ + V₂ = 5V → V₂ = 5 - V₁.

On définit buffer = (5 - V₁) / V₁ → R₂ = buffer × R₁.

Principe de fonctionnement

  1. Calculer la résistance de l'eau (R₂).
  2. En déduire la résistivité : r = R₂ × A / L (L = distance entre électrodes, A = section du fil).
  3. Conductivité : C = 1 / r (en S/m).
  4. TDS : TDS = C × 7000 (facteur empirique).

Bibliothèques nécessaires

Installables via le gestionnaire de bibliothèques de l'IDE Arduino.

Système IoT de Surveillance de la Qualité de l Eau – Monitoring Temps Réel avec Arduino

Code complet

// Surveillance qualité eau - Arduino UNO + HC-05 + LCD + LED RGB
#include <SoftwareSerial.h>
#include <LiquidCrystal.h>

SoftwareSerial BTserial(3, 2); // RX | TX

float reads; int pin = A0;
float vOut = 0, vIn = 5, R1 = 1000, R2 = 0, buffer = 0;
float TDS, R = 0, r = 0, L = 0.06, A = 0.000154;
float C = 0, Cm = 0;
int rPin = 9, bPin = 5, gPin = 6;
int rVal = 255, bVal = 255, gVal = 255;

LiquidCrystal lcd(7, 8, 10, 11, 12, 13);

void setup() {
  Serial.begin(9600); BTserial.begin(9600);
  lcd.begin(16, 2);
  pinMode(rPin, OUTPUT); pinMode(bPin, OUTPUT); pinMode(gPin, OUTPUT);
  pinMode(pin, INPUT);
  lcd.print("Conductivity: ");
}

void loop() {
  reads = analogRead(A0);
  vOut = reads * 5.0 / 1023.0;
  Serial.println(reads);
  buffer = (vIn / vOut) - 1;
  R2 = R1 * buffer;
  Serial.println(R2);
  delay(500);

  r = R2 * A / L;        // résistivité
  C = 1 / r;             // conductivité S/m
  Cm = C * 10;           // conductivité mS/cm
  TDS = Cm * 700;        // TDS ppm

  lcd.setCursor(0, 1);
  lcd.print(C);

  // LED RGB selon conductivité (lecture analogique)
  if (reads < 600) {
    if (reads <= 300) setColor(255, 0, 255);
    else if (reads > 200) setColor(200, 0, 255);
  } else {
    if (reads <= 900) setColor(0, 0, 255);
    else if (reads > 700) setColor(0, 255, 255);
  }

  // Envoi Bluetooth vers app Ardutooth
  BTserial.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 - green);
  analogWrite(bPin, 255 - blue);
}

Boîtier personnalisé

J'ai utilisé un vieux tube à essai : deux trous aux extrémités pour les fils, maintenus par de la pâte à modeler.

Système IoT de Surveillance de la Qualité de l Eau – Monitoring Temps Réel avec Arduino

Schéma global

Système IoT de Surveillance de la Qualité de l Eau – Monitoring Temps Réel avec Arduino

Processus de fabrication

  1. Raspberry Pi et HDC2010 : guide complet de configuration du capteur I2C température et humidité
  2. Connecter un Raspberry Pi 3 au capteur DHT11 et envoyer les données vers le cloud ThingsIo.ai
  3. Poubelle intelligente : Une solution IoT cellulaire pour la gestion automatisée des déchets
  4. Capteur de qualité de l'air solaire basé sur Helium : Guide de conception et déploiement
  5. Intégration du capteur d'eau haute sensibilité Phantom YoYo avec l'ADC MCP3008 sur Raspberry Pi
  6. Surveillance Précise de Température et Humidité avec SHT15 sur Windows 10 IoT Core
  7. Système de Capteur de Température Multi-Position pour Intégration Domotique
  8. Bouteille d'eau intelligente Arduino : Suivi temps réel et alertes
  9. Capteur NO₂ avancé à base de carbone pour une surveillance de la qualité de l'air intérieur améliorée