|
@@ -0,0 +1,102 @@
|
|
|
|
|
+/*programe arduino qui :
|
|
|
|
|
+affiche "mettre la sonde dans la solution 6.86"
|
|
|
|
|
+qui attend un entrée de l'utilisateur,
|
|
|
|
|
+récupere une valeur en I2C adress 0x45 stocker dans une variable Y1
|
|
|
|
|
+affiche "mettre la sonde dans la solution 9.18"
|
|
|
|
|
+qui attend un entrée de l'utilisateur,
|
|
|
|
|
+récupere une valeur en I2C adress 0x45 stocker dans une variable Y2
|
|
|
|
|
+
|
|
|
|
|
+calcul la droite d'equation de la courbe avec X1 = 6.86 X2 = 9.18 et les variable Y1 et Y2*/
|
|
|
|
|
+
|
|
|
|
|
+#include "MCP3428.h"
|
|
|
|
|
+
|
|
|
|
|
+float a, b; // Coefficients de la droite
|
|
|
|
|
+
|
|
|
|
|
+void setup() {
|
|
|
|
|
+ Serial.begin(9600); // Initialisation de la communication série
|
|
|
|
|
+ Wire.begin(); // Initialisation de la bibliothèque Wire (I2C)
|
|
|
|
|
+ Calibration();
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+/*
|
|
|
|
|
+fonction arduino calibration qui :
|
|
|
|
|
+ demande a l'utilisateur Mettre la sonde dans la solution 4.01 vient lire grace a la fonction lecture(0) une Ref et avec lecture(1) - Ref = Y0
|
|
|
|
|
+ demande a l'utilisateur Mettre la sonde dans la solution 6.86 vient lire grace a la fonction lecture(0) une Ref et avec lecture(1) - Ref = Y1
|
|
|
|
|
+ demande a l'utilisateur Mettre la sonde dans la solution 9.18 vient lire grace a la fonction lecture(0) une Ref et avec lecture(1) - Ref = Y2
|
|
|
|
|
+
|
|
|
|
|
+ et calcul la droite de la courbe avec Y0,Y1,Y2 et X0=4.01, X1=6.86, X2=9.18
|
|
|
|
|
+
|
|
|
|
|
+ */
|
|
|
|
|
+void Calibration() {
|
|
|
|
|
+ float X0 = 4.01; // Solution 4.01
|
|
|
|
|
+ float X1 = 6.86; // Solution 6.86
|
|
|
|
|
+ float X2 = 9.18; // Solution 9.18
|
|
|
|
|
+
|
|
|
|
|
+ float Y0, Y1, Y2;
|
|
|
|
|
+ float Ref;
|
|
|
|
|
+
|
|
|
|
|
+ // Étape 1: Mettre la sonde dans la solution 4.01
|
|
|
|
|
+ Serial.println("Mettez la sonde dans la solution 4.01");
|
|
|
|
|
+ Serial.println("Appuyez sur une touche pour continuer...");
|
|
|
|
|
+ while (!Serial.available()) {
|
|
|
|
|
+ // Attente de l'entrée utilisateur
|
|
|
|
|
+ }
|
|
|
|
|
+ Serial.read(); // Lecture de l'entrée utilisateur pour la vider
|
|
|
|
|
+
|
|
|
|
|
+ // Lecture de la référence
|
|
|
|
|
+ Ref = lecture(0);
|
|
|
|
|
+ Y0 = lecture(1) - Ref;
|
|
|
|
|
+
|
|
|
|
|
+ // Étape 2: Mettre la sonde dans la solution 6.86
|
|
|
|
|
+ Serial.println("Mettez la sonde dans la solution 6.86");
|
|
|
|
|
+ Serial.println("Appuyez sur une touche pour continuer...");
|
|
|
|
|
+ while (!Serial.available()) {
|
|
|
|
|
+ // Attente de l'entrée utilisateur
|
|
|
|
|
+ }
|
|
|
|
|
+ Serial.read(); // Lecture de l'entrée utilisateur pour la vider
|
|
|
|
|
+
|
|
|
|
|
+ // Lecture de la référence
|
|
|
|
|
+ Ref = lecture(0);
|
|
|
|
|
+ Y1 = lecture(1) - Ref;
|
|
|
|
|
+
|
|
|
|
|
+ // Étape 3: Mettre la sonde dans la solution 9.18
|
|
|
|
|
+ Serial.println("Mettez la sonde dans la solution 9.18");
|
|
|
|
|
+ Serial.println("Appuyez sur une touche pour continuer...");
|
|
|
|
|
+ while (!Serial.available()) {
|
|
|
|
|
+ // Attente de l'entrée utilisateur
|
|
|
|
|
+ }
|
|
|
|
|
+ Serial.read(); // Lecture de l'entrée utilisateur pour la vider
|
|
|
|
|
+
|
|
|
|
|
+ // Lecture de la référence
|
|
|
|
|
+ Ref = lecture(0);
|
|
|
|
|
+ Y2 = lecture(1) - Ref;
|
|
|
|
|
+
|
|
|
|
|
+ // Calcul des coefficients de la droite de la courbe
|
|
|
|
|
+ float denominator = (X1 - X0) * (X2 - X0) * (X2 - X1);
|
|
|
|
|
+ a = ((Y2 - Y0) * (X1 - X0) - (Y1 - Y0) * (X2 - X0)) / denominator;
|
|
|
|
|
+ b = (Y1 - Y0 - a * (X1 - X0)) / (X1 - X0);
|
|
|
|
|
+
|
|
|
|
|
+ Serial.print("a : ");
|
|
|
|
|
+ Serial.print(a);
|
|
|
|
|
+ Serial.print("b : ");
|
|
|
|
|
+ Serial.println(b);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+void loop(){
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ float Ref = lecture(0);
|
|
|
|
|
+ float VPh = lecture(1)-Ref;
|
|
|
|
|
+
|
|
|
|
|
+ float PH =(VPh-b) /a;
|
|
|
|
|
+
|
|
|
|
|
+ Serial.print("Vph : ");
|
|
|
|
|
+ Serial.print(VPh, 6);
|
|
|
|
|
+ Serial.print(" PH : ");
|
|
|
|
|
+ Serial.println(PH);
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+}
|