Se déplacer dans un carré

REMARQUE: tout en suivant ce tutoriel et en développant votre propre programme, assurez-vous que votre robot est supporté afin que les roues ne soient pas en contact avec une surface ou dans un espace où il peut bouger librement – Assurez-vous qu’il ne tombe pas de n’importe quel bureau ou table.

AUTRE REMARQUE: ce didacticiel exécute des programmes à partir de mBlock IDE. Il ne met à jour aucun programme sur la carte robot.

Les robots sont faits pour bouger et dans ce tutoriel, nous allons apprendre comment. Le bloc qui contrôle les mouvements du robot a deux menus déroulants. Le premier menu contrôle la direction dans laquelle le robot se déplace:

courir vers l'avant
Et le deuxième menu contrôle la puissance. La puissance de crête est de 255, 0 arrête les moteurs et les nombres négatifs inversent la direction. (REMARQUE: des niveaux de puissance plus lents peuvent ne pas être assez forts pour faire bouger le robot.)

Et le deuxième menu contrôle la puissance. La puissance de crête est de 255, 0 arrête les moteurs et les nombres négatifs inversent la direction. (REMARQUE: des niveaux de puissance plus lents peuvent ne pas être assez forts pour faire bouger le robot.)

Donc, pour commencer, je vais faire avancer mon robot à une vitesse de 100:

bloc à ressort

Il est possible que votre robot ne fonctionne pas complètement droit. Cela peut être dû à certaines raisons, par exemple qu’une des roues n’est pas parfaitement alignée ou qu’une des roues est plus solidement fixée au robot et provoque plus de friction. Si tel est le cas, vous pouvez résoudre ce problème en remplaçant le bloc avant par deux blocs qui définissent séparément les niveaux de puissance du moteur:

vitesses de réglage

Cependant, mon robot fonctionne tout droit, je vais donc continuer à utiliser le bloc « spring forward ». Je veux écrire un programme qui se déplace dans un carré. Alors avançons une seconde puis tournons à droite. Je veux tourner à droite jusqu’à ce que j’aie tourné à 90 degrés. Je vais d’abord essayer de faire demi-tour pendant une seconde et ensuite voir si c’est trop ou pas assez loin:

avant-droit

Pouvez-vous voir pourquoi cela n’a pas fonctionné comme je le souhaitais? Si vous ne voyez pas, pourquoi ne pas essayer d’exécuter ce code vous-même avant de continuer à lire?

Le robot exécute le programme puis sort. L’avant-dernière commande est de tourner à droite. Puis le robot attend une seconde. Puis le programme se termine. A aucun moment du programme, les moteurs ne sont arrêtés. Les moteurs continuent donc de tourner. Je dois ajouter une ligne pour arrêter les moteurs:

et arrêtez

Ok, mon robot s’est déplacé un peu trop loin. Parce que je veux tester jusqu’où je dois tourner, et qui n’est pas liée à la partie du code qui avance, je vais isoler la partie inversée du code. Cela rend les tests plus faciles et plus rapides:

isoler le code

Après quelques tests, j’ai découvert que mon robot avait besoin de 0,65 seconde pour effectuer un virage à 90 degrés. Le temps nécessaire pour tourner à 90 degrés dépend de nombreux facteurs. Par exemple, le type de batterie que vous utilisez, le niveau de charge de la batterie, la friction entre le moteur et la roue et le réglage de la vitesse affecteront tous le temps nécessaire pour tourner à 90 degrés. Ainsi, lorsque vous effectuez vos tests, il est plus que probable que vous obteniez un nombre différent.

Je dois avancer et tourner quatre fois pour faire quatre côtés. Il existe un bloc répétitif que je peux utiliser pour créer une boucle. Mettez toutes les choses que vous voulez répéter dans le bloc « répéter »:

bloc de répétition

Et changez le nombre de répétitions en 4:

emménager dans un carré

Défi:

  1. Ai-je besoin de la dernière commande de mouvement de ma boucle de répétition? Pouvez-vous simplifier le code – pour qu’il fasse toujours ce que nous voulons, mais avec moins de commandes?
  2. Pouvez-vous écrire un programme qui déplace le robot dans un rectangle?
  3. Pouvez-vous étendre votre programme de la question 2 à l’écriture d’un programme qui émet un son d’avertissement avant de commencer et qui s’allume pendant que vous vous déplacez?

Construisez vos rêves!

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *