
Comment gérer le temps d'une action...
#1
Posté 13 novembre 2011 - 06:08
Je suis entrain de chercher une solution pour mon robot et j'ai besoin de vos lumières!
Je voudrais que mon robot exécute une action (ex avancer) et que si il n'a pas rencontré d obstacle pendant un certain temps, il fasse une autre action (ex demi tour)
Dans le loop:
Robot_avance
If robot_avance > 5minutes
Robot_demitour
Je pensais utiliser la fonction milli() et faire un truc du genre
Time= milli()
If Time + 30000
robot_demitour
Enfin, vous avez compris quoi!! LOL!
Le but, c'est que le robot ne peut avancer plus de 5 minutes sans qu'il est rencontré un obstacle, donc si on arrive á ce delay, il faut qu'il fasse demi tour pour essayer de se sortir de se problème...
Merci @ tous! Week end dur dur, du mal á réfléchir ! LOL!
...................................................
Mon premier projet arduino...
Blog de ma Tondeuse RC...
...................................................
#2
Posté 13 novembre 2011 - 10:05
Si c'est bien le cas, voila quelques éléments de réponses :
#include <time.h> //Librairie gestion du temps //![EDIT : Inutile sur board Arduino] Robot monRobot; //(Variable Fictive)Represente le robot que tu auras soigneusement programmé int tempsDerniereExecution; //Contient la valeur du temps la derniere fois que la tache s'est exécutée int tempsActuel; //Contient la valeur du temps actuel a chaque relevé dans la boucle principale int tempsCycle; //Contient la valeur de temps d'un cycle setup { tempsDerniereExecution = 0; //initialisation de la variable tempsActuel = 0; //initialisation de la variable tempsCycle = 300000; //initialisation de la variable Ici, on regle le cycle à 5 minutes } loop { monRobot.gestionCollision(); //permet de traité la gestion des collisions de ton robot tempsActuel = millis(); //Récupére la valeur du temps actuel if (monRobot.getNBcollission > 0) //permet de traiter la gestion des evenement en cas de collision avant la vérif toute les 5 minutes { monRobot.GereCollision(); //Action si collision } else { monRobot.continueTaRoute(); //Action si aucune collision } if (tempsActuel - tempsDerniereExecution >= tempsCycle) //Calcule le temps ecoulé depuis le dernier passage, si celui ci depasse la valeur du cycle, l'action s'execute { if (monRobot.getNBcollission = 0) //On vérifie si il y a eu une collision ces 5 dernieres minutes { monRobot.faisDemiTour(); //On fait le demi tour } tempsDerniereExecution = tempsActuel; //On réinitialise la variable pour la gestion du timer } }
Tu pourra chopé plus d'explications ici => Gestion du temps sur Arduino
Voila, j'espère que tu as compris où je voulais en venir avec ce petit exemple.
Dis nous si t'as encore besoin d'aide

++
MyPastebin : Tous mes codes sources pastebin.com/u/thorium90
#3
Posté 14 novembre 2011 - 03:02
Bonjour, la gestion du temps est un élément important dans la gestion de ton projet. Il semble avec ce que tu as écris que tu développe sur Arduino non ?
Si c'est bien le cas, voila quelques éléments de réponses :
......
Voila, j'espère que tu as compris où je voulais en venir avec ce petit exemple.
Dis nous si t'as encore besoin d'aide
++
euh !!! et bien merci merci !!! et ne me dis pas que tu as écris ce bout de programme sur un coin de nape au resto sinon je vais etre jaloux !!!
en plus j'ai tout tout compris !!! alors imagine !!!
j'ai plus qu'à adapter ça à mon code et faire des tests !!
merci encore du temps passé !!!
Have Fun !!!
...................................................
Mon premier projet arduino...
Blog de ma Tondeuse RC...
...................................................
#4
Posté 15 novembre 2011 - 11:16
T’inquiète pas aucune nappe n'a été victime d'abus, L'individu "Nouveau document.txt" n'a cependant pas été épargné

A bientôt.
MyPastebin : Tous mes codes sources pastebin.com/u/thorium90
#5
Posté 15 novembre 2011 - 11:17
Ravi d'avoir pu t'aider.
T’inquiète pas aucune nappe n'a été victime d'abus, L'individu "Nouveau document.txt" n'a cependant pas été épargnéHéhé
A bientôt.
lol ! merci encore !! ;-)
...................................................
Mon premier projet arduino...
Blog de ma Tondeuse RC...
...................................................
#6
Posté 25 novembre 2011 - 02:47
Page Facebook : https://www.facebook...appartelier2.0/
Page Twitter : https://twitter.com/2Appartelier (bateau seulement)
Boutique Robot-Maker : https://www.robot-ma...er-20/produits/
Besoin d'une impression 3D grand format ? Contactez moi !
#7
Posté 25 novembre 2011 - 02:58
#8
Posté 26 novembre 2011 - 01:18
Bonne continuation.
MyPastebin : Tous mes codes sources pastebin.com/u/thorium90
1 utilisateur(s) li(sen)t ce sujet
0 members, 1 guests, 0 anonymous users