{"id":2558,"date":"2015-09-26T09:43:08","date_gmt":"2015-09-26T07:43:08","guid":{"rendered":"http:\/\/www.generationrobots.com\/blog\/?p=2558"},"modified":"2024-09-25T16:55:50","modified_gmt":"2024-09-25T14:55:50","slug":"nxt-g-programmation-mindstorms-nxt-g-interface-de-programmation-mindstorms","status":"publish","type":"post","link":"https:\/\/www.generationrobots.com\/blog\/fr\/nxt-g-programmation-mindstorms-nxt-g-interface-de-programmation-mindstorms\/","title":{"rendered":"NXT-G programmation Mindstorms: NXT-G interface de programmation Mindstorms"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"2558\" class=\"elementor elementor-2558\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-263cf49c elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"263cf49c\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-69d37d68\" data-id=\"69d37d68\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-734d965c elementor-widget elementor-widget-text-editor\" data-id=\"734d965c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\n<html>\n <body>\n  <figure class=\"wp-block-image\">\n   <img decoding=\"async\" alt=\"Lego Mindstorms NXT\" src=\"\/img\/cms\/articles%20et%20tutoriels\/NXTG\/nxt-g-programme-lego-mindstorms-roboter.jpg\"\/>\n  <\/figure>\n  \n  \n  <div align=\"center\">\n  <\/div>\n  \n  \n  <p>\n   Cet article pr\u00e9sente NXT-G, l&rsquo;environnement de d\u00e9veloppement fourni avec Lego Mindstorms NXT. Nous pr\u00e9senterons les principales caract\u00e9ristiques de cet environnement graphique et d\u00e9crirons la mani\u00e8re d&rsquo;utiliser et de concevoir un programme \u00e0 l&rsquo;aide de NXT-G.\n  <\/p>\n  \n  \n  <h1 class=\"wp-block-heading\" id=\"h-lego-mindstorms-nxt\">\n   Lego Mindstorms NXT\n  <\/h1>\n  \n  \n  <p>\n   <img decoding=\"async\" alt=\"NXT-G\" height=\"50\" id=\"bordure_image_catalogue\" src=\"\/img\/cms\/articles%20et%20tutoriels\/NXTG\/NXTGIcon.jpg\" style=\"float: left; margin: 0px;\" width=\"49\"\/>\n   Le kit Lego Mindstorms NXT est commercialis\u00e9 depuis 2006. Ce robot facile \u00e0 monter et \u00e0 modifier (puisque s\u2019appuyant sur les c\u00e9l\u00e8bres briques Lego) est aussi tr\u00e8s complet. Pas moins de 3 servo-moteurs et 4 capteurs sont fournis dans le Kit de base. Mais ce qui fait aussi la diff\u00e9rence lorsque l\u2019on parle de robotique personnelle et surtout de robots autonomes, c\u2019est la capacit\u00e9 \u00e0 programmer le robot.\n  <\/p>\n  \n  \n  <p>\n   L\u2019un des int\u00e9r\u00eats majeurs de la robotique de loisir est en effet de rendre son robot le plus autonome possible et capable de r\u00e9aliser des t\u00e2ches sp\u00e9cifiques. En ce sens, disposer d\u2019un syst\u00e8me de programmation \u00e9volu\u00e9 et \u00e9galement facile \u00e0 manipuler est un point important dans le choix du robot.\n  <\/p>\n  \n  \n  <p>\n   Lego Mindstorms NXT propose un langage de programmation graphique tr\u00e8s performant et facile \u00e0 manipuler, m\u00eame pour ceux qui n\u2019ont pas de comp\u00e9tences particuli\u00e8res en langages de d\u00e9veloppement.\n  <\/p>\n  \n  \n  <p>\n   Ce langage se nomme NXT-G et est fourni dans le kit de base (ce qui n\u2019est pas le cas avec toutes les gammes robotiques). Nous allons d\u00e9couvrir cet environnement de programmation dans cet article.\n  <\/p>\n  \n  \n  <h1 class=\"wp-block-heading\" id=\"h-l-environnement-de-developpement-nxt-g\">\n   L\u2019environnement de d\u00e9veloppement NXT-G\n  <\/h1>\n  \n  \n  <p>\n   <img decoding=\"async\" alt=\"NXT-G\" height=\"80\" id=\"bordure_image_catalogue\" src=\"\/img\/cms\/articles%20et%20tutoriels\/NXTG\/CDNXTG.jpg\" width=\"118\"\/>\n   Le CD d\u2019installation fourni avec le kit de base permet d\u2019installer NXT-G. Cet environnement est compatible Mac et PC. Les caract\u00e9ristiques techniques minimales sont les suivantes :\n  <\/p>\n  \n  \n  <figure class=\"wp-block-table\">\n   <table>\n    <tbody>\n     <tr>\n      <td>\n       Microsoft Windows\n       <p>\n       <\/p>\n       <ul>\n        <li>\n         Windows XP Service Pack 2 ou Windows Vista\n        <\/li>\n        <li>\n         Processeur \u00e0 1,5 Ghz\n        <\/li>\n        <li>\n         512 Mo de RAM\n        <\/li>\n        <li>\n         300 Mo d\u2019espace disque\n        <\/li>\n        <li>\n         1 port USB\n        <\/li>\n        <li>\n         Lecteur de CD-ROM (pour l\u2019installation)\n        <\/li>\n        <li>\n         Adaptateur Bluetooth (optionnel, requis pour la communication Bluetooth)\n        <\/li>\n       <\/ul>\n      <\/td>\n      <td>\n       Apple Macintosh\n       <p>\n       <\/p>\n       <ul>\n        <li>\n         Apple MacOS X v10.3.9 ou 10.4\n        <\/li>\n        <li>\n         Processeur Power PC G3, G4, G5 \u00e0 1,3 Ghz\n        <\/li>\n        <li>\n         512 Mo RAM\n        <\/li>\n        <li>\n         300 Mo d\u2019espace disque\n        <\/li>\n        <li>\n         1 port USB\n        <\/li>\n        <li>\n         Lecteur de CD-ROM (pour l\u2019installation)\n        <\/li>\n        <li>\n         Adaptateur Bluetooth (optionnel, requis pour la communication Bluetooth)\n        <\/li>\n       <\/ul>\n      <\/td>\n     <\/tr>\n    <\/tbody>\n   <\/table>\n  <\/figure>\n  \n  \n  <p>\n   L\u2019environnement NXT-G est une version sp\u00e9cifique du produit professionnel LabView (\n   <a class=\"catalogue\" href=\"http:\/\/www.ni.com\/labview\" title=\"Labview de National Instruments\">\n    http:\/\/www.ni.com\/labview\n   <\/a>\n   ) \u00e9dit\u00e9 par National Instruments. Autant dire que la plate-forme de base est solide. LabView est en effet tr\u00e8s largement utilis\u00e9 dans l\u2019industrie.\n  <\/p>\n  \n  \n  <h1 class=\"wp-block-heading\" id=\"h-a-quoi-ressemble-l-interface-du-logiciel-de-programmation-mindstorms-nxt-g\">\n   A quoi ressemble l&rsquo;interface du logiciel de programmation Mindstorms NXT-G ?\n  <\/h1>\n  \n  \n  <p>\n   La figure ci-dessous pr\u00e9sente l\u2019environnement de d\u00e9veloppement NXT-G.\n  <\/p>\n  \n  \n  <figure class=\"wp-block-image\">\n   <img decoding=\"async\" alt=\"Environnement de programmation Mindstorms NXT-G\" src=\"\/img\/cms\/articles%20et%20tutoriels\/NXTG\/environnement-programmation-mindstorms-nxt-g.jpg\"\/>\n  <\/figure>\n  \n  \n  <div style=\"text-align: center;\">\n  <\/div>\n  \n  \n  <div style=\"text-align: center;\">\n  <\/div>\n  \n  \n  <ul class=\"wp-block-list\">\n   \n   <li>\n    La\n    <strong>\n     palette\n    <\/strong>\n    liste les blocs fonctionnels que l\u2019on peut glisser\/d\u00e9poser sur la zone de travail.\n   <\/li>\n   \n   \n   <li>\n    La\n    <strong>\n     zone de travail\n    <\/strong>\n    est le lieu de conception de votre programme.\n   <\/li>\n   \n   \n   <li>\n    Le\n    <strong>\n     panneau de configuration\n    <\/strong>\n    pr\u00e9sente les param\u00e8tres que vous pouvez ajuster lorsque vous s\u00e9lectionnez un bloc dans la zone de travail\n   <\/li>\n   \n   \n   <li>\n    Le\n    <strong>\n     contr\u00f4leur\n    <\/strong>\n    permet de compiler le programme et de le transf\u00e9rer au robot (par connexion USB ou par Bluetooth).\n   <\/li>\n   \n   \n   <li>\n    Le\n    <strong>\n     Robot Center\n    <\/strong>\n    est le lieu o\u00f9 sont contenus les tutoriels vous permettant de construire et programmer l\u2019une des 4 grandes cat\u00e9gories de robots r\u00e9alisables \u00e0 l\u2019aide de Lego Mindstorms NXT (Les v\u00e9hicules, les bras robotis\u00e9s, les animaux et les humano\u00efdes). Ces tutoriels se comportent comme des vid\u00e9os vous permettant de r\u00e9aliser vos premiers programmes pas \u00e0 pas de mani\u00e8re tr\u00e8s didactique. Un second onglet est disponible dans cet espace et permet l\u2019acc\u00e8s au portail Lego o\u00f9 vous pourrez acc\u00e9der aux forums, t\u00e9l\u00e9charger des sons suppl\u00e9mentaires pour votre robot\u2026\n   <\/li>\n   \n   \n   <li>\n    <strong>\n     L\u2019aide en ligne\n    <\/strong>\n    contient toute l\u2019aide n\u00e9cessaire pour utiliser l\u2019interface\n   <\/li>\n   \n  <\/ul>\n  \n  \n  <h1 class=\"wp-block-heading\" id=\"h-principes-de-programmation-mindstorms-a-l-aide-de-nxt-g\">\n   Principes de programmation Mindstorms \u00e0 l&rsquo;aide de NXT-G\n  <\/h1>\n  \n  \n  <p>\n   La programmation \u00e0 l\u2019aide de NXT-G est enti\u00e8rement graphique. Vous n\u2019avez pas besoin de conna\u00eetre la programmation pour r\u00e9aliser des programmes \u00e9volu\u00e9s \u00e0 l\u2019aide de cet environnement NXT-G. Vous ne r\u00e9aliserez aucune ligne de code \u00e0 proprement parl\u00e9 \u00e0 l\u2019aide de cet environnement.\n  <\/p>\n  \n  \n  <p>\n   Par d\u00e9faut, la zone de travail pr\u00e9sente uniquement un point de d\u00e9part. A partir de ce point de d\u00e9part, vous glissez et d\u00e9posez l\u2019une des blocs de la palette NXT-G. Les blocs NXT-G s\u2019ajoutent les uns derri\u00e8re les autres sur un axe que l\u2019on appelle le rayon de s\u00e9quence.\n  <\/p>\n  \n  \n  <figure class=\"wp-block-image\">\n   <img decoding=\"async\" alt=\"Rayon de s\u00e9quence NXT-G\" src=\"\/img\/cms\/articles%20et%20tutoriels\/NXTG\/rayon-sequence-nxt-g.jpg\"\/>\n  <\/figure>\n  \n  \n  <div align=\"center\">\n  <\/div>\n  \n  \n  <div align=\"center\">\n  <\/div>\n  \n  \n  <p>\n   Les blocs NXT-G qui ne sont pas reli\u00e9s \u00e0 un axe de s\u00e9quence ne sont pas pris en compte par le programme. Il est possible de faire en sorte que plusieurs s\u00e9quences de programmes s\u2019effectuent en parall\u00e8le.\n  <\/p>\n  \n  \n  <p>\n   Pour ce faire, des rayons de s\u00e9quence suppl\u00e9mentaires peuvent \u00eatre cr\u00e9\u00e9s \u00e0 partir du point de d\u00e9part comme le pr\u00e9sente la figure suivante.\n  <\/p>\n  \n  \n  <figure class=\"wp-block-image\">\n   <img decoding=\"async\" alt=\"Rayons de s\u00e9quence multiples dans NXT-G\" src=\"\/img\/cms\/articles%20et%20tutoriels\/NXTG\/rayon-sequence-multiple-nxt-g.jpg\"\/>\n  <\/figure>\n  \n  \n  <div align=\"center\">\n  <\/div>\n  \n  \n  <h1 class=\"wp-block-heading\" id=\"h-blocs-disponibles-dans-mindstorms-nxt-g\">\n   Blocs disponibles dans Mindstorms NXT-G\n  <\/h1>\n  \n  \n  <p>\n   NXT-G est fourni avec 35 blocs. Il est possible de t\u00e9l\u00e9charger sur le web des blocs suppl\u00e9mentaires et \u00e9galement de constituer ses propres blocs. Lors de l\u2019achat d\u2019un capteur non standard (par exemple la webcam CMUCam), le capteur est fourni avec un CD contenant un bloc suppl\u00e9mentaire permettant de manipuler et d\u2019interagir avec le capteur.\n  <\/p>\n  \n  \n  <p>\n   Nous pouvons classer les blocs en 7 grandes familles comme le fait l\u2019aide de NXT-G.\n  <\/p>\n  \n  \n  <ol class=\"wp-block-list\">\n   \n   <li>\n    Les blocs courants\n   <\/li>\n   \n   \n   <li>\n    Les blocs d\u2019action\n   <\/li>\n   \n   \n   <li>\n    Les blocs de capteurs\n   <\/li>\n   \n   \n   <li>\n    Les blocs de flux\n   <\/li>\n   \n   \n   <li>\n    Les blocs de donn\u00e9es\n   <\/li>\n   \n   \n   <li>\n    Les blocs avanc\u00e9s\n   <\/li>\n   \n   \n   <li>\n    Les blocs personnalis\u00e9s\n   <\/li>\n   \n  <\/ol>\n  \n  \n  <p>\n   A l\u2019aide de cette liste, il est ais\u00e9 de se rendre compte que la palette de programmes que l\u2019on peut r\u00e9aliser \u00e0 l\u2019aide de NXT-G est tr\u00e8s large. Faisons un tour rapide (non exhaustif) des blocs NXT-G pour Mindstorms propos\u00e9s.\n  <\/p>\n  \n  \n  <figure class=\"wp-block-table\">\n   <table>\n    <tbody>\n     <tr>\n      <td>\n       <strong>\n        <span style=\"color: #333399;\">\n         Bloc\n        <\/span>\n       <\/strong>\n      <\/td>\n      <td>\n       <strong>\n        <span style=\"color: #333399;\">\n         Description\n        <\/span>\n       <\/strong>\n      <\/td>\n     <\/tr>\n     <tr>\n      <td>\n       Bloc \u00ab\u00a0Afficher\u00a0\u00bb\n       <br \/>\n       <img decoding=\"async\" alt=\"bloc NXT-G afficher\" height=\"73\" id=\"bordure_image_catalogue\" src=\"\/img\/cms\/articles%20et%20tutoriels\/NXTG\/Afficher.JPG\" width=\"71\"\/>\n      <\/td>\n      <td>\n       Ce bloc NXT-G permet d\u2019afficher un texte sur l\u2019\u00e9cran LCD de la brique intelligente NXT\n      <\/td>\n     <\/tr>\n     <tr>\n      <td>\n       Bloc \u00ab\u00a0Boucle\u00a0\u00bb\n       <br \/>\n       <img loading=\"lazy\" decoding=\"async\" alt=\"Bloc NXT-G Boucle\" height=\"112\" id=\"bordure_image_catalogue\" src=\"\/img\/cms\/articles%20et%20tutoriels\/NXTG\/Boucle.JPG\" width=\"72\"\/>\n      <\/td>\n      <td>\n       Ce bloc NXT-G permet de r\u00e9aliser une boucle dans votre programme, vous permettant ainsi de r\u00e9aliser un m\u00eame ensemble d\u2019actions plusieurs fois tant que certaines conditions ne sont pas remplies\n      <\/td>\n     <\/tr>\n     <tr>\n      <td>\n       Bloc \u00ab\u00a0Moteur\u00a0\u00bb\n       <br \/>\n       <img loading=\"lazy\" decoding=\"async\" alt=\"Bloc Moteur NXT-G\" height=\"74\" id=\"bordure_image_catalogue\" src=\"\/img\/cms\/articles%20et%20tutoriels\/NXTG\/moteur.JPG\" width=\"72\"\/>\n      <\/td>\n      <td>\n       Ce bloc NXT-G permet d\u2019activer un servomoteur. Il est possible d\u2019indiquer le sens, la vitesse et la dur\u00e9e de la rotation\n      <\/td>\n     <\/tr>\n     <tr>\n      <td>\n       Bloc \u00ab\u00a0Son\u00a0\u00bb\n       <br \/>\n       <img loading=\"lazy\" decoding=\"async\" alt=\"Bloc Son NXT-G\" height=\"72\" id=\"bordure_image_catalogue\" src=\"\/img\/cms\/articles%20et%20tutoriels\/NXTG\/Son.JPG\" width=\"72\"\/>\n      <\/td>\n      <td>\n       Ce bloc NXT-G permet de jouer un son (un bip, une s\u00e9rie de diff\u00e9rentes intonations enregistr\u00e9es ou un fichier son) depuis la brique intelligence NXT\n      <\/td>\n     <\/tr>\n     <tr>\n      <td>\n       Bloc \u00ab\u00a0Commutation\u00a0\u00bb\n       <br \/>\n       <img loading=\"lazy\" decoding=\"async\" alt=\"Bloc commutation NXT-G\" height=\"209\" id=\"bordure_image_catalogue\" src=\"\/img\/cms\/articles%20et%20tutoriels\/NXTG\/Commutateur.JPG\" width=\"71\"\/>\n      <\/td>\n      <td>\n       Ce bloc NXT-G permet de cr\u00e9er des conditions dans votre programme et ainsi ne r\u00e9aliser certaines actions que si des conditions sp\u00e9cifiques sont r\u00e9unies.\n      <\/td>\n     <\/tr>\n     <tr>\n      <td>\n       Bloc \u00ab\u00a0Capteur de rotation\u00a0\u00bb\n       <br \/>\n       <img loading=\"lazy\" decoding=\"async\" alt=\"Bloc capteur de rotation NXT-G\" height=\"123\" id=\"bordure_image_catalogue\" src=\"\/img\/cms\/articles%20et%20tutoriels\/NXTG\/CapteurRotation.JPG\" width=\"72\"\/>\n      <\/td>\n      <td>\n       Ce bloc NXT-G vous permet de d\u00e9terminer le nombre et\/ou l\u2019angle de rotation effectu\u00e9 par un servomoteur.\n      <\/td>\n     <\/tr>\n     <tr>\n      <td>\n       Bloc \u00ab\u00a0Capteur sonar \u00e0 ultrasons\u00a0\u00bb\n       <br \/>\n       <img loading=\"lazy\" decoding=\"async\" alt=\"Bloc capteur sonar ultrasons NXT-G\" height=\"101\" id=\"bordure_image_catalogue\" src=\"\/img\/cms\/articles%20et%20tutoriels\/NXTG\/CapteurUltrason.JPG\" width=\"72\"\/>\n      <\/td>\n      <td>\n       Ce bloc NXT-G permet d\u2019interagir avec le\n       <a class=\"catalogue\" href=\"\/blog\/fr\/capteur-ultrason-capteur-a-ultrason-en-vente-chez-generation-robots\/\" title=\"Tutoriel sur les capteurs \u00e0 ultrasons en robotique\">\n        capteur \u00e0 ultrasons\n       <\/a>\n       (d\u00e9tecteur d&rsquo;obstacle) et ainsi d\u00e9terminer les obstacles et leur distance du robot.\n      <\/td>\n     <\/tr>\n     <tr>\n      <td>\n       Bloc \u00ab\u00a0Capteur photosensible\u00a0\u00bb\n       <br \/>\n       <img loading=\"lazy\" decoding=\"async\" alt=\"Bloc capteur photosensible NXT-G\" height=\"101\" id=\"bordure_image_catalogue\" src=\"\/img\/cms\/articles%20et%20tutoriels\/NXTG\/CapteurPhotosensible.JPG\" width=\"72\"\/>\n      <\/td>\n      <td>\n       Ce bloc NXT-G permet d\u2019interagir avec le capteur photosensible et ainsi d\u00e9terminer la quantit\u00e9 de lumi\u00e8re re\u00e7ue par le capteur\n      <\/td>\n     <\/tr>\n     <tr>\n      <td>\n       Bloc \u00ab\u00a0Capteur sonore\u00a0\u00bb\n       <br \/>\n       <img loading=\"lazy\" decoding=\"async\" alt=\"Bloc capteur sonore NXT-G\" height=\"102\" id=\"bordure_image_catalogue\" src=\"\/img\/cms\/articles%20et%20tutoriels\/NXTG\/Capteursonore.JPG\" width=\"75\"\/>\n      <\/td>\n      <td>\n       Ce bloc NXT-G permet d\u2019interagir avec le capteur sonore et ainsi d\u00e9terminer l\u2019intensit\u00e9 du son qui arrive sur ce capteur.\n      <\/td>\n     <\/tr>\n     <tr>\n      <td>\n       Bloc \u00ab\u00a0Capteur de contact\u00a0\u00bb\n       <br \/>\n       <img loading=\"lazy\" decoding=\"async\" alt=\"Bloc capteur de contact NXT-G\" height=\"100\" id=\"bordure_image_catalogue\" src=\"\/img\/cms\/articles%20et%20tutoriels\/NXTG\/CapteurContact.JPG\" width=\"71\"\/>\n      <\/td>\n      <td>\n       Ce bloc NXT-G permet d\u2019interagir avec le capteur de contact et ainsi d\u00e9terminer si le capteur a \u00e9t\u00e9 press\u00e9 ou au contraire rel\u00e2ch\u00e9.\n      <\/td>\n     <\/tr>\n     <tr>\n      <td>\n       Bloc \u00ab\u00a0Comparaison\u00a0\u00bb\n       <br \/>\n       <img loading=\"lazy\" decoding=\"async\" alt=\"Bloc comparaison NXT-G\" height=\"147\" id=\"bordure_image_catalogue\" src=\"\/img\/cms\/articles%20et%20tutoriels\/NXTG\/Comparaison.JPG\" width=\"73\"\/>\n      <\/td>\n      <td>\n       Ce bloc NXT-G vous permet d\u2019effectuer une comparaison logique dans votre programme.\n      <\/td>\n     <\/tr>\n     <tr>\n      <td>\n       Bloc \u00ab\u00a0Maths\u00a0\u00bb\n       <br \/>\n       <img loading=\"lazy\" decoding=\"async\" alt=\"Bloc Maths NXT-G\" height=\"149\" id=\"bordure_image_catalogue\" src=\"\/img\/cms\/articles%20et%20tutoriels\/NXTG\/Math.JPG\" width=\"73\"\/>\n      <\/td>\n      <td>\n       Ce bloc NXT-G permet de r\u00e9aliser des calculs \u00e9l\u00e9mentaires comme l\u2019addition, la soustraction, la multiplication et la division.\n      <\/td>\n     <\/tr>\n     <tr>\n      <td>\n       Bloc \u00ab\u00a0R\u00e9ception de message Bluetooth\u00a0\u00bb\n       <br \/>\n       <img loading=\"lazy\" decoding=\"async\" alt=\"Bloc r\u00e9ception Message Bluetooth NXT-G\" height=\"100\" id=\"bordure_image_catalogue\" src=\"\/img\/cms\/articles%20et%20tutoriels\/NXTG\/ReceptionMessageBluetooth.JPG\" width=\"73\"\/>\n      <\/td>\n      <td>\n       Ce bloc NXT-G vous permet de traiter un message re\u00e7u par communication Bluetooth. Il existe \u00e9galement un bloc permettant d\u2019envoyer des messages via Bluetooth. En utilisant la technologie de communication sans fil Bluetooth, votre robot peut communiquer avec votre PC ou d\u2019autres robots Lego Mindstorms NXT\n      <\/td>\n     <\/tr>\n     <tr>\n      <td>\n       Bloc \u00ab\u00a0Timer\u00a0\u00bb\n       <br \/>\n       <img loading=\"lazy\" decoding=\"async\" alt=\"Bloc Timer NXT-G\" height=\"100\" id=\"bordure_image_catalogue\" src=\"\/img\/cms\/articles%20et%20tutoriels\/NXTG\/Timer.JPG\" width=\"72\"\/>\n      <\/td>\n      <td>\n       Ce bloc NXT-G permet de g\u00e9rer un chronom\u00e8tre\n      <\/td>\n     <\/tr>\n     <tr>\n      <td>\n       Bloc \u00ab\u00a0Variable\u00a0\u00bb\n       <br \/>\n       <img loading=\"lazy\" decoding=\"async\" alt=\"Bloc variable NXT-G\" height=\"101\" id=\"bordure_image_catalogue\" src=\"\/img\/cms\/articles%20et%20tutoriels\/NXTG\/Variable.JPG\" width=\"74\"\/>\n      <\/td>\n      <td>\n       Ce bloc NXT-G, tr\u00e8s utile, vous permet de cr\u00e9er et manipuler des variables dans votre programme.\n      <\/td>\n     <\/tr>\n    <\/tbody>\n   <\/table>\n  <\/figure>\n  \n  \n  <h1 class=\"wp-block-heading\" id=\"h-un-premier-programme-pour-votre-robot-lego-mindstorms-nxt-a-l-aide-de-nxt-g\">\n   Un premier programme pour votre robot Lego Mindstorms NXT \u00e0 l&rsquo;aide de NXT-G\n  <\/h1>\n  \n  \n  <p>\n   Le premier programme que nous allons concevoir ici est relativement simple. Il utilise le capteur de son et affiche le niveau sonore (en pourcentage de la sensibilit\u00e9 du capteur) sur l\u2019\u00e9cran de la brique intelligente du Robot.\n  <\/p>\n  \n  \n  <p>\n   Le programme final est repr\u00e9sent\u00e9 par le sch\u00e9ma suivant :\n  <\/p>\n  \n  \n  <figure class=\"wp-block-image\">\n   <img decoding=\"async\" alt=\"Programme NXT-G\" src=\"\/img\/cms\/articles%20et%20tutoriels\/NXTG\/Programmefinal.JPG\"\/>\n  <\/figure>\n  \n  \n  <div align=\"center\">\n  <\/div>\n  \n  \n  <div align=\"center\">\n  <\/div>\n  \n  \n  <p>\n   Nous allons b\u00e2tir ce programme pas \u00e0 pas.\n  <\/p>\n  \n  \n  <p>\n   Depuis le menu Fichier, cliquez sur Nouveau. Cela cr\u00e9\u00e9e un nouveau programme avec une zone de travail vierge. Pour plus de facilit\u00e9, utilisez la palette enti\u00e8re (cliquez sur le second onglet en bas \u00e0 gauche, dans la barre d\u2019outils verticale).\n  <\/p>\n  \n  \n  <p>\n   Ouvrez la liste de blocs \u00ab Capteurs \u00bb et faites glisser le capteur sonore sur le rayon de s\u00e9quence comme le montre la figure suivante :\n  <\/p>\n  \n  \n  <figure class=\"wp-block-image\">\n   <img decoding=\"async\" alt=\"Premi\u00e8re \u00e9tape d'un programme Simple r\u00e9alis\u00e9 avec NXT-G\" src=\"\/img\/cms\/articles%20et%20tutoriels\/NXTG\/Etape1.JPG\"\/>\n  <\/figure>\n  \n  \n  <div align=\"center\">\n  <\/div>\n  \n  \n  <div align=\"center\">\n  <\/div>\n  \n  \n  <p>\n   Dans la liste de blocs \u00ab Avanc\u00e9 \u00bb, fa\u00eetes glisser le bloc \u00ab Nombre en texte \u00bb comme le pr\u00e9sente l\u2019\u00e9tape suivante.\n  <\/p>\n  \n  \n  <figure class=\"wp-block-image\">\n   <img decoding=\"async\" alt=\"Seconde \u00e9tape d'un programme Simple r\u00e9alis\u00e9 avec NXT-G\" src=\"\/img\/cms\/articles%20et%20tutoriels\/NXTG\/Etape2.JPG\"\/>\n  <\/figure>\n  \n  \n  <div align=\"center\">\n  <\/div>\n  \n  \n  <div align=\"center\">\n  <\/div>\n  \n  \n  <p>\n   Maintenant que vous avez saisi le principe, r\u00e9p\u00e9tez ce type d\u2019op\u00e9ration afin de placer sur le rayon de s\u00e9quence successivement les blocs suivants :\n  <\/p>\n  \n  \n  <ul class=\"wp-block-list\">\n   \n   <li>\n    Le bloc \u00ab Variable \u00bb qui se trouve dans la liste de blocs \u00ab Donn\u00e9es \u00bb. Dans le panneau de configuration de ce bloc, s\u00e9lectionnez la variable de type texte et veillez \u00e0 ce que le bouton \u00ab Ecrire \u00bb soit coch\u00e9. Cela indique \u00e0 notre programme que la variable que nous allons utiliser est une variable en \u00e9criture.\n   <\/li>\n   \n   \n   <li>\n    Le bloc \u00ab Texte \u00bb qui se trouve dans la liste de blocs \u00ab Avanc\u00e9 \u00bb\n   <\/li>\n   \n   \n   <li>\n    Le bloc \u00ab Afficher \u00bb qui se trouve dans la liste \u00ab Action \u00bb. Dans la liste d\u00e9roulante pr\u00e9sent\u00e9e dans le panneau de configuration, s\u00e9lectionnez \u00ab Texte \u00bb. Cela indique au bloc qu\u2019il s\u2019attend \u00e0 afficher des donn\u00e9es textuelles.\n   <\/li>\n   \n   \n   <li>\n    Le bloc \u00ab Attendre \u00bb qui se trouve dans la liste \u00ab Flux \u00bb. Ce dernier bloc vous permet d\u2019indiquer le temps entre deux mesures (nous le laissons \u00e0 2 secondes par d\u00e9faut).\n   <\/li>\n   \n  <\/ul>\n  \n  \n  <p>\n   Placez l\u2019ensemble de cette s\u00e9quence dans une boucle afin que le programme se r\u00e9p\u00e8te plusieurs fois et que vous obteniez ainsi des mesures \u00e0 intervalles r\u00e9gulier.\n  <\/p>\n  \n  \n  <p>\n   Pour cela, faites glisser un bloc \u00ab Boucle \u00bb qui se trouve dans la liste de bloc \u00ab Flux \u00bb puis d\u00e9placez l\u2019ensemble des blocs se trouvant dans la zone de travail \u00e0 l\u2019int\u00e9rieur de la boucle tout en conservant leur ordre et en veillant \u00e0 ce qu\u2019ils restent sur le rayon de s\u00e9quence (souvenez vous qu\u2019un bloc qui ne se trouve pas sur un rayon de s\u00e9quence attach\u00e9 au point de d\u00e9marrage n\u2019est pas interpr\u00e9t\u00e9 par le programme sans qu\u2019il ne g\u00e9n\u00e8re une erreur pour autant).\n  <\/p>\n  \n  \n  <p>\n   Par d\u00e9faut, la boucle est r\u00e9gl\u00e9e sur \u00ab Pour toujours \u00bb. Cela signifie que le programme tournera ind\u00e9finiment, jusqu\u2019\u00e0 ce que vous arr\u00eatiez celui-ci en appuyant sur l\u2019un des boutons de la brique intelligente.\n  <\/p>\n  \n  \n  <p>\n   Si vous le souhaitez, vous pouvez modifier cela en cliquant sur la boucle et en affectant un nombre d\u00e9fini d\u2019affichage dans le panneau de configuration correspondant au bloc boucle (le panneau de configuration se met \u00e0 jour automatiquement en fonction du bloc sur lequel vous venez de cliquer). Si vous souhaitez n\u2019afficher que 10 mesures, dans la liste d\u00e9roulante, s\u00e9lectionnez \u00ab Compteur \u00bb et inscrivez 10 dans la zone \u00ab Compter \u00bb qui apparait dessous.\n  <\/p>\n  \n  \n  <p>\n   A ce stade, votre programme ressemble \u00e0 la figure ci-dessous.\n  <\/p>\n  \n  \n  <figure class=\"wp-block-image\">\n   <img decoding=\"async\" alt=\"Troisi\u00e8me \u00e9tape d'un programme simple NXT-G\" src=\"\/img\/cms\/articles%20et%20tutoriels\/NXTG\/Etape3.JPG\"\/>\n  <\/figure>\n  \n  \n  <div align=\"center\">\n  <\/div>\n  \n  \n  <div align=\"center\" style=\"text-align: justify;\">\n  <\/div>\n  \n  \n  <p>\n   Il reste \u00e0 pr\u00e9sent \u00e0 lier les blocs de mani\u00e8re \u00e0 ce qu\u2019ils se passent des donn\u00e9es.\n  <\/p>\n  \n  \n  <p>\n   Pour \u00e9changer des informations, les blocs utilisent des\n   <strong>\n    fils de donn\u00e9es\n   <\/strong>\n   . Les fils de donn\u00e9es servent \u00e0 faire passer des informations d\u2019un bloc \u00e0 l\u2019autre. La couleur du fil de donn\u00e9es d\u00e9termine le type de donn\u00e9es :\n  <\/p>\n  \n  \n  <ul class=\"wp-block-list\">\n   \n   <li>\n    Les donn\u00e9es num\u00e9riques sont transmises par les fils jaunes\n   <\/li>\n   \n   \n   <li>\n    Les donn\u00e9es logiques (bool\u00e9ennes) sont transmises par les fils vert\n   <\/li>\n   \n   \n   <li>\n    Les donn\u00e9es texte sont transmises par les fils orange\n   <\/li>\n   \n  <\/ul>\n  \n  \n  <p>\n   Lorsque votre fil est gris, cela signifie souvent que le connecteur d\u2019entr\u00e9e attend une valeur d\u2019un type qui n\u2019est pas celui qui est d\u00e9fini par le connecteur de sortir du premier bloc. On appelle cela un fil coup\u00e9. Les fils coup\u00e9s sont donc des erreurs dans votre programme.\n  <\/p>\n  \n  \n  <p>\n   La figure suivante vous en dit un peu plus sur les plots et les fils de donn\u00e9es dans NXT-G :\n  <\/p>\n  \n  \n  <figure class=\"wp-block-image\">\n   <img decoding=\"async\" alt=\"Fils de donn\u00e9es avec NXT-G\" src=\"\/img\/cms\/articles%20et%20tutoriels\/NXTG\/FilsdeDonnees.JPG\"\/>\n  <\/figure>\n  \n  \n  <div align=\"center\">\n  <\/div>\n  \n  \n  <div align=\"center\">\n  <\/div>\n  \n  \n  <p>\n   A pr\u00e9sent que vous en savez un peu plus et que vous vous \u00eates exerc\u00e9s \u00e0 ouvrir les plots de donn\u00e9es, tirer des fils de donn\u00e9es entre les blocs, terminons notre programme.\n  <\/p>\n  \n  \n  <p>\n   Reprenez la premi\u00e8re figure de ce paragraphe et tirez les fils de donn\u00e9es entre les bons connecteurs. Rappelez-vous qu\u2019un fil de donn\u00e9es gris et pointill\u00e9 vous indique que vous vous \u00eates tromp\u00e9s. Seuls les fils de couleurs sont corrects.\n  <\/p>\n  \n  \n  <p>\n   Commentons un peu ces fils de donn\u00e9es. Pour plus de clart\u00e9, nous les avons num\u00e9rot\u00e9.\n  <\/p>\n  \n  \n  <figure class=\"wp-block-image\">\n   <img decoding=\"async\" alt=\"4\u00e8me \u00e9tape d'un programmer simple NXT-G\" src=\"\/img\/cms\/articles%20et%20tutoriels\/NXTG\/Etape4.JPG\"\/>\n  <\/figure>\n  \n  \n  <div align=\"center\">\n  <\/div>\n  \n  \n  <div align=\"center\">\n  <\/div>\n  \n  \n  <ol class=\"wp-block-list\">\n   \n   <li>\n    Ce premier fil permet de passer le niveau sonore lu par le capteur sonore au bloc qui va transformer la valeur num\u00e9rique en valeur texte. Le premier bloc propose donc un fil de couleur jaune (c\u2019est une valeur num\u00e9rique qui est lu). Le bloc qui transforme le nombre en texte attendant bien un fil de couleur jaune.\n   <\/li>\n   \n   \n   <li>\n    Le second fil passe la mesure ainsi transform\u00e9e en texte (d\u2019o\u00f9 la couleur orange du fil) \u00e0 une variable de type texte.\n   <\/li>\n   \n   \n   <li>\n    La variable ainsi renseign\u00e9e est mise en m\u00e9moire (elle est extraite de la variable) gr\u00e2ce au bloc texte et au fil de couleur orange.\n   <\/li>\n   \n   \n   <li>\n    Enfin, le dernier fil de donn\u00e9es passe la variable lu au bloc Afficher qui va afficher la valeur sur l\u2019\u00e9cran de la brique intelligence NXT.\n   <\/li>\n   \n  <\/ol>\n  \n  \n  <p>\n   Enregistrez votre travail puis testez-le sur votre Robot Lego Mindstorms NXT en cliquant sur le bouton \u00ab T\u00e9l\u00e9charger et ex\u00e9cuter \u00bb qui se trouve au centre du contr\u00f4leur.\n  <\/p>\n  \n  \n  <figure class=\"wp-block-table\">\n   <table>\n    <tbody>\n     <tr>\n      <td>\n       <span style=\"text-decoration: underline;\">\n        Remarque\n       <\/span>\n       : les donn\u00e9es qui sont lues par le capteur sonore, sont des donn\u00e9es relatives, en pourcentage de sa sensibilit\u00e9. Cela n\u2019indique pas une mesure en d\u00e9cibels par exemple. Il existe sur le march\u00e9 des capteurs plus sensibles et indiquant un niveau de d\u00e9cibels et compatibles avec Lego Mindstorms NXT. Toutefois, \u00e9tant donn\u00e9 que vous pouvez \u00e9talonner les capteurs (\u00e0 l\u2019aide d\u2019une brique fournie dans NXT-G), vous pouvez relier les valeurs mesur\u00e9es \u00e0 des niveaux de d\u00e9cibels.\n      <\/td>\n     <\/tr>\n    <\/tbody>\n   <\/table>\n  <\/figure>\n  \n  \n  <h1 class=\"wp-block-heading\" id=\"h-pour-aller-plus-loin-avec-nxt-g\">\n   Pour aller plus loin avec NXT-G\n  <\/h1>\n  \n  \n  <p>\n   National Instruments, l\u2019\u00e9diteur du logiciel professionnel LabView propose un toolkit qui s\u2019adapte \u00e0 LabView et permet d\u2019aller ainsi plus loin dans la cr\u00e9ation et le d\u00e9veloppement robotique.\n  <\/p>\n  \n  \n  <p>\n   L\u2019id\u00e9e de National Instruments est assez simple : fournir un environnement simple et efficace avec NXT-G et ensuite, pour ceux qui d\u00e9sirent aller plus loin et industrialiser leur cr\u00e9ation robotique, LabView devient l\u2019outil naturel. Dans cette conception, Lego Mindstorms NXT se comporte comme une plateforme prototype.\n  <\/p>\n  \n  \n  <p>\n   G\u00e9n\u00e9ration Robots (\n   <a class=\"catalogue\" href=\"\/fr\/\" title='\"'>\n    http:\/\/www.generationrobots.com\n   <\/a>\n   )\n  <\/p>\n  \n  \n  <p>\n   \u2013\n  <\/p>\n  \n  \n  <p>\n   <em>\n    <span style=\"font-size: 9pt;\">\n     Tout usage et reproduction soumis \u00e0 autorisation explicite pr\u00e9alable.\n    <\/span>\n   <\/em>\n  <\/p>\n  \n <\/body>\n<\/html>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1c41d47 elementor-widget elementor-widget-heading\" data-id=\"1c41d47\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">T\u00e9l\u00e9chargez le guide d'utilisation Lego Mindstorms Education<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-523667e elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"523667e\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-209d42d\" data-id=\"209d42d\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-0738937 elementor-widget elementor-widget-image\" data-id=\"0738937\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/static.generation-robots.com\/img\/Lego-Mindstorms-NXT-Education-Kit-1.jpg\" title=\"\" alt=\"Guide d&#039;utilisation Lego Mindstorms NXT Education\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-17b098c\" data-id=\"17b098c\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-f547111 elementor-widget elementor-widget-text-editor\" data-id=\"f547111\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div><form id=\"plz-form-f2689149-dc5c-495b-9ec6-8995f029a969\"><\/form><script async src=\"https:\/\/brain.plezi.co\/api\/v1\/web_forms\/scripts?content_web_form_id=f2689149-dc5c-495b-9ec6-8995f029a969\"><\/script><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9959d1b elementor-widget elementor-widget-text-editor\" data-id=\"9959d1b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div><form id=\"plz-form-c0912cbb-b54d-4749-87bd-3cb3b0602a36\"><\/form><script async src=\"https:\/\/brain.plezi.co\/api\/v1\/web_forms\/scripts?content_web_form_id=c0912cbb-b54d-4749-87bd-3cb3b0602a36\"><\/script><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Cet article pr\u00e9sente NXT-G, l&rsquo;environnement de d\u00e9veloppement fourni avec Lego Mindstorms NXT. Nous pr\u00e9senterons les principales caract\u00e9ristiques de cet environnement graphique et d\u00e9crirons la mani\u00e8re d&rsquo;utiliser et de concevoir un programme \u00e0 l&rsquo;aide de NXT-G. Lego Mindstorms NXT Le kit Lego Mindstorms NXT est commercialis\u00e9 depuis 2006. Ce robot facile \u00e0 monter et \u00e0 modifier[&#8230;]<br \/> <a class=\"button\" href=\"https:\/\/www.generationrobots.com\/blog\/fr\/nxt-g-programmation-mindstorms-nxt-g-interface-de-programmation-mindstorms\/\" style=\"float:right;\">Read this article &gt;&gt;<\/a><\/p>\n","protected":false},"author":188,"featured_media":2569,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1128],"tags":[],"class_list":["post-2558","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-education"],"_links":{"self":[{"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/posts\/2558","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/users\/188"}],"replies":[{"embeddable":true,"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/comments?post=2558"}],"version-history":[{"count":10,"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/posts\/2558\/revisions"}],"predecessor-version":[{"id":18944,"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/posts\/2558\/revisions\/18944"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/media\/2569"}],"wp:attachment":[{"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/media?parent=2558"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/categories?post=2558"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.generationrobots.com\/blog\/wp-json\/wp\/v2\/tags?post=2558"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}