Valeur de cette activité : 5 points
Compétence :
Compétence :
Compétence :
PEPS : Programmation NXC avec NXCEDITOR

A-Module 12 : ROBOTIQUE - Linux : 5 points - difficulté : 2

Robot NXT Linux 10 : Programmation NXC avec NXC-EDITOR

Description

NXC-EDITOR est un logiciel Linux qui permet la construction, la programmation d'un ROBOT NXT virtuel et la création d'environnements virtuels.

Site Officiel de Nxc-Editor

Le langage de programmation utilisé est le langage NXC.
ATTENTION : en plus des commandes standards du langage NXC, certaines commandes additionnelles sont disponibles spécifiquement pour le simulateur NxcSImulator :
Ces commandes sont : Pour lever le crayon : PenUp();
Pour abaisser le crayon : PenDown();

Utilisez ces commandes en écrivant :
PenuP();
PenDown();


ATTENTION : certaines commandes du langage NXC ne sont pas disponibles avec le simulateur :
Les fonctions de dessin suivantes ne sont pas disponibles :
PointOut, RectOut, LineOut, CircleOut

ATTENTION : si vous désirez télécharger vos programmes dans un robot NXT réel, veuillez utiliser le menu ROBOT + FILE MANAGER

Cette série d'activités vous permettront de construire et de programmer un robot NXT virtuel.



Consultez au besoin le Site officiel

Utilisez au besoin le guide de programmation suivant ou utilisez le menu HELP + SHOW_NXC_COMMANDS de le fenêtre de NXCEDITOR

Utilisez au besoin les exemples de programmes (Étape 0)
  1. Téléchargez et installez Gambas 3 à partir du site http://gambas.sourceforge.net/en/main.html

  2. Lancez NXCEDITOR en tapant dans un nouveau terminal :

    nxceditor

    Si le logiciel ne fonctionne pas, tapez dans le terminal cette commande :

    ssh -X -l cb 10.114.7.42 terminator

    et tapez nxceditor dans la fenêtre du nouveau terminal (et tapez ensuite le mot de passe cb)

    Si vous utilisez une image, copiez votre image sur l'ordinateur 10.114.7.42 en tapant dans le terminal :

    scp ./NomDeVotreImage.png cb@10.114.7.42:/home/cb/

    en remplaçant NomDeVotreImage.png par le nom de votre image à transférer.


  3. Si le logiciel n'est pas installé : installez le logiciel NXC-EDITOR en tapant dans le terminal :
    SOUS LUBUNTU et autres SE(OS) pour obtenir le plus récente version :

    rm -rf  ~/nxceditor && mkdir ./nxceditor && sudo apt-get remove --purge gambas3 && sudo apt-get autoremove && sudo add-apt-repository ppa:gambas-team/gambas3 && sudo apt-get update && sudo apt-get install gambas3 gambas3-gb-qt4-ext gambas3-gb-signal gambas3-gb-gtk3 && wget https://sourceforge.net/projects/nxceditor/files/nxcEditor/nxcEditor_v0.4.5_32.gambas.zip && unzip ./nxcEditor_v0.4.5_32.gambas.zip && mv ./nxcEditor_v0.4.5_32.gambas ~/nxceditor/ && echo "alias nxceditor='sudo ~/nxceditor/nxcEditor_v0.4.5_32.gambas'" >> /home/cb/.bashrc



    Source : http://ubuntuhandbook.org/index.php/2016/09/install-gambas-3-9-0-ubuntu-16-04-14-04/

    SOUS CRUNCNHBANGPLUSPLUS
    rm -rf ./nxceditor && mkdir nxceditor && cd ~/nxceditor && wget http://ladifference.info/i/images/profPierreMorissette/robotique/nxceditor/nxceditor.zip && unzip ./nxceditor.zip && rm ./nxceditor.zip && chmod a+x ./nxcEditor_v0.1.6_32.gambas && cd && sudo usermod cb -G sudo && sudo apt-get install --fix-missing gambas3 gambas3-gb-qt4-ext && echo "alias nxceditor='sudo /home/cb/nxceditor/nxcEditor_v0.1.6_32.gambas'" >> /home/cb/.bashrc

    SOUS ZORIN
    rm -rf ./nxceditor && wget http://ladifference.info/i/images//profPierreMorissette/robotique/nxceditor/nxceditor0.zip && unzip ./nxceditor0.zip && rm ./nxceditor0.zip && chmod a+x /home/cb/nxceditor/nxcEditor_v0.0.97.gambas && cd && sudo usermod cb -G sudo && sudo apt-get install --fix-missing gambas3 gambas3-gb-qt4-ext && echo "alias nxceditor='sudo /home/cb/nxceditor/nxcEditor_v0.0.97.gambas'" >> /home/cb/.bashrc

    SOUS DEBIAN
    rm -rf ./nxceditor &&mkdir nxceditor && cd ./nxceditor && wget http://ladifference.info/i/images/profPierreMorissette/robotique/nxceditor/nxceditor_v0.1.3.gambas.zip &&unzip nxceditor_v0.1.3.gambas.zip && rm ./nxceditor_v0.1.3.gambas.zip && chmod a+x ./nxcEditor_v0.1.3.gambas && sudo && sudo apt-get install --fix-missing gambas3*&& sudo usermod cb -G sudo && cd && echo "alias nxceditor='sudo ~/nxceditor/nxcEditor_v0.1.3.gambas'" >> ~/.bashrc

    Solution alternative no 1 non testée : https://sourceforge.net/projects/nxceditor/files/nxcEditor/

    Solution alternative no 2 non testée : http://nxceditor.sourceforge.net/Downloads.html

    Solution alternative no 3 non testée : https://osdn.net/projects/sfnet_nxceditor/releases/?fulllist=1

  4. Téléchargez et installez le logiciel NXC-EDITOR en suivant cette procédure :
    Tapez dans le terminal :
    wget http://ladifference.info/i/images//profPierreMorissette/robotique/nxceditor/nxcEditor_v0.1.3.gambas.zip&& unzip nxcEditor_v0.1.3.gambas.zip && rm ./nxcEditor_v0.1.3.gambas.zip && sudo mv ./nxcEditor_v0.1.3.gambas /usr/local/bin/ && sudo chmod +x /usr/local/bin/nxcEditor_v0.1.3.gambas && sudo apt-get install --fix-missing gambas3 gambas3-gb-qt4-ext



  5. Réalisez chacun des défis suivants:
    1. Titre du défi A (3 points):

      Construire un robot



      Lancez le programme nxcEditor
      Modifiez la langue d'affichage

      Utilisez le menu FILE + NEW et tapez ce programme
      task main(){
      OnFwd(OUT_A, 50);
      Wait(5000);
      Off(OUT_A);
      }

      Enregistrez ce programme sous le nom aa.nxc dans le répertoire /home/cb/ en tapant la touche F3
      Sélectionnez le menu nxcSimulator + Open nxcSimulator
      Sélectionnez le menu nxcSimulator + Save Download and start
      ou tapez la touche F6
      Faites fonctionner votre programme en utilisant les boutons
      Sélectionnez le menu Robot + Edit Robot
      En utilisant les 3 onglets disponibles, ajoutez les accessoires suivants :
      un moteur branché dans le port A
      un moteur branché dans le port C
      un détecteur de toucher branché dans le port 1
      un détecteur de son branché dans le port 2
      un détecteur de lumière branché dans le port 3
      un détecteur ultra-son branché dans le port 4
      sélectionnez une image de votre choix pour votre robot
      Effectuez une capture-écran-image de chacun des onglets et nommez ces images nxce1.png, nxce2.png et nxce3.png
      Cliquez le bouton OK et enregistrez votre robot sous le nom aa.robot en utilisant le menu ROBOT + SAVE ROBOT



      Cliquez le bouton OK afin de voir les modifications
    2. Titre du défi B 5 (points):

      L'aller-retour


      Construisez un ROBOT ayant deux moteurs A et C en utilisant les menus :
      - nxcSimulator + Open nxcSimulator
      et
      Robot + Edit Robot
      Depuis la fenêtre "nxceditor", programmez le robot afin qu'à partir du centre, le robot se déplace en ligne droite jusqu'au bord de la fenêtre et qu'il recule ensuite jusqu'au bord opposé de la fenêtre en utilisant soit les commandes : RotateMotor ou OnFwd et OnRev.
      Vous aurez besoin de la structure suivante
      
      task main()
      {
      }
      
      et des commandes suivantes :
      
      RotateMotor(OUT_AC,100,100);
      
      ou
      
      OnFwd(OUT_AC,2000);
      Wait(2000);
      et
      OnRev(OUT_AC,2000);
      Wait(2000);
      

      Enregistrez ce programme dans le répertoire /home/cb/ sous le nom bb.nxc en tapant la touche F3
      Sélectionnez le menu nxcSimulator + Save Download and start
      ou tapez la touche F6
      Faites fonctionner votre programme en utilisant les boutons
      Effectuez une capture-écran-image nommée bb.png de votre fenêtre d'exécution
      Téléchargez cette capture-écran dans votre espace de téléchargement
      Dans votre page, ajoutez un titre de niveau 1 contenant le titre de ce défi
      Entre les balises <pre></pre> copiez/collez le code de votre programme
    3. Titre du défi C 5 (points):

      Les formes géométriques


      Construisez un ROBOT ayant deux moteurs A et C et ayant le traceur (crayon) placé sur la roue droite (Menu NXCSIMULATOR et OPEN NXCSIMULATOR et le Menu Robot + Edit Robot et l'onglet 3 )

      Dans la fenêtre nxcsimulator, utilisez le menu FILE + NEW et programmez le robot, en utilisant les boucles de répétitions (commande repeat) , afin qu'il trace :
      -un carré
      - un triangle
      -un cercle
      en utilisant une ligne de couleur rouge sur un fond noir.

      IMPORTANT :
      Utilisez les commandes suivantes PenUp(); et PenDown();
      afin de déplacer le robot sans tracer et déplacer le robot pour tracer.

      Pour utiliser les commandes PenUp(); et PenDown(); dans votre programme principal, vous devez insérer (COPIER - COLLER) ces fonctions AVANT votre programme principal :
      sub PenUp(){}
      sub PenDown(){}
      Vous aurez besoin des structures suivantes :
      
      sub PenUp(){}
      
      sub PenDown(){}
      
      repeat(4){
      }
      
      task main()
      {
      }
      
      et des commandes suivantes :
      
      PenDown();
      
      RotateMotor(OUT_AC,100,100);
      
      

      Enregistrez ce programme dans le répertoire /home/cb/ sous le nom cc.nxc en tapant la touche F3
      Sélectionnez le menu nxcSimulator + Save Download and start
      ou tapez la touche F6
      Faites fonctionner votre programme en utilisant les boutons
      Afin de tracer une ligne avec le robot, vous devez :
      B) utilisez le menu Robot + Edit Robot + Onglet no 3 + Marks + Dotted Line + sélectionnez la couleur et sélectionnez Wheel Right
      Effectuez une capture-écran-image nommée cc.png de votre fenêtre d'exécution
      Téléchargez cette capture-écran dans votre espace de téléchargement
      Dans votre page, ajoutez un titre de niveau 1 contenant le titre de ce défi
      Entre les balises <pre></pre> copiez/collez le code de votre programme
    4. Titre du défi D 5 (points):

      Le chiffre 8


      Construisez un ROBOT ayant deux moteurs A et C et un crayon fixé au centre du robot.
      Programmez le robot afin qu'il trace le chiffre 8 en utilisant une ligne de couleur verte sur un fond noir
      Vous aurez besoin des structures suivantes
      
      sub PenUp(){}
      
      sub PenDown(){}
      
      task main()
      {
      }
      
      et des commandes suivantes:
      
      PenDown();
      
      PenUp();
      
      RotateMotor(OUT_AC,100,100);
      
       
      

      Enregistrez ce programme dans le répertoire /home/cb/ sous le nom dd.nxc en tapant la touche F3
      Sélectionnez le menu nxcSimulator + Save Download and start
      ou tapez la touche F6
      Faites fonctionner votre programme en utilisant les boutons
      Afin de tracer une ligne avec le robot, vous devez :
      B) utilisez le menu Robot + Edit Robot + Onglet no 3 + Marks + Dotted Lline + sélectionnez la couleur
      Effectuez une capture-écran-image nommée dd.png de votre fenêtre d'exécution
      Téléchargez cette capture-écran dans votre espace de téléchargement
      Dans votre page, ajoutez un titre de niveau 1 contenant le titre de ce défi
      Entre les balises <pre></pre> copiez/collez le code de votre programme
    5. Titre du défi E (5 points):

      Le robot suiveur de ligne


      Construisez un ROBOT ayant deux moteurs A et C et un capteur de lumière branché dans le port 3
      Programmez le robot afin qu'il suive la ligne noire
      Enregistrez ce programme dans le répertoire /home/cb/ sous le nom ee.nxc en tapant la touche F3
      Vous aurez besoin des   structures suivantes :
      
      task main()
      {
      }
      
      while(true){
      }    
      
      if(    ) {  
      } 
      else 
      {
      }
      
      
      et des commandes suivantes :
      
      SetSensorLight(IN_3);
      
      Sensor(IN_3)
      
      RotateMotor(OUT_AC,100,100);
      
      
      
      Voici le pseudo-code qui pourrait vous aider
      
      la tâche principale est
           je branche le capteur de lumière dans le port no. 
           répéter pour toujours
                  si la valeur du capteur de lumière est égale à 0
                     faire tourner le moteur A légèrement
                  sinon
                      faire tourner le moteur C légèrement
      
      
      
      

      Sélectionnez le menu nxcSimulator + Save Download and start
      ou tapez la touche F6
      Réglez l'image en arrière-plan à "LIGNE" en utilisant le menu
      BACKGROUND + SELECT BACKGROUND et en choisissant l'image LINES
      Faites fonctionner votre programme en utilisant les boutons
      Effectuez une capture-écran-image nommée ee.png de votre fenêtre d'exécution
      Téléchargez cette capture-écran dans votre espace de téléchargement
      Dans votre page, ajoutez un titre de niveau 1 contenant le titre de ce défi
      Entre les balises <pre></pre> copiez/collez le code de votre programme
    6. Titre du défi F (5 points) :

      Le robot à l'intérieur du cercle blanc


      Construisez un ROBOT ayant deux moteurs A et C et un capteur de lumière branché dans le port 3
      Créez avec GIMP une image de dimension 680 pixels x 680 pixels contenant un cercle blanc sur un fond noir. (tutoriel vidéo)
      Ou utilisez cette image (clic droit + enregistrer cette image sous...)

      Exportez ou enregistrez cette image sous le nom ff.png
      Utilisez le menu NXCSIMULATOR + OPEN NXCSIMULATOR
      Réglez l'image en arrière-plan en sélectionnant votre image gg.png en utilisant les menus
      BACKGROUND + CREATE BACKGROUND + Select + Start + OK
      et
      BACKGROUND + SELECT BACKGROUND
      Programmez le robot afin qu'il se déplace dans toutes les directions à l'intérieur du cercle blanc sans jamais quitter le cercle blanc
      Vous aurez besoin des structures suivantes :
      
      task main()
      {
      }
      
      while(true){
      }    
      
      if(    ) {  
      } 
      else 
      {
      }
      
      et des commandes suivantes :
      
      int NombreAleatoire;
      
      NombreAleatoire = Random(1000);
      
      SetSensorLight(IN_3);
      
      Sensor(IN_3)
      
      RotateMotor(OUT_AC,100,100);
      
      
      
      
      Voici le pseudo-code qui pourrait vous aider
      
      la tâche principale est
           je branche le capteur de lumière dans le port no. 
           je crée la variable nommée NombreAleatoire de type integer
           répéter pour toujours
                  si la valeur du capteur de lumière est égale à 0
                     assigner une valeur aléatoire à la variable NombreAleatoire
                     faire reculer le robot légèrement
                     faire tourner le robot en utilisant la valeur de la variable aléatoire
                  sinon
                      faire avancer le robot légèrement
      
      

      Enregistrez ce programme dans le répertoire /home/cb/ sous le nom ff.nxc en tapant la touche F3
      Sélectionnez le menu nxcSimulator + Save Download and start
      ou tapez la touche F6
      Réglez l'image en arrière-plan en sélectionnant votre image ff.png en utilisant les menus
      BACKGROUND + CREATE BACKGROUND + Select + Start + OK
      et
      BACKGROUND + SELECT BACKGROUND
      Faites fonctionner votre programme en utilisant les boutons
      Effectuez une capture-écran-image nommée ffc.png de votre fenêtre d'exécution
      Téléchargez cette capture-écran dans votre espace de téléchargement
      Dans votre page, ajoutez un titre de niveau 1 contenant le titre de ce défi
      Entre les balises <pre></pre> copiez/collez le code de votre programme
    7. Titre du défi G (5 points) :

      Les feux de circulation


      Construisez un ROBOT ayant deux moteurs A et C et un détecteur de lumière branché dans le port 3
      Créez avec GIMP une image de dimension 680 pixels x 680 pixels contenant un petit carré rouge sur un fond blanc ayant une bordure noire. (tutoriel vidéo)
      ou utilisez cette image

      Utilisez le menu FICHIER + EXPORTER afin d'exporter cette image sous le nom gg.png
      Réglez l'image en arrière-plan en sélectionnant votre image en utilisant les menus
      BACKGROUND + CREATE BACKGROUND + Select + Start + OK
      et
      BACKGROUND + SELECT BACKGROUND
      Programmez le robot afin qu'il se déplace dans la zone de jeu.
      Si (commande if) le robot frappe les murs de côté (bordure noire : couleur = 0) (commandes SetSensorLight(IN_3); et Sensor(IN_3) ), il doit reculer (commandes RotateMotor ou OnFwd) de x (valeur de votre choix) et tourner de y (valeur de votre choix) (commandes RotateMotor ou OnFwd) jusqu'à ce qu'il détecte le carré rouge (couleur =32) ( commandes if et Sensor(IN_3) ) sur lequel le robot doit s'arrêter (commande Off).
      Vous aurez besoin des structures suivantes
      
      task main()
      {
      }
      
      
      
      while(true){
      }    
      
      if(    ) {  
      } 
       
      
      
      et des commandes suivantes :
      
      SetSensorLight(IN_3);
      
      Sensor(IN_3)
      
      Off(OUT_AC);
      
      RotateMotor(OUT_AC,100,100);
      
       
      

      Enregistrez ce programme dans le répertoire /home/cb/ sous le nom gg.nxc en tapant la touche F3
      Sélectionnez le menu nxcSimulator + Save Download and start
      ou tapez la touche F6
      Effectuez une capture-écran-image nommée ggc.png de votre fenêtre d'exécution
      Téléchargez cette capture-écran dans votre espace de téléchargement
      Dans votre page, ajoutez un titre de niveau 1 contenant le titre de ce défi
      Entre les balises <pre></pre> copiez/collez le code de votre programme
    8. Titre du défi H (5 points) :

      Le capteur de contact comme volant


      Construisez un ROBOT ayant deux moteurs A et C et un détecteur de contact avant branché dans le port 1
      Programmez le robot afin qu'il se déplace vers la gauche lorsque le capteur de contact avant n'est pas activé et qu'il se déplace vers la droite lorsque le capteur de contact avant est activé.
      Vous aurez besoin des structures suivantes
      
      task main()
      {
      }
      
      while(true){
      }    
      
      if(    ) {  
      } 
      else 
      {
      }
      
      
      et des commandes suivantes :
      
      SetSensorTouch(IN_1);
      
      Sensor(IN_1)
      
      Off(OUT_AC);
      
      RotateMotor(OUT_AC,100,100);
      
      

      Enregistrez ce programme dans le répertoire /home/cb/ sous le nom hh.nxc en tapant la touche F3
      Sélectionnez le menu nxcSimulator + Save Download and start
      ou tapez la touche F6
      Utilisez le menu Sensor + sensor direct (touche F10) afin de contrôler votre robot avec ce capteur
      Avisez l'enseignant qui validera votre travail et qui vous donnera votre CODE DE VALIDATION
    9. Titre du défi i (5 points) :

      Utiliser les boutons du robot


      ATTENTION : ne pas utiliser les paramètres BTNRIGHT , BTNLEFT, BTNCENTER
      veuillez utiliser :
      1 pour BTNRIGHT
      2 pour BTNLEFT
      3 pour BTNCENTER
      Construisez un ROBOT ayant deux moteurs A et C
      Programmez le robot afin :
      1) qu'il se déplace vers l'avant lorsque le bouton droit de la brique est activé
      2) qu'il tourne à droite lorsque le bouton gauche de la brique est activé
      Vous aurez besoin des des structures suivantes
      
      task main()
      {
      }
      
      
      while(true){
      }    
      
      if(    ) {  
      } 
      else 
      {
      }
      
      
      et des commandes suivantes :
      
      ButtonPressed(1,true)
      
      Off(OUT_AC);
      
      RotateMotor(OUT_AC,100,100);
       
       
      

      Enregistrez ce programme dans le répertoire /home/cb/ sous le nom ii.nxc en tapant la touche F3
      Sélectionnez le menu nxcSimulator + Save Download and start
      ou tapez la touche F6
      Utilisez le menu Sensor + sensor direct (touche F10) afin de contrôler votre robot avec les boutons
      Avisez l'enseignant qui validera votre travail et qui vous donnera votre CODE DE VALIDATION
    10. Titre du défi j (5 points) :

      Le détecteur de couleurs


      Construisez un ROBOT ayant deux moteurs A et C et deux détecteurs de toucher et un détecteur de lumière
      Programmez le robot afin qu'il se déplace en utilisant les détecteurs de toucher et déplacez le robot afin que le détecteur de lumière puisse lire la couleur de chacun des cercles. Affichez à l'écran la valeur captée par le capteur de lumière pendant 1 seconde lorsque le détecteur de lumière est placé au-dessus de chacun des 3 cercles de couleur.
      Utilisez cette image (clic droit + enregistrer cette image sous...)

      Vous aurez besoin des des structures suivantes
      
      task main()
      {
      }
      
      
      while(true){
      }    
      
      if(    ) {  
      } 
      else 
      {
      }
      
      
      et des commandes suivantes :
      
      SetSensorLight(IN_2);
      
      NumOut(10,LCD_LINE2,130);
      
      Sensor(IN_1)
      
      RotateMotor(OUT_AC,100,100);
       
      ClearScreen();
      
       
      

      Enregistrez ce programme dans le répertoire /home/cb/ sous le nom j.nxc en tapant la touche F3
      Sélectionnez le menu nxcSimulator + Save Download and start
      ou tapez la touche F6
      Utilisez le menu Sensor + sensor direct (touche F10) afin de contrôler votre robot avec les boutons
      Avisez l'enseignant qui validera votre travail et qui vous donnera votre CODE DE VALIDATION
      Notez la valeur du capteur de couleur pour chacune des couleurs
      Insérez dans votre page le nom des couleurs et leurs valeurs numériques
    11. Titre du défi K (5 points) :

      Création d'une pièce de musique


      Programmez le robot afin qu'il joue une pièce musicale de votre choix en utilisant la commande PlayTone en utilisant un minimum de 10 notes

      Si le son de votre ordinateur ne fonctionne pas
      Utilisez un robot nxt réel
      Branchez le robot nxt réel
      Allumez-le
      Écrivez votre programme
      Enregistrez-le au format .nxc
      Compilez-le
      EN utilisant nxceditor, téléchargez votre programme compilé dans le robot réel
      Vous aurez besoin des structures suivantes  :
      
      task main()
      {
      }
      
      
      while(true){
      }    
      
      et des commandes suivantes
      
      PlayTone(200,300);
      
      Wait(300);
       
      

      Enregistrez ce programme dans le répertoire /home/cb/ sous le nom kk.nxc en tapant la touche F3
      Sélectionnez le menu nxcSimulator + Save Download and start
      ou tapez la touche F6
      Avisez l'enseignant qui validera votre travail et qui vous donnera votre CODE DE VALIDATION
    12. Titre du défi L(5 points) :

      Jouer un son


      Programmez le robot afin qu'il joue 2 sons au format .rso de votre choix disponible dans le robot parmi les sons suivants :
      ! Startup, ! Attention, ! Click, eins, zwei, drei, vier, fuenf, sechs, sieben, acht, neun, null, komma, volt, ohm,ampere

      Si vous désirez avoir un plus grand éventail de choix ou que le son de votre ordinateur ne fonctionne pas, téléchargez l'ensemble des sons au format .rso en tapant dans le terminal :
      wget http://ladifference.info/i/images//profPierreMorissette/robotique/nbc/fichiers.rso.zip && unzip ./fichiers.rso.zip && rm ./fichiers.rso.zip && cp ./Sounds/* ./
      Choisissez un son de votre choix parmi les fichiers téléchargés dans /home/cb/
      Branchez le robot nxt réel
      Allumez-le
      Téléchargez le fichier son désiré dans le robot en tapant dans le terminal
      sudo t2n -put NOM_DU_FICHIER_SON.rso
      Écrivez votre programme
      Enregistrez-le au format .nxc
      Compilez-le
      EN utilisant nxceditor, téléchargez votre programme compilé dans le robot réel




      Attention si vous désirez utiliser d'autres sons de la banque de sons, téléchargez cette banque en tapant dans le terminal :
      wget http://ladifference.info/i/images//profPierreMorissette/robotique/nbc/fichiers.rso.zip && unzip ./fichiers.rso.zip && rm ./fichiers.rso.zip && cp ./Sounds/* ./ && sudo cp ./Sounds/* /tmp/nxcEditor/

      Voici la liste des sons additionnels que vous pourrez utiliser :
      00.rso           Champion.rso         LEGO.rso             Robot.rso
      01.rso           ! Click.rso          Light.rso            Rotation.rso
      02.rso           Cold.rso             Logging.rso          Score.rso
      03.rso           Comma.rso            Log.rso              See.rso
      04.rso           Cool.rso             Lost Object.rso      Sensor.rso
      05.rso           Crying 02.rso        Loud.rso             Shoot.rso
      06.rso           Dark.rso             Low.rso              Shout.rso
      07.rso           Data.rso             Malfunction.rso      Silent.rso
      08.rso           Day.rso              Metre.rso            Sir.rso
      09.rso           Degrees.rso          MINDSTORMS.rso       ! Sneeze.rso
      10.rso           Detect.rso           Morning.rso          Snore.rso
      Aha.rso          Distance.rso         ! Motor Run.rso      ! Sonar.rso
      Ahnoo.rso        Education.rso        Music.rso            Sorry.rso
      Alarm.rso        ! Error 02.rso       Negative.rso         Sound.rso
      Alpha Rex.rso    Error.rso            Night.rso            Spike.rso
      ! Applause.rso   Fahrenheit.rso       No.rso               Start.rso
      ! Arm 02.rso     ! Fanfare.rso        ! Note 1.rso         ! Startup.rso
      ! Arm 05.rso     Fantastic.rso        ! Note 2.rso         Stop.rso
      ! Arm 09.rso     Forward.rso          ! Note 3.rso         System Overload.rso
      ! Attention.rso  Freezing.rso         ! Note 4.rso         T56.rso
      Attention.rso    Game Over.rso        ! Note 5.rso         Temperature.rso
      ! Backup.rso     Goodbye.rso          Object Detected.rso  Thank You.rso
      Backwards.rso    Good Job.rso         Object.rso           ! Ticktack.rso
      ! Beats 03.rso   Goodmorning.rso      OK.rso               Tracking Object.rso
      ! Beats 04.rso   Good.rso             Ooof.rso             TriBot.rso
      Black.rso        Green.rso            Orange.rso           Try Again.rso
      ! Blips 07.rso   Grey.rso             Ouch 02.rso          Turn.rso
      ! Blips 11.rso   Have A Nice Day.rso  Percent.rso          Warm.rso
      ! Blips 13.rso   Hello.rso            Phew.rso             Watch Out.rso
      ! Blips 19.rso   Hooray.rso           Play.rso             White.rso
      ! Blips 25.rso   Hot.rso              Please.rso           Woops.rso
      Blue.rso         ! Hydraulic 02.rso   Point.rso            Yellow.rso
      Bravo.rso        ! Hydraulic 03.rso   Port.rso             Yes.rso
      Brilliant.rso    Inches.rso           Positive.rso         You're Good.rso
      Buuuhh.rso       ! Laser.rso          Record.rso
      Celcius.rso      Laughing 02.rso      Red.rso
      Centimeters.rso  Left.rso             Right.rso
      Vous aurez besoin des structures suivantes  :
      
      task main()
      {
      }
       
      
      et des commandes suivantes
      
      PlayFileEx("Positive.rso",5,false);
      
      Wait(1000);
       
      

      Enregistrez ce programme dans le répertoire /home/cb/ sous le nom ll.nxc en tapant la touche F3
      Sélectionnez le menu nxcSimulator + Save Download and start
      ou tapez la touche F6
      Avisez l'enseignant qui validera votre travail et qui vous donnera votre CODE DE VALIDATION
    13. Titre du défi M (5 points) :

      Afficher une illustration


      Programmez le robot afin qu'il affiche pendant 10 secondes une image au format .ric de votre choix disponible dans le robot parmi les images suivantes :
      Herz_klein, Herz_groß
      afin que l'image soit entièrement visible dans l'écran du robot

      Si vous désirez avoir un plus grand éventail de choix, téléchargez l'ensemble des sons au format .ric en tapant dans le terminal :
      wget http://ladifference.info/i/images//profPierreMorissette/robotique/nbc/fichiers.ric.zip && unzip ./fichiers.ric.zip && rm ./fichiers.ric.zip && cp ./Pictures/* ./
      Choisissez une image de votre choix parmi les fichiers .ric téléchargés dans /home/cb/
      Branchez le robot nxt réel
      Allumez-le
      Téléchargez l'image désirée dans le robot en tapant dans le terminal
      sudo t2n -put NOM_DU_FICHIER_SON.ric
      Écrivez votre programme
      Enregistrez-le au format .nxc
      Compilez-le
      EN utilisant nxceditor, téléchargez votre programme compilé dans le robot réel


      Attention si vous désirez utiliser d'autres images de la banque des images, téléchargez cette banque en tapant dans le terminal :
      wget http://ladifference.info/i/images//profPierreMorissette/robotique/nbc/fichiers.ric.zip && unzip ./fichiers.ric.zip && rm ./fichiers.ric.zip && cp ./Pictures/* ./ && sudo cp ./Pictures/* /tmp/nxcEditor/

      Voici le liste des images additionnelles que vous pourrez utiliser
      Accept 03.ric         LEGO Brick.ric         Send.ric
      Aim.ric               LEGO Minifig Head.ric  Signal.ric
      Angry 01.ric          Letter.ric             Skeleton 02.ric
      Angry 02.ric          Light Bulb.ric         Sleeping.ric
      Angry 04.ric          Lightning Cloud.ric    Smile 01.ric
      Backward.ric          Lights 02.ric          Smile 02.ric
      Battery Electric.ric  List.ric               Smile 03.ric
      Bluetooth.ric         Lock Locked.ric        Snail.ric
      Bomb.ric              Lock Unlocked.ric      Sound.ric
      Boom.ric              Looking Left.ric       Stop 01.ric
      Camera.ric            Looking Right.ric      Stop 02.ric
      Crazy 01.ric          Map.ric                Stop.ric
      Crazy 02.ric          Microphone.ric         Sun.ric
      Dead.ric              Mobile.ric             Surprise.ric
      Decline 03.ric        Mountain 02.ric        Swearing.ric
      Dont Walk 02.ric      Note 03.ric            Talk 01.ric
      Dont Walk.ric         NXT.ric                Talk 02.ric
      Ear.ric               PC.ric                 Temperature C.ric
      Earth.ric             Point Left.ric         Think.ric
      Eye Closed.ric        Point Right.ric        Time 00.ric
      Eye Open.ric          Point Up.ric           Time 01.ric
      Eye.ric               Power.ric              Time 02.ric
      Floppy Disks.ric      Push Button.ric        Time 03.ric
      Flower.ric            Rabbit.ric             Time 04.ric
      Follow.ric            !.ric                  Timeglass.ric
      Forward.ric           Right 02.ric           Time.ric
      Gasoline.ric          Rotation.ric           Tired 01.ric
      Grey Bulb.ric         Run 01.ric             Trash Can.ric
      Hand.ric              Sad 02.ric             Two Arrows.ric
      Heart 01.ric          Sad.ric                Walk 02.ric
      Heart 02.ric          Satellite 03.ric       Zzzz.ric
      Left 02.ric           Search.ric
      Vous aurez besoin des structures suivantes  :
      
      task main()
      {
      }
       
      
      et des commandes suivantes
      
      GraphicOut(25, 20, "Stop.ric");
      
      Wait(1000);
       
      

      Enregistrez ce programme dans le répertoire /home/cb/ sous le nom mm.nxc en tapant la touche F3
      Sélectionnez le menu nxcSimulator + Save Download and start
      ou tapez la touche F6
      Effectuez une capture-écran-image nommée ll.png de votre fenêtre d'exécution
      Téléchargez cette capture-écran dans votre espace de téléchargement
      Dans votre page, ajoutez un titre de niveau 1 contenant le titre de ce défi
      Entre les balises <pre></pre> copiez/collez le code de votre programme
    14. Titre du défi N (5 points) :

      Afficher un texte sur l'écran


      Programmez le robot afin qu'il affiche un court texte de votre choix sur l'écran du robot en position 10 x LCD_LINE3 pendant 10 secondes pour ensuite effacer l'écran
      Vous aurez besoin des structures suivantes  :
      
      task main()
      {
      }
       
      
      et des commandes suivantes
      
      TextOut(25, LCD_LINE3, "Allo");
      
      Wait(1000);
      
      ClearScreen();
      

      Enregistrez ce programme dans le répertoire /home/cb/ sous le nom nn.nxc en tapant la touche F3
      Sélectionnez le menu nxcSimulator + Save Download and start
      ou tapez la touche F6
      Effectuez une capture-écran-image nommée mm.png de votre fenêtre d'exécution
      Téléchargez cette capture-écran dans votre espace de téléchargement
      Dans votre page, ajoutez un titre de niveau 1 contenant le titre de ce défi
      Entre les balises <pre></pre> copiez/collez le code de votre programme
    15. Titre du défi O (5 points) :

      Afficher la valeur du capteur de lumière


      Programmez le robot afin qu'il affiche la valeur du capteur de lumière branché dans le port 3 en position 0,LCD_LINE3 lorsque celui-ci est placé sur une couleur rouge pendant 3 secondes pour ensuite effacer l'écran
      Vous aurez besoin des structures suivantes  :
      
      task main()
      {
      }
       
      while(true)
      {
      }
      
      if (    ){
      }
      else
      {
      }
      
      et des commandes suivantes  :
      
      SetSensorLight(IN_3);
      
      Sensor(IN_3)
      
      NumOut(10,LCD_LINE3,9);
      
      Wait(1000);
      
      ClearScreen();
      

      Enregistrez ce programme dans le répertoire /home/cb/ sous le nom oo.nxc en tapant la touche F3
      Créez avec GIMP une image de dimension 680 pixels x 680 pixels contenant un cercle rouge de 300 pixels au centre sur un fond noir ou blanc.
      ou utilisez cette image :

      Exportez cette image sous le nom nn.png
      Sélectionnez le menu nxcSimulator + Save Download and start
      ou tapez la touche F6
      Réglez l'image en arrière-plan en sélectionnant votre image nn.png en utilisant les menus
      BACKGROUND + CREATE BACKGROUND+ Select + Start + OK
      et
      BACKGROUND + SELECT BACKGROUND
      Effectuez une capture-écran-image nommée nnc.png de votre fenêtre d'exécution
      Téléchargez cette capture-écran dans votre espace de téléchargement
      Dans votre page, ajoutez un titre de niveau 1 contenant le titre de ce défi
      Entre les balises <pre></pre> copiez/collez le code de votre programme
    16. Titre du défi O (5 points) :

      Le chronomètre


      Programmez le robot afin qu'il affiche à chaque seconde sur l'écran un chronomètre EN SECONDES et non en millisecondes en utilisant les variables de type int (entier numérique) debut, fin et chrono commandes CurrentTick(); et/ou FirstTick();

      Votre programme doit afficher sur la ligne LCD_LINE1 la valeur de départ (variable debut)

      Votre programme doit afficher sur la ligne LCD_LINE2 la valeur de fin (variable fin)

      Votre programme doit afficher sur la ligne LCD_LINE3 la valeur du chronomètre : variable chrono qui sera le résultat de (fin-debut)/1000
      Vous aurez besoin des structures suivantes  :
      
      task main()
      {
      }
       
      while(true)
      {
      }
       
      
      et des commandes suivantes  :
      
      int i;
      
      CurrentTick();
      
      FirstTick();
      
      NumOut(10,LCD_LINE3,9);
      
      Wait(1000);
      
      ClearScreen();
      

      Enregistrez ce programme dans le répertoire /home/cb/ sous le nom oo.nxc en tapant la touche F3
      Sélectionnez le menu nxcSimulator + Save Download and start
      ou tapez la touche F6
      Effectuez une capture-écran-image nommée oo.png de votre fenêtre d'exécution
      Téléchargez cette capture-écran dans votre espace de téléchargement
      Dans votre page, ajoutez un titre de niveau 1 contenant le titre de ce défi
      Entre les balises <pre></pre> copiez/collez le code de votre programme
    17. Titre du défi P (5 points) :

      Afficher la valeur du capteur de son


      Programmez le robot afin qu'il affiche, à chaque seconde, la valeur du capteur de son branché dans le port 2 en position 0,LCD_LINE3
      Vous aurez besoin des structures suivantes  :
      
      task main()
      {
      }
       
      while(true)
      {
      }
       
      
      et des commandes suivantes  :
       
      
      SetSensorSound(IN_1);
      
      Sensor(IN_1)
      
      Wait(1000);
      
      ClearScreen();
      

      Enregistrez ce programme dans le répertoire /home/cb/ sous le nom pp.nxc en tapant la touche F3
      Sélectionnez le menu nxcSimulator + Save Download and start
      ou tapez la touche F6
      en utilisant le menu Sensor + Sensor direct, activez le son à différentes intensités et observez le résultat qui s'affiche à l'écran du robot
      Effectuez une capture-écran-image nommée pp.png de votre fenêtre d'exécution
      Téléchargez cette capture-écran dans votre espace de téléchargement
      Dans votre page, ajoutez un titre de niveau 1 contenant le titre de ce défi
      Entre les balises <pre></pre> copiez/collez le code de votre programme
    18. Titre du défi Q (x points) :

      Mon programme personnalisé


      Trouvez une idée de programme que vous désirez programmer .
      Utilisez au besoin des idées:
      labyrinthe : http://www.youtube.com/watch?v=ueYC1JFRZ00
      Musique et couleurs : http://www.youtube.com/watch?v=lpdWp6Lb5A8


      La valeur (points) de ce programme pourra varier en fonction de la difficulté de la tâche à réaliser
      Enregistrez ce programme dans le répertoire /home/cb/ sous le nom qq.nxc en tapant la touche F3
      Sélectionnez le menu nxcSimulator + Save Download and start
      ou tapez la touche F6
      Utilisez au besoin les menus :
      Sensor + Sensor direct
      BACKGROUND + CREATE BACKGROUND+ Select + Start + OK
      et
      BACKGROUND + SELECT BACKGROUND
      Avisez l'enseignant qui validera votre travail et qui vous donnera votre CODE DE VALIDATION
    19. Titre du défi R (5 points) : Création de mon robot personnalisé
      Consultez le guide vidéo
      http://www.youtube.com/watch?v=uLZEwmJ5Hgo

      Réalisez et enregistrez un programme simple de votre choix dans le répertoire /home/cb/ sous le nom rr.nxc en tapant la touche F3
      Produisez vos images pour l'interface du robot et les roues du robot avec GIMP et exportez au format .png
      les dimensions des images doivent être :
      Pour l'interface : 67 pixels x 95 pixels (interface.png)
      Pour les roues : 26 pixels x 56 pixels (roue.png)
      Sélectionnez le menu nxcSimulator + Save Download and start
      ou tapez la touche F6
      Votre robot sera enregistré dans le répertoire /home/cb/monrobot
      Compactez au format .zip ce répertoire (clic droit sur le répertoire et créer une archive) et téléchargez-le fichier .zip dans votre espace de téléchargement
      Effectuez une capture-écran-image nommée pp.png de votre fenêtre d'exécution
      Faites fonctionner votre programme et avisez l'enseignant qui validera votre travail et qui vous donnera votre CODE DE VALIDATION
      Téléchargez cette capture-écran dans votre espace de téléchargement
      Dans votre page, ajoutez un titre de niveau 1 contenant le titre de ce défi
      Entre les balises <pre></pre> copiez/collez le code de votre programme
    20. Titre du défi S (15 points) :

      Le labyrinthe


      Consultez la vidéo suivante
      http://www.youtube.com/watch?v=ueYC1JFRZ00

      Réalisez et enregistrez le programme et l'image en arrière-plan pour réaliser cette tâche dans le répertoire /home/cb/ sous le nom ss.nxc en tapant la touche F3
      Produisez votre image d'arrière-plan avec GIMP et exportez au format .png
      les dimensions des images doivent être 680 pixels x 680 pixels
      Sélectionnez le menu nxcSimulator + Save Download and start
      ou tapez la touche F6
      Effectuez une capture-écran-image nommée ss.png de votre fenêtre d'exécution
      Faites fonctionner votre programme et avisez l'enseignant qui validera votre travail et qui vous donnera votre CODE DE VALIDATION
      Téléchargez cette capture-écran dans votre espace de téléchargement
      Dans votre page, ajoutez un titre de niveau 1 contenant le titre de ce défi
      Entre les balises <pre></pre> copiez/collez le code de votre programme
    21. Titre du défi T (15 points) :

      Le jardin musical


      Consultez la vidéo suivante
      http://www.youtube.com/watch?v=lpdWp6Lb5A8

      Réalisez et enregistrez le programme et l'image en arrière-plan pour réaliser cette tâche dans le répertoire /home/cb/ sous le nom tt.nxc en tapant la touche F3
      Produisez votre image d'arrière-plan avec GIMP et exportez au format .png
      les dimensions des images doivent être 680 pixels x 680 pixels
      Sélectionnez le menu nxcSimulator + Save Download and start
      ou tapez la touche F6
      Effectuez une capture-écran-image nommée tt.png de votre fenêtre d'exécution
      Faites fonctionner votre programme et avisez l'enseignant qui validera votre travail et qui vous donnera votre CODE DE VALIDATION
      Téléchargez cette capture-écran dans votre espace de téléchargement
      Dans votre page, ajoutez un titre de niveau 1 contenant le titre de ce défi
      Entre les balises <pre></pre> copiez/collez le code de votre programme
    22. Titre du défi U (10 points) :

      les maths et la robotique


      En utilisant les données suivantes :
      Circonférence d'un cercle = 2 x pi x rayon
      Il y a 360 degrés dans un cercle

      Réalisez le programme qui permettra, en utilisant la commande RotateMotor, de :
      1. faire avancer le robot en ligne droite sur une distance de 25 cm
      2. faire tourner le robot dans un angle de 90 degrés vers la droite
      3. faire avancer le robot en ligne droite sur une distance de 25 cm
      4. faire tourner le robot dans un angle de 120 degrés vers la gauche
      5. faire avancer le robot en ligne droite sur une distance de 25 cm
      6. faire tourner le robot dans un angle de 360 degrés vers la droite

      Enregistrez votre programme et sélectionnez le menu nxcSimulator + Save Download and start
      ou tapez la touche F6
      Effectuez une capture-écran-image nommée uu.png de votre fenêtre d'exécution
      Faites fonctionner votre programme et avisez l'enseignant qui validera votre travail et qui vous donnera votre CODE DE VALIDATION
      Téléchargez cette capture-écran dans votre espace de téléchargement
      Dans votre page, ajoutez un titre de niveau 1 contenant le titre de ce défi
      Entre les balises <pre></pre> copiez/collez le code de votre programme
      Ajoutez ensuite les calculs permettant d'identifier les valeurs des paramètres 3 des commandes RoteteMotor pour chacune des actions suivantes :
      1. faire avancer le robot en ligne droite sur une distance de 25 cm
      2. faire tourner le robot dans un angle de 90 degrés vers la droite
      3. faire tourner le robot dans un angle de 120 degrés vers la gauche
      4. faire tourner le robot dans un angle de 360 degrés vers la droite


  6. Réalisez le défi proposé (construction et programmation du robot )

  7. Effectuez une ou des captures-écran-image selon les directives données
  8. Ajoutez une page à votre portfolio en affichant l'assistant HTML ainsi que la directive 89562

  9. Inscrivez dans le champ titre : NXC-EDITOR

  10. Sélectionnez la section : MODULE ROBOTIQUE_LINUX

  11. Sélectionnez la matière : informatique

  12. Inscrivez dans le champ no de la directive : 89562

  13. Inscrivez dans votre page le titre de niveau 1 : NXC-EDITOR

  14. Indiquez le TITRE COMPLET du défi réalisé

  15. Ajoutez votre/vos capture(s)-écran-image au besoin

  16. Copiez votre programme NXC

  17. Collez ce programme entre les balises <pre> </pre>

  18. Insérez au besoin votre CODE DE VALIDATION

  19. Si vous avez fabriqué une image, ajoutez cette image dans votre page

  20. Visualisez votre page et apportez des modifications au besoin.