Bonjour tout le monde, je me suis récemment inscrit sur ce forum car je recherche actuellement de l'aide pour venir a fin de mon TPE.
Ce dernier consiste à créer un appareil qui flotte dans l'eau et qui a pour rôle de mesurer le ph de l'eau dans laquelle il flotte afin de pouvoir y déposer automatiquement un ou plusieurs galet(s) de chlore.
Une partie me pose problème.. je m'explique.. dans ce TPE j'ai pour rôle de créer un programme pour le capteur de ph qui servirai donc a détecter à quel moment je le galet de chlore devrait être délivré.
Par chance j'ai trouvé sur site un détecteur de Ph avec le programme arduino qui va avec, mais bon étant quelqu'un de plutôt "sérieux" en cour je préfère comprendre ce programme que de l'utilisé aveuglement.
Après des jours de lecture sur des explications de programmes sous arduino je n'arrive toujours pas à comprendre ce programme arduino.
Donc j'aurais aimer savoir si quelqu'un aurai pu m'expliquer ce programme et me dire si il est juste, s'il faut compléter certaine choses etc...
Merci d'avance
Code:#define SensorPin 0 //pH meter Analog output to Arduino Analog Input 0 unsigned long int avgValue; //Store the average value of the sensor feedback float b; int buf[10],temp; void setup() { pinMode(13,OUTPUT); Serial.begin(9600); Serial.println("Ready"); //Test the serial monitor } void loop() { for(int i=0;i<10;i++) //Get 10 sample value from the sensor for smooth the value { buf[i]=analogRead(SensorPin); delay(10); } for(int i=0;i<9;i++) //sort the analog from small to large { for(int j=i+1;j<10;j++) { if(buf[i]>buf[j]) { temp=buf[i]; buf[i]=buf[j]; buf[j]=temp; } } } avgValue=0; for(int i=2;i<8;i++) //take the average value of 6 center sample avgValue+=buf[i]; float phValue=(float)avgValue*5.0/1024/6; //convert the analog into millivolt phValue=3.5*phValue; //convert the millivolt into pH value Serial.print(" pH:"); Serial.print(phValue,2); Serial.println(" "); digitalWrite(13, HIGH); delay(800); digitalWrite(13, LOW); }
-----