| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- /*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 <Wire.h>
- const int I2C_ADDR = 0x45; // Adresse I2C du périphérique
- const float X1 = 6.86; // Valeur de référence 1
- const float X2 = 9.18; // Valeur de référence 2
- float Y1, Y2; // Variables pour stocker les valeurs mesurées
- 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)
- }
- void loop() {
- // Afficher le message et attendre une entrée de l'utilisateur
- Serial.println("Mettre la sonde dans la solution 6.86");
- while (!Serial.available()) {
- // Attendre tant qu'aucune entrée n'est reçue
- }
- Serial.read(); // Lire et ignorer l'entrée
- // Récupérer la valeur en I2C
- Wire.requestFrom(I2C_ADDR, sizeof(float));
- while (Wire.available() < sizeof(float)) {
- // Attendre tant que les données ne sont pas disponibles
- }
- Wire.readBytes((char*)&Y1, sizeof(float));
- // Afficher le message et attendre une entrée de l'utilisateur
- Serial.println("Mettre la sonde dans la solution 9.18");
- while (!Serial.available()) {
- // Attendre tant qu'aucune entrée n'est reçue
- }
- Serial.read(); // Lire et ignorer l'entrée
- // Récupérer la valeur en I2C
- Wire.requestFrom(I2C_ADDR, sizeof(float));
- while (Wire.available() < sizeof(float)) {
- // Attendre tant que les données ne sont pas disponibles
- }
- Wire.readBytes((char*)&Y2, sizeof(float));
- // Calculer les coefficients de la droite
- a = (Y2 - Y1) / (X2 - X1);
- b = Y1 - a * X1;
- // Afficher les coefficients
- Serial.print("Droite : y = ");
- Serial.print(a, 6);
- Serial.print("x + ");
- Serial.println(b, 6);
- // Attendre un certain délai avant la prochaine itération
- delay(1000);
- }
|