MBlock Utilisation Des Programmes Des Capteurs
MBlock Utilisation Des Programmes Des Capteurs
Bien sûr, si nous demandons au panda de dire "Bonjour !", le panda va dire "Bonjour !".
Heureusement, nous pouvons remplacer ce texte par le nom de n'importe quel capteur que nous souhaitons.
lire. Ceci est pour le capteur ultrasonique :
Pour les capteurs à plug-in, vous devez vous assurer que le port sélectionné est le même port que
le port dans lequel vous avez branché votre capteur.
Now, you can click this block and it will tell you the value of the sensor. To make it
mettez à jour continuellement, vous pouvez mettre ce bloc dans une boucle infinie :
Défi :
Pouvez-vous trouver un moyen d'afficher les valeurs de différents capteurs en même temps ?
2. Can you find out the range of possible values for all the sensors?
Dans cette leçon, nous allons programmer le mBot pour jouer une note s'il détecte qu'il y a un
beaucoup de lumière, et joue une note différente si elle sent qu'il n'y a pas beaucoup de lumière. Pour cela, nous
nous aurons besoin du bloc "SI". Lorsque nous utilisons un "SI" en programmation, il y a 3 parties à
ce que nous écrivons :
Le « SI » lui-même
La condition
3. Le code qui est exécuté, si la condition est remplie.
Si (condition)
---- Fais ce code
La première chose que je veux faire dans cette leçon est de jouer un son s'il fait noir. Donc, le
condition is “it is dark”, and the code is “play sound”:
[Link] "si"
La condition est "le capteur de lumière est inférieur à 500", donc nous pouvons mettre le capteur de lumière
Bloquez dans le côté gauche du bloc « moins de » et écrivez « 500 » dans le côté droit. Quand
mettre le bloc bleu à l'intérieur du bloc vert, assurez-vous que le côté gauche du bleu
le bloc est aligné avec l'espace approprié du bloc vert. Quand l'espace dans
le bloc vert a un contour blanc il est prêt à recevoir le bloc bleu :
3. Enfin, nous avons besoin de code qui sera exécuté si la condition est remplie :
Lorsque ce code s'exécute, il testera la condition une fois puis s'arrêtera. Si nous voulons
it to continue to play music while dark we can add a forever loop. Also, remember to
inclure un commentaire descriptif :
Défi :
Dans cette leçon, je veux que le robot avance jusqu'à ce qu'il soit proche d'un objet, puis
écartez-vous de l'objet et partez dans une nouvelle direction :
Pour toujours
---- Si un objet est détecté
---- ---- Tourner vers une nouvelle direction
---- Sinon
Allez de l'avant
Et en code, cela ressemble à ceci :
En testant cela, j'ai constaté que le robot ne tournait pas assez lorsqu'il rencontrait un
objet, donc j'ai ajouté une commande d'attente après le tournant. Maintenant, je voudrais qu'il tourne dans
mBlock : Utilisation des capteurs - Manuel de l'utilisateur
Unité d'informatique
une direction aléatoire - parfois à gauche et parfois à droite. Heureusement, il y a un
Bloc d'opérateur que je peux utiliser pour faire exactement cela :
Le robot ne peut tourner qu'à gauche ou à droite, donc je vais choisir un nombre au hasard.
entre 0 et 1. Si le nombre aléatoire est 0, alors le robot tournera à gauche. Si le
si le nombre aléatoire est 1, alors le robot tournera à droite. Donc, le comportement de tournage sera
ressembler à ceci :
Défi :
Le suiveur de ligne a 2 capteurs qui peuvent détecter une surface blanche (dans la plage de
1-2 cm). Il fonctionne en émettant de la lumière IR (Infrarouge) et en enregistrant combien de lumière est réfléchie.
de retour. Si beaucoup est renvoyé, on peut déduire qu'il est proche d'une surface blanche. Si un
peu est réfléchi, on peut en déduire que la surface est noire, ou que le capteur est
pas près d'une surface.
Une surface claire réfléchit beaucoup de lumière infrarouge vers le récepteur :
Et ça ne fonctionne pas - le robot sort souvent de la piste. C'est parce que ce programme
est exécuté à partir de l'IDE mBlock. N'oubliez pas que cela prend du temps pour les signaux et les commandes
à être envoyé du robot à l'ordinateur et vice versa. Dans ce cas, ce délai
interfère avec la façon dont le robot suit la ligne. Nous devons télécharger cela
programmez sur le tableau pour réduire ce délai. Ensuite, le programme fonctionnera. Pour le
mBot, nous utilisons le bloc « programme mBot », passons en mode Arduino et « Téléverser vers
Arduino
Défi :
1. Le robot ne se déplace pas en tournant en douceur. Pourquoi est-ce le cas ? Pouvez-vous le réparer ?
2. Pouvez-vous écrire un programme pour que le robot se déplace autour d'une table (blanche) dans un
mode aléatoire sans tomber ? (N'oubliez pas que le capteur de suivi de ligne détecte)
si la lumière est réfléchie – ou non réfléchie)
3. Pouvez-vous écrire un programme qui suit une ligne ET évite des objets - si un obstacle
si un objet est détecté, le robot doit arrêter les moteurs et attendre que l'objet soit
retiré.
Défi :
1. Peux-tu finir le programme ? Fais-le aussi long ou aussi court que tu veux, et puis
commence à jouer de ton thérémine.
2. Les notes aiguës se jouent plus rapidement que les notes graves. Pourquoi est-ce que c'est ainsi ? Pouvez-vous
modifiez le programme afin que les notes jouent toutes à la même vitesse ?
REMARQUE : Cette leçon est destinée à être utilisée avec 2 mBots qui se battent sur une table. Veuillez noter
que les mBots peuvent tomber de la table. Des mesures appropriées doivent être prises pour garantir
qu'aucun dommage n'est causé pendant l'exercice de cette activité.
N'oubliez pas les valeurs retournées par le capteur suiveur de ligne :
Il y a donc 2 capteurs différents qui affectent le comportement du mBot. Cela peut être
affiché dans le tableau suivant :
Maintenant que nous avons les actions clairement définies, nous pouvons écrire quelques pseudocodes pour notre
program:
Pour toujours {
---- Tant que (le robot n'a pas détecté un bord) {
---- ---- Si (un ennemi est détecté)
Charge
---- ---- Sinon
Avancer
---- }
---- Tour
}
Transférer cela en code ressemble à ceci :
Défi :