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.
Vos commentaires
# Le 24 juillet 2012 à 23:13, par FERRANT Gérard En réponse à : Une interface IHM pour Arduino
réalisation vraiment superbe. Félicitations et merci de le proposer gratuitement.
Existe-t-il un fichier pde qui permettrait de transformer un arduino en port série virtuel équivalent au module USBmod3 avec toutes les sorties DTR,TXD,RXD,DCD,RI,CTS,RTS et DSR
# Le 25 juillet 2012 à 00:12, par Julien H. En réponse à : Une interface IHM pour Arduino
Bonsoir,
Non les micro-contrôleurs AVR présents sur les cartes Arduino Uno et suivantes ne supportent pas le contrôle de flux, à ce que j’ai compris.
# Le 22 juin 2013 à 17:03, par Félix Dhumes En réponse à : Une interface IHM pour Arduino
Exact, mais cependant avec la Leonardo c’est possible.
# Le 22 juin 2013 à 17:15, par Julien H. En réponse à : Une interface IHM pour Arduino
Merci pour l’info ! Concrètement, comment ça fonctionne ? Il y a un tutoriel sur la Léonardo disponible quelque part ?
Répondre à ce message
# Le 23 mai 2012 à 16:18, par casper22 En réponse à : Une interface IHM pour Arduino
Bonjour
IHM pour Arduino est-il aussi compatible avec le 1.0 en .ino ?
Merci d’avance
Répondre à ce message
# Le 21 septembre 2011 à 13:05, par Alban En réponse à : Une interface IHM pour Arduino
Ok ...Vite fait un Petit test effectué avec l’outil IHM...
juste 1 led sur le port N°13 connecté en direct sur la MegaADK ne semble pas marcher apres avoir suivi la procedure ...
# Le 21 septembre 2011 à 17:45, par Loïc En réponse à : Une interface IHM pour Arduino
Bonjour !
Le projet Arduino IHM 2.0 fonctionne pour le moment avec l’arduino UNO et Duemilanove. Ce programme n’a jamais été testé sur d’autres modèles Arduino.
# Le 9 avril 2012 à 02:34, par NoirDesir En réponse à : Une interface IHM pour Arduino
Bonjour,
Merci pour cette super petit appli.
10 minutes après avoir découvert ce post, je m’amusais en connectant pour la première fois deux servos sur une Arduino Mega1280, et en enregistrant une petite "chorégraphie".
Répondre à ce message
# Le 21 septembre 2011 à 19:23, par Alban En réponse à : Une interface IHM pour Arduino
Ok ...Bonsoir ...Apres avoir pris mon temps et surtout SELECTIONNé LE BON PORT COM ....j’ai testé une led sur le port 13 ...Ca marche Nickel ...carte mega ADK Original arduino ...win 7/64 Bit
Bravo l’artiste ...Bon maintenant que l’as fait comme ca ...va falloir faire pareil pour "Android" ....
Répondre à ce message