- Identification du programme principal :
task main()
{
}
- Affiche le texte ALLO en position horizontale de 10 et en position verticale 20 sur l'écran LCD :
Notez que la position verticale peut également être indiquée en utilisant la ligne: exemple : TextOut(10, LCD_LINE7, "Allo");
La commande TextOut peut également utiliser un 4ième paramètre facultatif (true ou false) indiquant si l'écran doit être effacé après l'écriture du texte.
TextOut(10, 20, "Allo!");
ou
TextOut(10, LCD_LINE1, "Allo!");
- Afficher à l'écran une valeur numérique en position 10,20 ou la valeur numérique d'une variable
NumOut(10,20,100);
ou
NumOut(10,LCD_LINE1,100);
ou
NumOut(10,LCD_LINE1,100);
- Afficher à l'écran en position 10,20 la valeur captée par le capteur Ultrason branché dans le port 4
NumOut(10,20,SensorUS(IN_4));
ou
NumOut(10,LCD_LINE1,SensorUS(IN_4));
- Afficher le nombre de rotation d'un moteur (nombre de degrés)
NumOut(10,LCD_LINE1,MotorRotationCount(OUT_A));
ou
NumOut(10,10,MotorRotationCount(OUT_A));
- Attendre 5 secondes
Wait(5000);
- Effacer le contenu de l'écran :
ClearScreen();
- Afficher l'image Stop.ric sur l'écran en position horizontale 25 et en position verticale 20 :
GraphicOut(25, 20, "Stop.ric");
- Définir une constante nommée Nom_Constante et lui assigner la valeur 99 :
#define Nom_Constante 99
- Définir une variable nommée i de type integer (entier) et lui assigner la valeur 1234
int i;
i = 1234;
- Affiche la valeur numérique de la variable i en position horizontale 60 et en position verticale de 5 sur l'écran du robot
NumOut(60,10, i);
ou
NumOut(60,LCD_LINE1, i);
- Affiche la valeur numérique de la caleur captée par le capteur Ultrason branché dans le port 2 en position horizontale 60 et en position verticale de 5 sur l'écran du robot
Notez que la position verticale peut également être indiquée en utilisant la ligne: exemple : NumOut(10, LCD_LINE7, SensorUS(IN_2));
NumOut(60,5,SensorUS(IN_2));
ou
NumOut(60,LCD_LINE1,SensorUS(IN_2));
- Dessiner un rectangle sur l'écran LCD à partir du point 5,5 de dimension horizontale 90 et de dimension verticale de 50
RectOut(5,5,90,50);
- Dessiner une ligne sur l'écran LCD du point 5 , 5 au point 90,50
LineOut(5,5,95,55);
- Dessiner un cercle centré au point 50,50 de diamètre 20 sur l'écran LCD
CircleOut(50,50,20);
- Jouer le fichier son Positive.rso avec le volume 5 en boucle
PlayFileEx("Positive.rso",5,true);
- Jouer la note de fréquence 262 pendant 0.4 secondes
tone peut prendre une valeur entre 220 et 3951
PlayTone(262,400);
- Faire fonctionner le moteur branché dans le port A à 50% de sa capacité maximale
OnFwd(OUT_A, 50);
- Arrêter le moteur branché dans le port C
Off(OUT_C);
- Faire tourner les moteurs branchés dans les ports A et C à 50% de leur puissance maximale pour 2 tours (720 degrés)
RotateMotor(OUT_AC, 50,720);
- Faire tourner le moteur A en sens inverse à 40% de sa puissance maximale
OnRev(OUT_A, 40);
- Initialise la communication avec le capteur ultrason branché dans le port 3
SetSensorLowspeed(IN_3);
-
Voici les différentes commandes pour initialiser la communication avec les différents capteurs :
Capteur de son : |
SetSensorSound(IN_1); |
|
|
Capteur de lumière (photosensible) : |
SetSensorLight(IN_1); |
|
|
Capteur de toucher (tactile) : |
SetSensorTouch(IN_1); |
|
|
Capteur de ultrasons : |
SetSensorLowspeed(IN_1); |
ou |
SetSensor(IN_1,LOW_SPEED); |
Voici les différentes commandes pour utiliser la valeur captée par les différents capteurs :
Capteur de son : |
SENSOR_1 |
ou |
Sensor(IN_1) |
Capteur de lumière (photosensible) : |
SENSOR_1 |
ou |
Sensor(IN_1) |
Capteur de toucher (tactile) : |
SENSOR_1 |
ou |
Sensor(IN_1) |
Capteur de ultrasons : |
|
|
SensorUS(IN_1) |
- Initialise la communication avec le capteur tactile branché dans le port 2
SetSensorTouch(IN_2);
ou
SetSensor(IN_2,SENSOR_TOUCH);
- Initialise la communication avec le capteur de lumière branché dans le port 3
SetSensorLight(IN_3);
- Initialise la communication avec le capteur de son branché dans le port 3
SetSensorSound(IN_3);
- Répéter pour toujours les actions indiquées entre les accollades
while(true){ }
- Jusqu'à ce que la valeur captée par le capteur ultra-son branché dans le port 4 soit plus grande que la valeur définie pour la constante FIDO
while(SensorUS(IN_4)>FIDO);
- Si le capteur branché dans le port 1 est activé
if (SENSOR_1 == 1)
- Si le capteur branché dans le port 1 n'est pas activé
if (SENSOR_1 ==0)
- Jusqu'à ce que la valeur captée par le capteur de lumière branché dans le port 4 soit inférieure ou égale à la valeur définie pour la constante nommée luminosite
Notez que pour pour utiliser la valeur captée par le capteur de lumière, vous pouvez soit utiliser : SENSOR_4 ou Sensor(IN_4)
until(Sensor(IN_4) <= luminosite);
- Définir deux variables de type texte nommées message1 et message2
string message1,message2;
- Assigner le texte "Allo" à la variable nommée message1
message1 = "Allo";
- Définir la fonction sans paramètre nommée tourner
sub tourner(){ }
- Définir la fonction nommée tourner en utilisant le paramètre pwr de type entier
sub tourner(int pwr){}
- Effectuer la fonction nommée tourner en utilisant la valeur 75 comme valeur de paramètre
tourner(75);
- Définir la tâche nommée controlerLeRobot
task controlerLeRobot(){}
- Exécuter les tâches controlerLeRobot et lireSensor
Precedes( controlerleRobot, lireSensor);
- Attendre la durée définie par la constante ou variable nommée tempstourne
Wait(tempstourne);
- Ajouter 200 à la valeur de la variable nommée temps_de_deplacement
temps_de_deplacement += 200;
- Créer la variable de type tableau-chaîne de caractères nommée autos et assigner les valeurs "honda" "ford" et "chevy" à cette variable
string autos[] = {"honda","ford", "chevy"};
- Afficher le texte contenu dans la variable autos[0] en position horizontale de 20 et en position verticale de 10 sur l'écran LCD
TextOut(20, 10, autos[0]);
- Répéter 4 fois les actions définies entre les accollades
repeat(4)
{
}
- Effectuer les actions définies entre les accollades pendant que la valeur de la variable temps_total est plus petite que 20000
do
{
}
while (temps_total < 20000);
- Assigner une valeur aléatoire entre 0 et 10 à la variable n
n=random(10);
- Jusqu'à ce que le bouton du centre soit activé
until(ButtonPressed(BTNCENTER,true));
- Identification de la tâche principale du programme
task main(){}
- Jouer la note de fréquence 200 pour une durée de 0.3 seconde
PlayTone(200,300)
- CurrentTick() retourne la valeur du compteur intégré à la brique du nombre de millisecondes DEPUIS le début du lancement du programme
Ci-dessous : création de la variable IntTime et assignation de le valeur retournée par CurrentTick() à cette variable int IntTime;
IntTime=CurrentTick();
- FirstTick() retourne la valeur du compteur intégré à la brique du nombre de millisecondes AU MOMENT du lancement du programme
Ci-dessous : création de la variable IntDebut et assignation de le valeur retournée par FirstTick() à cette variable int IntDebut;
IntDebut=FirstTick();
- PowerDown(); Éteindre la brique
PowerDown();
- MotorRotationCount() affiche le nombre de degrés de rotation d'un moteur
MotorRotationCount(OUT_A)
Notions complémentaires :
Dans une commande if , vous pouvez utiliser :
- les opérateurs de comparaison
et
- les opérateurs logiques
suivants afin de vérifier plus d'une condition :
Les opérateurs de comparaison sont :
Signe |
Nom |
Exemple |
Résultat |
== |
Egal |
x == 11 |
true |
< |
Inférieur |
x < 11 |
false |
<= |
Inférieur ou égal |
x <= 11 |
true |
> |
Supérieur |
x > 11 |
false |
>= |
Supérieur ou égal |
x >= 11 |
true |
!= |
Différent |
x != 11 |
false |
Les opérateurs logiques sont :
Signe |
Nom |
Exemple |
Signification |
&& |
et |
(condition1) && (condition2) |
condition1 et condition2 |
|| |
ou |
(condition1) || (condition2) |
condition1 ou condition2 |
Exemple 1 :
task main()
{
int a;
int b;
a=1;
b=2;
if( a==0 || b==2 )
//vérifie si la valeur a est égale à 1 "ou" si la valeur b est égale 2
{
TextOut(20, 50, "oui");
Wait(3000);
}
else
{
TextOut(20, 50, "non");
Wait(3000);
}
}
Exemple 2 :
task main()
{
int a;
int b;
int c;
a=1;
b=2;
c=2;
if( (a==0 && b==2) || b==c )
//vérifie si la valeur a est égale à 0 "et" la valeur b est égale 2 "ou" si la valeur b est égale à la valeur c
{
TextOut(20, 50, "oui");
Wait(3000);
}
else
{
TextOut(20, 50, "non");
Wait(3000);
}
}