Salut ! je suis dans une merde pas possible genre vraiment la.. :o et j'ai jamais autant eu besoins de vous.. En gros mon prof d'info du lycée veut que je lui explique le code d'un montage qui est le suivant :
Un détecteur a ultrason (HC-SR04) réagit a l'approche d'un obstacle a quelques centimètres, et actionne un servo-moteur (MOOKLIN sg90), sur un Arduino UNO. voici le code :
#include <Servo.h> //servo library
Servo servo;
int trigPin = 5;
int echoPin = 6;
int servoPin = 7;
int led= 10;
long duration, dist, average;
long aver[3]; //array for average
void setup() {
Serial.begin(9600);
servo.attach(servoPin);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
servo.write(0); //close cap on power on
delay(100);
servo.detach();
}
void measure() {
digitalWrite(10,HIGH);
digitalWrite(trigPin, LOW);
delayMicroseconds(5);
digitalWrite(trigPin, HIGH);
delayMicroseconds(15);
digitalWrite(trigPin, LOW);
pinMode(echoPin, INPUT);
duration = pulseIn(echoPin, HIGH);
dist = (duration/2) / 29.1; //obtain distance
}
void loop() {
for (int i=0;i<=2;i++) { //average distance
measure();
aver[i]=dist;
delay(10); //delay between measurements
}
dist=(aver[0]+aver[1]+aver[2])/3;
if ( dist<50 ) {
//Change distance as per your need
servo.attach(servoPin);
delay(1);
servo.write(0);
delay(3000);
servo.write(150);
delay(1000);
servo.detach();
}
Serial.print(dist);
}
Voila , mdr si il y a un ange parmi vous qui peut m'aider en m'expliquant les balise, le but des lignes, ou même me faire un schémas, ça serait parfait. Merci a tous ceux qui répondrons
Commence par faire ce qu'on te demande : faire supprimer les messages en double, respecter les règles du forum.
Aucune réponse tant que ce n'est pas fait.
Précision si tu veux de l'aide c'est le bon forum, si tu veux qu'on fasse ton travail il vaut mieux chercher ailleurs.
Si ton prof te demande d'expliquer ces quelques lignes c'est qu'il veut s'assurer que tu as travaillé sur les cours qu'il t'a dispensé.
NB : à 99,99 % ton prof est inscrit sur ce forum et y restera silencieux.
Donc si tu te fais mâcher le travail il le saura.
Normalement, ton prof est là pour faire en sorte que tu apprennes quelque chose.
Il a un objectif pédagogique.
Dans l'hypothèse bassement matérialiste où ton objectif prioritaire est d'avoir une bonne note (et non d'apprendre quelque chose), il vaut mieux avoir les idées claires sur ce que le prof attend de toi.
Donc à ton avis, quelle est objectif visé ?
a) que tu améliores ta capacité à récupérer des informations sur le net
b) que tu améliores ta capacité à comprendre un programme par toi-même
Même si dans certaines filières le a) est prédominant sur le b), là j'ai quand même l'impression qu'on est sur le b)
Donc commence par :
expliquer ce que tu comprends
lister ce que tu ne comprends pas en donnant des hypothèses d'explication
Et là tu trouveras peut-être quelqu'un qui aura la bienveillance de t'aider à combler les trous.
C'est le problème des tutos, pas toujours documentés, le code n'est pas tout le temps commenté ou alors pas de bol c'est commenté en anglais et le français fait quand même un gros blocage sur l'anglais.
Et vu que le code présenté au #1 est commenté en anglais, je ne prend pas un gros risque en avançant qu'il a dû être copié sur le net sans chercher à comprendre.
Si j'étais le prof, je demanderais "pourquoi on attache et on détache le servo à chaque itération de loop()?"