Le javascript est désactivé sur votre navigateur
 
Prononcer /'po.bot/
Accueil du siteComposants et techniqueLes contrôleursL’univers Arduino
  publication inférieure à 7 jours
  publié < 7j sous cette rubrique
     
À propos de l'article
    Publié le 18 septembre 2011
    par Loïc

    Mis à jour le 27 novembre 2011
    Traduction disponible : 
Mots-clés de cet article
    Logiciel et programmation :
    logiciel , IHM (interface homme machine) ,
    Communications :
    USB (Universal Serial Bus) ,
    Kits et cartes de développement :
    Arduino ,
    Electronique :
    PWM ,
    Mécanique :
    servomoteur
Choisir votre langue :

Une interface IHM pour Arduino

Contrôle par PC d’un Arduino

Loïc a développé une interface utilisateur très simple mais complète pour les cartes Arduino. Il a développé son propre protocole sur quatre octets seulement, permettant une plus grande vitesse que Firmata. Des fonctionnalités étendues (enregistrement, stockage, chargement de fichiers) font de cette IHM une des meilleures qu’on puisse trouver. Cet avis n’engage que moi (Julien) mais je laisse le soin à Loïc de vous présenter son travail afin de vous en convaincre :

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

arduino_IHM_004 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 :

Sketch Arduino IHM 2.1

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.

arduino_IHM_006

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.

Arduino IHM 2.1 (Win)

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

arduino_IHM_004

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.

arduino_IHM_005

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.

 
Répondre à cet article
Vous avez aimé cet article ? Merci de nous recommander !
Documents joints à cet article :
Commentaires :
  1. lordcuty
    dimanche 25 septembre 2011 à 11:59
    Répondre Fil de discussion
    Superbe projet et effectivement bien pratique, j’ai juste un problème, j’ai changé le débit des deux côtes, en 9600 bauds et là, c’est le dram, je ne reçois plus rien, est-ce juste chez moi ? je n’ai modifier que le Serial.begin(9600) ; et ton logiciel, mettant 9600 en débit.
  2. dimanche 25 septembre 2011 à 14:59
    Répondre Fil de discussion
    Effectivement, en 9600 ça ne marche pas. J’ai essayé aussi. La vitesse la plus basse est de 14400. Mais merci de m’avoir préciser le problème, je vais corriger l’erreur.
  3. mercredi 26 octobre 2011 à 14:49
    Répondre Fil de discussion

    Bonjour je cherche actuellement à faire des partenariats avec des sites intéréssants comme le votre, comment vous contacter ? Merci !

    mutuelle bleue seine et marne

    mutuelle familiale du loiret
    mutuelle existence recrutement|mutuelle socialiste du brabant|mutuelle générale

  4. Julien
    jeudi 27 octobre 2011 à 11:39
    Répondre Fil de discussion

    En cliquant sur le lien "contact" dans le menu de gauche pardi :)

    Sinon : contact pobot.org

  5. Alban
    mercredi 21 septembre 2011 à 19:23
    Répondre Fil de discussion
    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" ....
  6. Alban
    mercredi 21 septembre 2011 à 13:05
    Répondre Fil de discussion
    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 ...
  7. Loïc
    mercredi 21 septembre 2011 à 17:45
    Répondre Fil de discussion
    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.
  8. NoirDesir
    lundi 9 avril 2012 à 02:34
    Répondre Fil de discussion
    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".