Programme à expliquer

Bonjour, pouvez vous m’expliquer de manière linéaire ce programme sbp:

//Fonctionnement: La valeur de la tension de sortie du capteur pH

#include <Wire.h>
#include “rgb_lcd.h”

rgb_lcd lcd;
float pH;
const int colorR = 0;
const int colorG = 50;
const int colorB = 100;
// se convertit en pH et s’affiche ensuite sur le moniteur série.
#define Vref 4.95
#define PompeEau 5
void setup()
{
Serial.begin(9600);
delay(1000);
pinMode(PompeEau, OUTPUT);
lcd.begin(16, 2);

lcd.setRGB(colorR, colorG, colorB);
lcd.setCursor(0, 0);

// Print a message to the LCD.
lcd.print(“Projet Aquarium”);
lcd.setCursor(0, 1);
lcd.print(“STI2D SIN”);

delay(1000);
}
void loop()
{
int sensorValue;
int m;
long sensorSum;
for(m=0;m<50;m++)
{
sensorValue=analogRead(A0);//Connecter le capteur de pH au port A0
sensorSum += sensorValue;
}
sensorValue = sensorSum/50;
pH=7-1000*(sensorValue-372)*Vref/59.16/1023;
Serial.print(" the PH value is");
Serial.println(pH);
lcd.clear();
lcd.setCursor(0, 0);
// print the number of seconds since reset:
lcd.print("pH level: ");
lcd.print(pH);
delay(1000);

if (pH > 7 ) {
digitalWrite(PompeEau,0);
delay(2000);
digitalWrite(PompeEau,1);
delay(2000);
}

}

Bonjour,
La première explication, c'est de mettre ton code entre "balises" pour avoir envie de regarder.
Pour les balises et lit également le reste des recommandations.
@+

Oui, mais en faite je t’explique, dans 2j je passe mon projet de bac en STI2D. Et mon projet est la télégestion d’un aquarium. J’ai fais mes recherche et a l’aide de mon professeur voici le programme terminer. Mais le soucis c’est que pendant la présentation, les juge poseront des questions le programme et de manière précise. Je ne suis pas vraiment un pro dans la programmation, de plus j’avais eu beaucoup de retard. Voilà pourquoi je demande de l’aide… :confused:

“Aide-toi, le ciel t’aidera”.
Je vais un peu faire mon connard de service, mais si à deux jours de l’examen tu as besoin que l’on t’explique ton projet, il faut peut-être se faire à l’idée que tu sera recalé et qu’il fallait s’y mettre un peu plus tôt. :wink: Je sais de quoi je parle, j’ai pris le parti de me présenter au bac avec deux matières pour lesquelles je savais que j’aurais le maximum des points, en sachant que je raterais tout le reste, et en espérant que ça passerait.

Cela étant, si tu n’es pas prêt à faire l’effort de présenter correctement ton code pour qu’il soit lisible, il y a fort à parier que personne ne fera l’effort de t’aider.

bis :

2 jours, ça laisse encore largement le temps d'éditer ton premier post pour mettre le code entre les balises qui vont bien.

Si tu as récupéré et implémenté ce programme simple sans rien y comprendre, c'est que tu n'as également rien compris à ce qu'on attend de toi, et que les juges vont chercher à évaluer.
Ou pire : tu as bien compris mais choisi de ne pas faire.

Ce qu'on attend de toi (on = le prof + les juges + demain ton employeur), c'est d'être capable de coder toi-même ce genre de programme.

Si tu maîtrises assez bien dans l'ensemble toutes ces lignes de code, sauf un ou deux points pas clairs, dis-nous lesquels et tu auras probablement une réponse.

Mais si tu pars de presque zéro, ne compte pas sur moi pour t'aider à faire illusion devant des juges.
C'est le meilleur service à te rendre.

Non mais en faite je comprends le programme, "cette parti fait ceci, celle ci fait cela" mais c'est dans le sens propres du terme en faite que je voudrai savoir

BrowZen:
Oui, mais en faite je t'explique, dans 2j je passe mon projet de bac en STI2D. Et mon projet est la télégestion d'un aquarium. J'ai fais mes recherche et a l'aide de mon professeur voici le programme terminer. Mais le soucis c'est que pendant la présentation, les juge poseront des questions le programme et de manière précise. Je ne suis pas vraiment un pro dans la programmation, de plus j'avais eu beaucoup de retard. Voilà pourquoi je demande de l'aide.. :confused:

alors là, si tu ne sais pas ce que tu code, ca devient grave.
pour moi, tu as pompé un code du net et basta, sans rien chercher de plus.

quand je fais de la mécanique, je peux expliquer ce que j'ai fait, même si je ne connais pas tous les termes.
ca ne m'empêche pas de dire que j'ai pris une clef de 17-19-10 pour changer un étrier de frein et qu'après j'ai purgé le circuit pour chasser les bulles d'air.

tu dois savoir ce qu'est le ph, enfin j'espère
tu dois savoir à quoi correspond PompeEau

zarbi, ca ressemble étrangement au pompage de ce code avec le lcd en plus :slight_smile:
http://www.wikidebrouillard.org/index.php/Grove_:_capteur_de_Ph

BrowZen:
Non mais en faite je comprends le programme, "cette parti fait ceci, celle ci fait cela" mais c'est dans le sens propres du terme en faite que je voudrai savoir

? ? ? ? ? ?

Donc clairement tu n'es pas capable de coder toi-même de a à z ce programme, alors que c'est pourtant l'objectif de ton projet.

A partir de là, il n'y a que deux options :

  1. tu assumes (ce n'est pas forcément un drame)
    Tu expliqueras aux juges cet état de fait, sans chercher à les embobiner (de toute manière ils le verront), en leur expliquant pourquoi : la faute au prof absent, la météo, ta copine, choix personnel, etc.
    En espérant qu'ils soient sensibles au fait que tu as quand même fait l'effort de repomper un code et de le faire marcher.

  2. tu essayes de rattraper le retard
    C'est-à-dire que dans deux jours tu dois être capable de coder toi-même un programme similaire.
    Ce n'est pas impossible, si tu as 100% de temps disponible pour ça

Plonge toi dans des tutos d'apprentissage d'arduino, et si nécessaire, reviens ici pour poser des questions précises sur telle ou telle instruction.

Si justement sa vient d'ici mais c'est mon prof qui me la donné c'est pas moi hein, et si je sais que au debut on declare les variable, on initie l'ecran LCD pour afficher le resultat du pH, on calcule le pH et le convertie pour pouvoir l'afficher et envoyer les donné a la pompe à eau et enfin une condition pour quand activer la pompe à eau. Je comprend dans l'ensemble mais par exemple si le jury me demande qu'es ce que cela veut dire: Serial.println(pH); je ne serai repondre tu comprend ?

ici

Je n'ai fais que d'ecouter mon prof hein .. Vous me parler comme si tout été de ma faute mais nous avons jamais fait de cour sur la programmation ou autre tout ce que j'ai fait c'est a partir des document ressource que le prof m'as donné ..

Serial.println(pH); je ne serai repondre tu comprend ?

une réponse entraine une autre réponse, il existe internet je crois depuis un bon moment.
tu tapes l'expression que tu ne comprends pas et magie, plein de réponses.

là, c'est du BA-BA de la programmation et vue la simplicité du code, ca prend (en prenant un café, une pose cibiche mauvaise pour la santé) 10mn chrono.

Serial.println(pH);

affiche avec un retour chariot le résultat de pH dans la console de l'ide
2s de recherche et hop magie
http://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Serialprintln

Serial.println(data)
Description

Affiche les données sur le port série suivi d'un caractère de "retour de chariot" (ASCII 13, or '\r') et un caractère de "nouvelle ligne" (ASCII 10, or '\n'). Cette instruction a par ailleurs la même forme que l'instruction Serial.print():

Serial.println(b) affiche b en tant que nombre décimal sous la forme d'une chaîne de caractères ASCII suivi d'un retour de chariot et d'un saut de ligne.

Serial.println(b, DEC) affiche b en tant que nombre décimal sous la forme d'une chaîne de caractères ASCII suivi d'un retour de chariot et d'un saut de ligne.

Serial.println(b, HEX) affiche b en tant que nombre hexadécimal sous la forme d'une chaîne de caractères ASCII suivi d'un retour de chariot et d'un saut de ligne.

Serial.println(b, OCT) affiche b en tant que nombre octal sous la forme d'une chaîne de caractères ASCII suivi d'un retour de chariot et d'un saut de ligne.

Serial.println(b, BIN) affiche b en tant que nombre binaire sous la forme d'une chaîne de caractères ASCII suivi d'un retour de chariot et d'un saut de ligne.

Serial.print(b, BYTE) affiche b en tant qu'octet simple suivi d'un retour de chariot et d'un saut de ligne.

Serial.println(str) si str est une chaîne de caractère ou un tableau de caractère, affiche la chaîne de caractère suivie d'un retour de chariot et d'un saut de ligne.

Serial.println() affiche un retour de chariot et un saut de ligne.
Paramètres

data : tous types de données entières incluant les char, chaînes de caractères et floats (nombre à virgule).

Les floats sont supportés avec une précision de 2 à plusieurs décimales.
Valeur renvoyée

Aucune

BrowZen:
Je n'ai fais que d'ecouter mon prof hein .. Vous me parler comme si tout été de ma faute mais nous avons jamais fait de cour sur la programmation ou autre tout ce que j'ai fait c'est a partir des document ressource que le prof m'as donné ..

même si soit disant aucun cours de prog, comme dab, c'est la faute du prof, on nous la ressert chaque année celle là, ca s'appelle
du travail perso
tu ne serais pas en STI2D?

Avoue quand même que ton prof ne t'a pas donné ces documents hier

Là, tu es juste en train de réaliser que la compréhension de ces documents nécessite DU TRAVAIL de recherche personnelle.

Donc fais-le

N'attend pas que ça tombe tout cuit

BrowZen:
Je n'ai fais que d'ecouter mon prof hein .. Vous me parler comme si tout été de ma faute mais nous avons jamais fait de cour sur la programmation ou autre tout ce que j'ai fait c'est a partir des document ressource que le prof m'as donné ..

C'est quand même fort, quand j'ai passé le bac, toutes les matières ont été étudié en cours. Oui oui, toutes sans exception.

Je vois pas comment on peut faire une épreuve sur un sujet sans avoir reçu de cours avant.

Sinon tu peux avoir aussi une épreuve de chant lyrique...

Je suis pas ici pour me faire allumer, oui je suis en STI2D j'ai eu du retard car mes composant ne sont pas arrivé (il on oublier mes composant dans la commande) du coup mon programme a été fait a l'aide mon professeur très rapidement histoire de faire fonctionné la choses psq je n'ai pas que la programmation a faire il y a tout le reste. bref sur ceux merci je vais essayer de faire des recherche et d'ensuite vous le montrer.

Dit que je mens alors. Bref vous m'avez dégoûter je vais me débrouiller merci bien pour ceux qui m'ont donner des critiques constructives.

BrowZen:
Je suis pas ici pour me faire allumer, oui je suis en STI2D j’ai eu du retard car mes composant ne sont pas arrivé (il on oublier mes composant dans la commande) du coup mon programme a été fait a l’aide mon professeur très rapidement histoire de faire fonctionné la choses psq je n’ai pas que la programmation a faire il y a tout le reste. bref sur ceux merci je vais essayer de faire des recherche et d’ensuite vous le montrer.

donc si tu as eu du retard car tu n’as pas recu les composants, ca veut dire que tu as eu des cours, on ne fait pas une commande sans un strict minimum.

OUI tu te fais allumer et tu n’es pas le seul en ce moment, bizarre que des STI2D.
la raison est simple, réveil 72h avant l’exam, aucune recherche de ta part en amont.
en faisant 30mn de recherche maxi tu aurais trouvé les 10 termes max du code qui se répètent X fois.
avec l’expérience de ce type d’exam, on peut dire que ca fait facile 2 mois que tu connais ton sujet d’exam.
ceux qui ont pris le temps de faire leur taf ont commencé début d’année a poser des questions sur leur sujet, coef 12 si je ne m’abuse.
Et certains ont fait des trucs bien chiadés, donc un simple truc qui affiche le ph a coder, c’est rien.
par contre, si on te pose la question de savoir comment le module récupère une valeur dans l’eau, là, ca sera une autre paire de manche et je suis certain que tu n’y a même pas pensé.

Oui justement c'est surtout ici ou c'est problématique. il y a une ligne de calcule que ne comprend pas et je ne trouve pas sur internet. "pH=7-1000*(sensorValue-372)*Vref/59.16/1023"