mercredi 5 novembre 2014

Utiliser le moniteur série de l'IDE Arduino pour autre chose qu'une carte Arduino

Le moniteur série (ou "serial monitor") de l'environnement Arduino est drôlement utile lorsque vous avez besoin de déboguer un sketch, ou simplement d'afficher à l'écran d'un ordinateur des valeurs mesurées par des capteurs branchés à l'Arduino.

Lorsque vous programmez d'autres microcontrôleurs, toutefois, il peut arriver que vous soyez obligé d'utiliser un environnement de développement qui ne comporte pas un moniteur série intégré.  C'est le cas, par exemple, pour l'IDE Pinguino, et pour mbed (IDE en ligne utilisé pour programmer les cartes STM32 Nucleo).  Il demeure alors parfaitement possible d'afficher à l'écran de l'ordinateur des informations qui proviennent du microcontrôleur, à la condition d'utiliser un autre logiciel.

Cet autre logiciel peut être, par exemple,  TeraTerm ou PuTTY (si vous utilisez Windows) ou Moserial (si vous utilisez Linux).  Mais, si vous le désirez, vous pouvez tout simplement utiliser le moniteur série de l'IDE Arduino.


Exemple de sketch Pinguino, pour communication série par USB

Pour qu'un Pinguino envoie des informations à l'ordinateur par l'entremise du câble USB, on utilise la fonction "CDC.printf" (CDC pour Communications Device Class).  Cette fonction utilise la même syntaxe que la fonction "printf", bien connue des programmeurs expérimentés en langage C. Le sketch ci-dessous, par exemple, envoie 2 fois par seconde un nombre entier, l'augmentant d'une unité avant chaque transmission.  Vous pouvez installer ce sketch dans votre Pinguino, en utilisant, bien entendu, l'IDE Pinguino.

---
---

Exemple de sketch STM32 Nucleo / mbed, pour communication série par USB

Pour qu'une carte STM32 Nucleo envoie des informations à l'ordinateur par le câble USB, on utilise la fonction "pc.printf", qui utilise la syntaxe habituelle de "printf".  L'exemple ci-dessous, qui sera installé dans le Nucleo au moyen de l'IDE en ligne mbed fait la même chose que le sketch Pinguino présenté plus haut.

---
---

Exemple de sketch Arduino, pour communication série par USB

Si vous préférez envoyer sagement vos messages au moyen d'une carte Arduino (ou d'une carte msp430 Launchpad programmée au moyen d'Energia), le sketch accomplissant la même tâche aura plutôt cette allure:

---
---

Réglages de l'IDE Arduino pour recevoir et afficher les messages

Maintenant que votre carte (Pinguino, Nucleo, Launchpad ou Arduino) convenablement programmée est branchée au port USB de l'ordinateur, il ne reste plus qu'à démarrer votre environnement de programmation Arduino, et sélectionner le port série correspondant à votre carte.


Ensuite, vous affichez le moniteur série, en cliquant sur le bouton en haut à droite de la fenêtre.


Vous vous assurez que la vitesse de transmission des données est à 9600 baud.


Si tout va bien, le moniteur série affichera les messages qui proviennent de la carte, sans discrimination, qu'il s'agisse ou non d'une carte Arduino.


Il va sans dire que tous les exemples de sketches de cet article demeurent identiques si vous choisissez de recevoir les messages sur un autre logiciel de communication série.


Yves Pelletier (Twitter:  @ElectroAmateur)

Aucun commentaire:

Enregistrer un commentaire