Aller au contenu


Photo
- - - - -

Robot incendie


35 réponses à ce sujet

#21 R1D1

R1D1

    Modérateur et Membre passionné

  • Modérateur
  • PipPipPipPipPip
  • 1 211 messages
  • Gender:Male
  • Location:Autriche

Posté 23 avril 2018 - 09:51

Premier problème : distance ne devrait jamais être égal à zéro ! Que représente une distance négative ?
Par ailleurs, tu peux vérifier que vaut ta distance : fais un "Serial.println(distance)" après ton calcul. Il est possible que tu fasses en fait le calcul duree * 0, parce que tu divises 340 (un entier) par une très grande valeur (entière). Le résultat de la division est un entier donc forcément 0, 1 ...
La solution est par exemple de transformer 340 en flottant : 340.0
R1D1 - Calculo Sed Ergo Sum -- en ce moment, M.A.R.C.E.L.
Avatar tiré du site bottlebot

#22 Manonsti2d

Manonsti2d

    Membre

  • Membres
  • 30 messages
  • Gender:Female
  • Location:Haute Savoie

Posté 23 avril 2018 - 10:01

Ok merci.

J'ai fait les modification, ce qui donne ça

#define trigPin 12      //Trig 
#define echoPin 11      //Echo 


void setup() {
  Serial.begin (9600);  
  pinMode(trigPin, OUTPUT);  //On défini Trig comme une sortie
  pinMode(echoPin, INPUT);   //On défini Echo comme une entrée
}

void loop() {
  long duree, distance;
  digitalWrite(trigPin, LOW);  
  delayMicroseconds(2); 
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10); //Trig envois pendant 10ms 
  digitalWrite(trigPin, LOW);
  
  // On calcul le temps pour l'aller retour du signal
  duree = pulseIn(echoPin, HIGH);
  distance = duree*340.0/(2*10000);  
  Serial.println(distance);
}
  else {
    Serial.print(distance);
    Serial.print(" cm ");
  }
  delay(100);
}

Mais j'ai une erreur sur le else. Le logiciel me dit "exit status 1
expected unqualified-id before 'else' ". Je ne comprends pas et je ne peux pas y regarder avant demain



#23 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 23 avril 2018 - 11:45

Pour savoir, affiche durée et distance avant de passer dans le if :) à mon avis, ça te donnera une réponse.

#24 R2D21995

R2D21995

    Membre passionné

  • Membres
  • PipPipPip
  • 385 messages

Posté 23 avril 2018 - 10:40

Il manque un if avant le else c'est pour ça que le compilateur râle et en plus t'es en dehors du loop sans fonction du coup il ne comprends pas doublement.

TOn code devrai ressembler à quelque chose du genre

#define trigPin 12      //Trig 
#define echoPin 11      //Echo 


void setup() {
  Serial.begin (9600);  
  pinMode(trigPin, OUTPUT);  //On défini Trig comme une sortie
  pinMode(echoPin, INPUT);   //On défini Echo comme une entrée
}

void loop() {
  long duree, distance;
  digitalWrite(trigPin, LOW);  
  delayMicroseconds(2); 
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10); //Trig envois pendant 10ms 
  digitalWrite(trigPin, LOW);
  
  // On calcul le temps pour l'aller retour du signal
  duree = pulseIn(echoPin, HIGH);
  distance = duree*340.0/(2*10000);  
  Serial.println(distance);
if (distance <= 10) // si distance est inferieur ou égal à 10 faire quelque chose. Par exemple éviter l'obstacle ou le déplacer.
{
//faire quelque chose
}
  else {
    Serial.print(distance);
    Serial.print(" cm ");
  }
  delay(100);
}

La fonction pulseIn elle existe ou c'est toi qui l'a crée ? Et d'ailleurs vaut mieux utiliser println qui fait un saut à la ligne ce qui rends les données plus lisibles.

Je crois que tu devrai voir les bases du C parce que tu n'as pas l'air de les avoir. (Je ne veux pas être méchant du tout et je m'excuse si le je l'ai déjà dis. Je ne sais plus. Je sais que j'avais dis ça sur un topic qu'il ressemblait à celui là mais je ne sais pas si c'est celui-là)


Il faut toujours viser la lune, car même en cas d’échec, on atterrit dans les étoiles


#25 Manonsti2d

Manonsti2d

    Membre

  • Membres
  • 30 messages
  • Gender:Female
  • Location:Haute Savoie

Posté 24 avril 2018 - 07:14

Il manque un if avant le else c'est pour ça que le compilateur râle et en plus t'es en dehors du loop sans fonction du coup il ne comprends pas doublement.

 

D'accord, merci beaucoup

 

 

vaut mieux utiliser println qui fait un saut à la ligne ce qui rends les données plus lisibles.

 

Je prends en note, je vais modifier de ce pas.

 

 

Je crois que tu devrai voir les bases du C parce que tu n'as pas l'air de les avoir. (Je ne veux pas être méchant du tout et je m'excuse si le je l'ai déjà dis.)

 

C'est sûr que je suis débutante. Je n'ai que ce que l'on a vu en cours, c'est à dire rien du tout (ça se limite à faire clignoter une LED d'abord simplement pendant 0.5s, puis pour faire un SOS). Pour le reste, je me base beaucoup sur Internet

Non ce n'est pas de la méchanceté, c'est du réalisme. De plus, le fait de le dire aide à garder les pieds sur terre. Donc pas de soucis :)



#26 R2D21995

R2D21995

    Membre passionné

  • Membres
  • PipPipPip
  • 385 messages

Posté 24 avril 2018 - 11:52

Je sais mais à l'écrit c'est toujours très difficile de retranscrire quelque chose et c'est facile de mal interpréter. Le problème c'est que du coup il te manques beaucoup de concept. Par exemple la plupart des questions que t'as posé tu ne les aurai pas posé si t'avais les bases et du coup tu pourrai poser des questions plus technique et avancer plus vite. Ton projet est très ambitieux et t'as pas froid aux yeux c'est un avantage. pour ce qui est du C regarde le tuto de M@téo sur openclassroom c'est par la que j'ai commencé et franchement il vaut le coup. Ne regarde que la première partie la seconde c'est juste pour faire du graphisme et tu ne l'utilisera pas en robotique.  Essaye de bien comprendre les notions de pointeurs c'est ce qui va te perdre le plus. Après je ne sais pas si c'est ici ou pas que j'ai donné des exos mais je peux t'en donner en fonction de tes lacunes et même faire la correction avec une explication. Si t'as une question ne la pose pas sur le forum d'openclassroom ils ne sont pas toujours très sympa avec les débutants pose la plutôt ici dans la section programmation. Tu peux aussi me poser des questions en PV j'y répondrai. Si tu veux on peut même faire 2/3 heures par semaine par cam sur fb ou skype pour t'expliquer ce que tu n'a pas compris.

 

PS: Tu habites où ? Si tu n'habite pas trop loin de chez moi je peux peux-être t'aider en direct.


Il faut toujours viser la lune, car même en cas d’échec, on atterrit dans les étoiles


#27 R1D1

R1D1

    Modérateur et Membre passionné

  • Modérateur
  • PipPipPipPipPip
  • 1 211 messages
  • Gender:Male
  • Location:Autriche

Posté 24 avril 2018 - 02:10

Je sais mais à l'écrit c'est toujours très difficile de retranscrire quelque chose et c'est facile de mal interpréter. Le problème c'est que du coup il te manques beaucoup de concept. Par exemple la plupart des questions que t'as posé tu ne les aurai pas posé si t'avais les bases et du coup tu pourrai poser des questions plus technique et avancer plus vite. Ton projet est très ambitieux et t'as pas froid aux yeux c'est un avantage. pour ce qui est du C regarde le tuto de M@téo sur openclassroom c'est par la que j'ai commencé et franchement il vaut le coup. Ne regarde que la première partie la seconde c'est juste pour faire du graphisme et tu ne l'utilisera pas en robotique.  Essaye de bien comprendre les notions de pointeurs c'est ce qui va te perdre le plus. Après je ne sais pas si c'est ici ou pas que j'ai donné des exos mais je peux t'en donner en fonction de tes lacunes et même faire la correction avec une explication. Si t'as une question ne la pose pas sur le forum d'openclassroom ils ne sont pas toujours très sympa avec les débutants pose la plutôt ici dans la section programmation. Tu peux aussi me poser des questions en PV j'y répondrai. Si tu veux on peut même faire 2/3 heures par semaine par cam sur fb ou skype pour t'expliquer ce que tu n'a pas compris.
 
PS: Tu habites où ? Si tu n'habite pas trop loin de chez moi je peux peux-être t'aider en direct.


Euuuh ... merci de ne pas diverger du sujet initial : le projet de robot-incendie et le code correspondant. Je pense que Manon est tout à fait capable de poser les bonnes questions et d'essayer par elle-même.
Pour ce qui est de pulseIn, une simple recherche dans ton moteur de recherche préféré t'aurait montré qu'il s'agit d'une fonction de l'API d'arduino.
Chacun est libre d'aider les autres, c'est le but du forum, mais attention à ne pas donner de mauvais conseils. S'engager à donner 2-3h d'aide par semaine, c'est loin d'être un petit service.
Par ailleurs, le but du forum est de partager les connaissances et les progrès : chaque question posée et répondue en public bénéficiera également aux personnes qui auront le problème plus tard.
En conséquence, ce genre de propositions est à éviter (mais tu peux, avec l'accord de Mike, proposer tes services à ceux qui en auraient besoin dans la section Annonces du forum).
R1D1 - Calculo Sed Ergo Sum -- en ce moment, M.A.R.C.E.L.
Avatar tiré du site bottlebot

#28 R2D21995

R2D21995

    Membre passionné

  • Membres
  • PipPipPip
  • 385 messages

Posté 24 avril 2018 - 03:01

Alors Désolé si j'ai dérivé du sujet initial. Je pensais que la programmation était un des sujets et donc ses bases aussi.

Pour de la proposition ça partait d'une bonne intention si maintenant tu pense que ça peut nuire au bon fonctionnement du forum j'en suis désolé.

Pour la fonction oui effectivement mais quand j'ai répondu j'étais trop crevé pour penser à faire une recherche d’où ma question.

Et ou est-ce que j'ai donné un mauvais conseil ?

PS: S ma proposition dérange je la supprimerai je voulais juste aider parce que je sais que c'est très difficile quand on est débutant.


Il faut toujours viser la lune, car même en cas d’échec, on atterrit dans les étoiles


#29 R1D1

R1D1

    Modérateur et Membre passionné

  • Modérateur
  • PipPipPipPipPip
  • 1 211 messages
  • Gender:Male
  • Location:Autriche

Posté 25 avril 2018 - 10:59

C'est très bien que tu veuilles aider, pas de soucis pour ça, bien au contraire ! :)
Mais c'est mieux de le faire sur le forum, où, comme je le dis, ça bénéficiera à tous.
R1D1 - Calculo Sed Ergo Sum -- en ce moment, M.A.R.C.E.L.
Avatar tiré du site bottlebot

#30 R2D21995

R2D21995

    Membre passionné

  • Membres
  • PipPipPip
  • 385 messages

Posté 25 avril 2018 - 01:52

D'accord pas de soucis. J'éviterai à l'avenir de faire une telle proposition


Il faut toujours viser la lune, car même en cas d’échec, on atterrit dans les étoiles


#31 Oliver17

Oliver17

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 2 758 messages
  • Gender:Male

Posté 25 avril 2018 - 02:33

Je ne sais pas si cela peut aider, mais au moins pour l'inspiration ^^

 

https://www.shark-ro.../rhyno-protect/

 

 

Edit : je n'avais pas fais gaffe, en fait ils sont localisé ben chez moi ^^ lol


signature_01.png -->

 

Mon Tipeee
 


#32 Manonsti2d

Manonsti2d

    Membre

  • Membres
  • 30 messages
  • Gender:Female
  • Location:Haute Savoie

Posté 30 avril 2018 - 08:45

Rien à faire, le code ne marche pas. La date limite approche à très très grands pas, et je ne sais plus dans quel sens prendre le prendre.

#define trigPin 7      //Trig 
#define echoPin 6      //Echo 


void setup() {
  Serial.begin (9600);  
  pinMode(trigPin, OUTPUT);  //On défini Trig comme une sortie
  pinMode(echoPin, INPUT);   //On défini Echo comme une entrée
}

void loop() {
  long duree, distance;
  digitalWrite(trigPin, LOW);  
  delayMicroseconds(2); 
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10); //Trig envois pendant 10ms 
  digitalWrite(trigPin, LOW);
  
  // On calcul le temps pour l'aller retour du signal
  duree = pulseIn(echoPin, HIGH);
  distance = duree*340.0/(2*10000);  
  Serial.print(distance);
if (distance <= 10) // si distance est inférieure ou égale à 10 faire quelque chose
{
 Serial.println("Attention !");
}
  else {
    Serial.print(distance);
    Serial.print(" cm");
  }
  delay(100);
}

J'ai changé les pin pour voir si c'était là le problème, mais non. J'ai vérifié plusieurs fois si c'était un câble inversé avec un autre, mais c'est pas ça non plus. Peut-être juste que ma tête revient pas à la carte ?

Non, plus sérieusement, je suis vraiment perdue. J'ai écrit un code plus complexe que ça et il semble nickel (pas encore testé sur le terrain, pour ça il faudrait que le capteur fonctionne ... ) ...



#33 Oliver17

Oliver17

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 2 758 messages
  • Gender:Male

Posté 30 avril 2018 - 08:56

je t'invite à regarder cette page : https://www.carnetdu...rduino-genuino/


signature_01.png -->

 

Mon Tipeee
 


#34 Manonsti2d

Manonsti2d

    Membre

  • Membres
  • 30 messages
  • Gender:Female
  • Location:Haute Savoie

Posté 30 avril 2018 - 09:15

Merci du tuyau, problème de branchements. Et pourtant c'est pas faute d'avoir vérifié. Enfin, comme nous sommes plusieurs sur ce projet, quelqu'un à pu bouger les fils. Merci beacoup



#35 R2D21995

R2D21995

    Membre passionné

  • Membres
  • PipPipPip
  • 385 messages

Posté 30 avril 2018 - 12:55

Donc du coup maintenant ça marche ??


Il faut toujours viser la lune, car même en cas d’échec, on atterrit dans les étoiles


#36 Manonsti2d

Manonsti2d

    Membre

  • Membres
  • 30 messages
  • Gender:Female
  • Location:Haute Savoie

Posté 03 mai 2018 - 01:37

En soit oui mais je me demande si les valeurs ne sont pas incohérentes. Enfin pour le moment les teste se limitaient à mettre ma main plus ou moins près du capteur donc bon ... Je vais faire des essais plus précis dans pas très longtemps





Répondre à ce sujet



  


0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users