====== Nucleo-L476RG : Qu'est-ce que c'est ? ====== Nucleo-L476RG est une interface de programmation pour la carte Nucleo-64 avec le microcontrôleur STM32L476RG. **NUCLEO-L476RG** : une carte programmable développée par la société franco-italienne STMicroelectronics. {{:l476rg1.png?nolink&400 |}} La carte se compose de différentes parties, voici les plus importantes : * microcontrôleur STM32 contient dans sa mémoire le programme de l'utilisateur * port USB permet d'alimenter la carte en énergie électrique, ainsi que le transfert des données du programme sur la carte * bouton B1 permet d'interagir avec la carte * bouton Reset permet de relancer à zéro le programme * 3 LEDs sont des indicateurs pour l'utilisateur. La LED n°1 indique l'alimentation électrique de la carte. Elle clignote lors de la copie d'un programme. Elle ne peut pas être programmée. Les **LED n°2** et **n°3** peuvent être programmées par l'utilisateur : être allumées, éteintes ou clignoter * connecteurs (au format Arduino Uno) permettent de fixer des modules d'extensions D'autres éléments composent cette carte **NUCLEO-L476RG**, mais ils ne sont pas nécessaires pour la découverte de la programmation. Pour en savoir plus : [[https://www.st.com/en/evaluation-tools/nucleo-l476rg.html]] ---- ====== L'interface ====== Pour programmer la carte NUCLEO-L476RG, il faut utiliser l'interface Nucleo-L476RG. Cette interface est composée de 5 parties : - le menu, situé en haut. Via les icônes, on accède aux paramètres ou aux fonctions d’exécution du code, mais aussi à la gestion des affichages. - les catégories des blocs, à gauche, dans lesquelles sont rangés les éléments à piocher pour construire le programme. Accompagné d'une zone de construction, qui permet l’assemblage des blocs pour créer le programme. - la zone de code, située au centre, qui affiche le code en langage Python - le simulateur, situé à droite, qui permet de simuler les cartes, capteurs et microcontrôleur sans le matériel. - la console, située en bas, qui montre le programme exécuté. Il est également possible d'interagir avec son programme dans cette console. {{ :l476rg_interface.png?nolink |}} Les blocs **"Au démarrage"** et **"Répéter indéfiniment"** sont les éléments clés du fonctionnement de la carte. Ils sont présents dès l'ouverture de l'interface. Les instructions placées dans le bloc "Au démarrage", seront exécutées dès l'alimentation en électricité de la carte. Alors que les instructions du programme placées dans le bloc "Répéter indéfiniment", seront exécutées après le démarrage et ensuite en continu jusqu'à ce que la carte ne soit plus alimentée en électricité. ===== Naviguer sur l'interface ===== {{::wb55rg4.png?nolink&100|}} **Télécharger le script Python :** {{::televerser.png?nolink&100 |}} **Envoyer le programme Python dans la carte :** le code est exécuté sur la carte dès la fin du transfert. {{::wb55rg5.png?nolink&100 |}} **Télécharger le firmware MicroPython :** {{::annuler_retablir.png?nolink&80 |}} **Annuler ou rétablir :** les actions précédentes ou suivantes. {{::zoom.png?nolink&400|}} ---- ====== Les points fort de l'interface ====== ===== Traduction du code assemblé par blocs en C++ ===== Le langage C++ est difficile à appréhender, notamment pour les débutants. L'interface permet de débuter avec la logique de programmation par bloc, qui élimine le risque d'erreur de syntaxe, puis de passer en douceur au code textuel C++. ===== Transfert du code vers la carte en 1 clic ! ===== Le système permet le transfert d'un programme vers la carte (avec les navigateurs compatibles Chrome, Edge, Opéra, Safari ; sur Firefox le téléchargement de programme est possible via un glisser-déposer). ===== Simulateur ===== L'interface Nucleo-L476RG embarque un simulateur, ce qui permet d'exécuter un programme sans avoir de matériel ! La quasi-totalité des blocs sont disponibles dans le simulateur, ce qui permet de réaliser de très nombreux projets. [[https://fr.vittascience.com/wiki?interface=l476|Découvrez la liste des blocs disponible dans l'interface.]] ===== Traceur de graphe en temps réel ===== L'interface permet de tracer un graphique à partir des données reçues par la carte en temps réel, puis d'exporter ces données en toute simplicité aux formats CSV ou API. Le traceur de graphe fonctionne également avec le simulateur pour encore mieux tester vos programmes avant de passer au réel ! ---- ====== Tutoriels ====== ===== Utiliser le simulateur ===== Un simulateur de carte est intégré à l'interface de programmation, il permet de visualiser le programme créé sans le copier sur la carte. Pour ouvrir le simulateur, il faut cliquer sur le bouton suivant : {{ ::l476rg.png?nolink&400 |}} ===== Flasher le firmware micropython à la 1ère utilisation ===== Avant de copier un programme pour la première fois sur la carte, en utilisant l'interface Nucleo-L476RG, il faut installer le firmware en micropython. De manière simplifiée, on va procéder à l'installation du logiciel de la carte qui va ensuite permettre d'exécuter le programme créé par l'utilisateur. On utilise le terme de flasher. Voici les étapes pour flasher la carte : - Connecter le câble sur le port USB de la carte, - Brancher le câble à l'ordinateur, - Cliquer sur le bouton Télécharger .bin présent sur l'interface Vittascience. Il est accessible sur la flèche latérale, à côté du bouton Télécharger. {{ ::l476rg4.png?nolink&300 |}} - Depuis l'explorateur de fichier de votre ordinateur (sous Windows => Poste de Travail / sous Mac Os => Finder), glisser déposer le fichier firmware_micropython1.19.bin - Attendre la fin du flashage. La LED n°1 passe du rouge au vert. - Débrancher la carte de l'ordinateur, puis rebrancher-la. Votre carte est désormais prête à être utilisée avec Vittascience ! ===== Téléverser le programme sur la carte ===== Pour copier le programme conçu sur l'interface Vittascience sur la carte, il faut procéder de la façon suivante : - Connecter le câble USB sur le port de la carte - Brancher le câble à l'ordinateur - Cliquer sur le bouton **Téléverser** {{ ::l476rg5.png?nolink&400 |}} - Liste numérotéeAttendre la fin de la copie du programme. Vous pouvez suivre l'avancée dans la console en bas de l'interface. Vous avez réussi ? Parfait, vous savez maintenant programmer votre carte NUCLEO-L476RG !