Se connecter / S'enregistrer

Résolu problème de temps

Solutions (1)
|
bonjour, je me suis fabriqué un robot roulant avec un arduino uno. pour contrôler le déplacement j'ai installé une roulette de souris avec un capteur infrarouge. donc j'ai un signal HIGH/LOW allterné. si mon robot rencontre un obstacle j'ai soit HIGH ou LOW permanent. je doit lire l’état du capteur "roulette" l'enregistrer, le comparer à une base de temps d'une seconde et remettre le compteur à zéro si l'état a changé. je sais a peu près l'exprimer mais je n'arrive pas à l'écrire surtout au niveau de la comparaison du temps présent et du temps enregistré.
Merci pour votre aide
Contenus similaires
Meilleure solution
partage
|
1. Init: tu mémorises le signal de référence, tu mémorises le temps, et tu indique un booléen isMoving à faux.
Sur ta boucle temporelle :
2. tu lis le signal, et si celui-ci est différent du signal de référence, tu mets ton flag isMoving à vrai.
3. tu lis le temps en cours.
4. tu fais la différence de temps entre le temps en cours et le temps de référence
5. si la différence est > ou = à 1000ms alors tu as passé ta seconde :
5.1. si isMoving est à vrai alors ça bouge, sinon c'est fixe
5.2. refaire l'étape d'init 1. pour refaire la seconde suivante.
  • Dreamcaster a sélectionné cette solution comme la meilleure réponse
  • Commenter cette solution |

Ce n'est pas ce que vous cherchiez ?

Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS