Comment introduire le monde réel dans nos applications ? Comment interagir avec nos créations numériques dans le monde concret qui nous entoure ? Une solution relativement facile à mettre en œuvre consiste à utiliser la plateforme de développement matériel Arduino et de l’interfacer avec Arduino IHM 2.1.
Principe
La solution repose sur une bibliothèque (library) appelée IHM2_1_PDE qui implémente un protocole de communication entre la carte Arduino et l’ordinateur-hôte.
En termes plus simples, cette librairie permet de faire dialoguer facilement la carte et l’ordinateur en permettant depuis l’ordinateur de modifier directement la configuration de la carte sans avoir à modifier le code que l’on a chargé initialement dans celle-ci.
Cette solution s’avère particulièrement pratique lorsque la carte est embarquée dans un dispositif difficile d’accès, avec seulement une communication sans-fil pour intervenir.
Pourtant, ce dispositif de contrôle par ordinateur n’est pas incompatible avec une utilisation autonome, comme nous le verrons plus tard.
Utilisation
Étape 1 : Installer IHM2_1_PDE sur une carte Arduino
Ouvrez le sketch disponible dans l’archive ci-jointe :
Depuis l’application Arduino, sélectionnez la bonne plateforme correspondant au modèle de la carte arduino que vous avez : UNO, Duemilanove,...
Sélectionnez le port USB qui communiquera avec la carte Arduino.
Téléchargez ensuite IHM2_1_PDE dans l’Arduino.
Étape 2 : Installer le logiciel
L’archive ci-dessous contient tout ce qu’il faut pour fonctionner sur un ordinateur PC équipé de Windows. Les bibliothèques logicielles (Qt) sont incluses. Contactez-nous en cas de problème.
Il suffit de dézipper l’archive à l’endroit voulu sur votre machine, et c’est tout (comme le logiciel Arduino).
Étape 3 : Ouvrir l’exécutable Arduino IHM 2.1
Choisissez le port de communication de l’arduino.
La vitesse de communication par défaut est de 115200 : ne la modifiez pas si vous n’avez pas aussi modifié le code IHM2_1_PDE chargé dans l’Arduino.
Connectez-vous après vous être assuré qu’aucune autre application (logiciel Arduino ou application tierce) n’a déjà ouvert le port série associé.
L’utilisation des sorties numériques ("Digital"), ainsi que les entrées analogiques sont accessibles dans la version actuelle. Différents modes sont disponibles : vous pourrez contrôler les sorties numériques en tout ou rien, connecter des servomoteurs, et changer les valeurs des pattes PWM disponibles selon votre modèle.
Fonctionnalités avancées
Il est possible d’enregistrer une séquence de commandes en cliquant sur RECORD. C’est particulièrement utile pour reproduire des mouvements de moteurs.
Vous exécutez la séquence courante en appuyant sur PLAY. Le bouton CLEAR permettra d’effacer l’enregistrement.
En haut à droite, deux boutons : "Sauver" vous permet d’enregistrer votre séquence en fichier texte (.txt) sur votre PC. Le bouton "Ouvrir" vous permet de récupérer des fichiers texte (.txt) sur votre PC.
Exemple
Le robot Quarduino est entièrement contrôlé par cette application. Une carte mémoire permettra de stocker chacune des chorégraphies élémentaires afin que le robot soit autonome.
Evolutions
Vous constaterez dans l’interface PC qu’un onglet "Oscilloscope" prévoit déjà l’utilisation de la seconde moitié de la carte, avec un tracé des sorties analogiques.
Une seconde version est également développée spécifiquement à chaque robot afin d’associer plusieurs sorties de servomoteurs entre-elles. Le langage de communication est alors étendu pour permettre de faire passer des consignes spécifiques à la morphologie du robot avec toujours la même économie de caractères.

Sketch Arduino IHM 2.0