/*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 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); }