/* Activité 8 - Programme pour la balance électronique expérimentale. Numérise la tension Ur aux bornes de la résistance R et appliquée entre l'entrée analogique A0 et la masse GND. Affiche la valeur moyenne de Ur (réalisée sur une seconde et à 2 chiffres significatifs) dans le moniteur série (le dernier 0 affiché de Ur n'est pas significatif, d'après les variables utilisées dans le programme) Calcule la masse m en g en utilisant le modèle Ur = f(m) tiré de la courbe des variations de tension Ur aux bornes de la résistance R en fonction de la masse m déposée sur le plateau. */ float Ur = 0; // Variable utilisée pour le calcul de la valeur moyenne de la tension numérisée en V void setup() { // La fonction setup s'exécute une seule fois au démarrage ou si on réinitialise la carte. Serial.begin(9600); // Initialise la communication série avec un débit de 9600 bits/s. } void loop() { // La fonction loop est une boucle infinie qui tourne en permanence. long somme = 0; // Initialisation de la variable somme utilisée pour le calcul la moyenne de Ur. for(int i = 0; i<100 ;i++) { // Boucle for pour le calcul de la valeur moyenne de Ur sur une seconde. int x = analogRead(A0); // Numérisation de la tension présente sur l'entrée A0 et affectation dans x, somme = somme + x; // somme des valeurs de x, delay(10); // toutes les 10 ms. } Ur = float(somme*5/10230) /10; // Calcul de la valeur moyenne de la tension numérisée Ur à 2 chiffres significatifs. Serial.print("Tension Ur = "); // Affichage de la valeur moyenne de la tension numérisée sur l'entrée A0 Serial.print(Ur); // en Serial.print(" V "); // V. // int m = .................; // Masse m calculée à partir partir de Ur d'après le modèle m = f(Ur). // if(..?..) m = 0; // Si la masse calculée est inférieure à 5 g alors elle est considérée comme nulle. Serial.print("masse = "); // Affichage de la masse Serial.print(".?."); // en Serial.println(" .?."); // g. delay(2000); // Délai de 2 s, soit 3 s au total entre deux mesures successives }