Solutions d'interface utilisateur simples mais pratiques du monde des makers

Par Rédacteurs européens

Avec la contribution de Rédacteurs européens de DigiKey

Les petites cartes d'ordinateur comme celles de la gamme Arduino sont plus qu'un support d'apprentissage de valeur. L'écosystème a été adopté avec enthousiasme par les ingénieurs professionnels pour résoudre de nombreux défis relatifs à la détection et la commande. Il peut s'agir de simples capteurs connectés ou de la commande de moteurs et d'actionneurs dans les machines ou de simples robots. La combinaison d'une carte de microcontrôleur Arduino et d'E/S ou du shield de commande moteur peut satisfaire les exigences de contrôle de mouvement d'un projet. La nature open-source d'un écosystème comme Arduino implique la disponibilité de nombreux projets publiés en ligne, pouvant fournir une plateforme de lancement pour une application personnalisée. Les sites des fabricants ou la plateforme indépendante GitHub comportent de nombreuses sources de code pré-écrit. La Figure 1 est un extrait de code pour la commande d'un robot basé Arduino de GitHub.

Image de code pour les projets open-source

Figure 1 : Les communautés de développeurs fournissent une plateforme permettant de trouver et de partager du code pour les projets open-source.

Options d'interface utilisateur

Une interface utilisateur est nécessaire à l'autre extrémité d'une connexion. Un équipement comme un bras robotique ou une sonde motorisée peut ne nécessiter qu'un ensemble de commandes pour des mouvements de base comme avant/arrière, gauche/droite, ou une rotation dans le sens horaire ou anti-horaire.

Une application smartphone ?

L'utilisation d'un smartphone comme principal contrôleur d'interface utilisateur constitue une solution. Cette solution a été largement adoptée par les consommateurs devant interagir avec des « objets » intelligents, comme un chauffage domestique ou des systèmes d'éclairage, des dispositifs de sécurité ou des drones. Le smartphone offre de nombreux avantages, notamment son affichage couleur haute résolution permettant de présenter des instruments attractifs, une capacité tactile multipoint sophistiquée et une connectivité polyvalente couvrant les technologies cellulaires, Wi-Fi® et Bluetooth®. Il est omniprésent et peut être facilement transformé en contrôleur adapté, en chargeant simplement une application conçue pour accompagner le nouveau produit.

Cependant, pour certains projets, l'élaboration d'une application personnalisée peut s'avérer coûteuse, longue et dépassant les compétences principales de l'équipe de développement.

Plusieurs applications Android destinées à commander des robots basés Arduino via Bluetooth avec un smartphone sont disponibles sur Google Play. Elles fournissent aux développeurs une sélection d'interfaces utilisateur téléchargeables prêtes à l'emploi, disponibles gratuitement ou à coût réduit. Cependant, les applications sont souvent conçues pour des jouets radiocommandés, et l'aspect et les performances peuvent ne pas être adaptés aux applications finales. D'un autre côté, certaines applications (comme Arduino BT Joystick) présentent des graphiques bruts pouvant fournir un aspect professionnel, ou (comme RemoteXY) offrent la liberté de configurer les boutons, les touches et les curseurs individuellement.

Développement à l'aide de modules matériels d'entrée utilisateur

Une large gamme de modules permettant de configurer un panneau de commande personnalisé et de simplifier les défis de conception matériels et mécaniques sont disponibles. Parmi ces modules figurent les joysticks et les boutons-poussoirs dans différentes combinaisons. Ils sont parfaitement adaptés pour la commande de mouvements dans différentes directions et peuvent se connecter facilement à une carte de microcontrôleur de plusieurs façons. Ils présentent également plusieurs options d'ajout de module radio pour mettre en œuvre une commande à distance sans fil, offrant ainsi une commodité comparable à celle d'un smartphone.

La manette COM-09032 de SparkFun convertit les mouvements avant/arrière et gauche/droite en tensions analogiques. Elle intègre également un bouton-poussoir pouvant être utilisé en tant qu'entrée de sélection, indépendamment de l'orientation du joystick. Elle est livrée avec sa propre carte Breakout pour simplifier la connexion à l'hôte en utilisant uniquement cinq fils : alimentation, masse, tensions de sortie X et Y et statut du bouton de sélection. SparkFun fournit également un code d'exemple pour lire les tensions d'entrée du joystick et les afficher en tant que valeurs numériques à une sortie série (Figure 2).

Image du code d'exemple Arduino pour la lecture des valeurs depuis un joystick SparkFun

Figure 2 : Code d'exemple Arduino pour la lecture des valeurs depuis un joystick SparkFun.

Connexion à d'autres écosystèmes matériels

Des modules de joystick sont disponibles auprès de plusieurs autres fabricants et peuvent facilement être connectés à une carte Arduino à l'aide d'un logiciel comme celui de l'exemple dans la Figure 2. Alternativement, la connexion à d'autres écosystèmes matériels peut encore étendre les options des développeurs. L'adaptateur MAXREFDES72 de Maxim fournit un exemple, en permettant aux utilisateurs Arduino de connecter des modules périphériques depuis l'écosystème PMod™ vers leurs projets. Cette interface pratique vers PMod permet aux développeurs d'accéder à une grande variété de modules, incluant non seulement le module de joystick JSTK2 PMod™ de Digilent, mais également le module de bouton-poussoir PmodBTN de Digilent, doté de quatre commutateurs pour les fonctions de contrôle utilisateur, et de nombreux autres modules, y compris un clavier à 16 boutons.

Carte de commande tout-en-un

La combinaison d'un joystick et de boutons-poussoirs offre une solution éprouvée, capable de contrôler une grande variété d'entrées utilisateur possibles : il suffit de demander aux passionnés de jeux vidéo ! La configuration et les fonctions d'un contrôleur de jeu typique, plaçant le joystick à côté des boutons-poussoirs, sont intuitives et adaptées aux commandes comme le déplacement, le positionnement et l'actionnement d'un mécanisme tel qu'un portique, un bras robotique ou une pince.

La carte DFR0008 de DFRobot fournit un joystick et quatre boutons-poussoirs codés par couleur en tant que module entièrement assemblé offrant des embases supplémentaires pour les modules radio XBee. En permettant aux développeurs de bénéficier de l'écosystème XBee, le DRF0008 simplifie l'ajout d'une connectivité sans fil à sélectionner parmi la gamme étendue de modules XBee disponibles sur le marché. Ces modules incluent la carte radio 2,4 GHz IEEE 802.15.4 XB24-API-001 de Digi, ainsi que le module sub-GHz 868 MHz XB8-DMUS-002, qui convient à une utilisation sans licence en Europe.

Pour les développeurs souhaitant expérimenter l'utilisation d'une connectivité sans fil XBee dans les projets Arduino, le pack de formation XBee/Arduino de Digi comprend des cartes de microcontrôleurs Arduino, une sélection de modules XBee, des boutons-poussoirs et un module de joystick, adaptés à la conception de nombreux types d'interfaces utilisateur. Les utilisateurs XBee peuvent également s'appuyer sur des ressources de développement, notamment les outils logiciels et le code d'exemple pour les aider dans le développement.

Garder l'option GUI ouverte

Les écosystèmes open-source permettent également aux développeurs d'appliquer leurs compétences techniques à un niveau supérieur, par exemple en développant leur propre interface utilisateur graphique embarquée avec un module comme l'écran TFT couleur de 3,2 pouces ULCD-32PTU-AR de 4D Systems avec un écran tactile résistif intégré. Le pack est fourni avec un adaptateur qui se connecte sur une carte Arduino via des embases standard et un câble qui connecte l'adaptateur à l'écran. Les embases Arduino restent disponibles pour empiler d'autres shields Arduino, tels qu'un module radio. Plusieurs jeux d'outils sont disponibles pour simplifier le développement d'une interface utilisateur graphique. Ces jeux d'outils comprennent notamment un environnement d'entrée de gamme pour le développement de code, un outil de conception graphique appelé ViSi qui aide à la génération de code avec une fonction cliquer-placer pour positionner un objet, et l'environnement avancé ViSi-Genie. Dans ViSi-Genie, l'utilisateur ne fait que définir l'emplacement des objets et les événements qui les déclenchent, et le code est automatiquement généré.

Conclusion

Pour réussir un projet dans le monde des makers, il existe plusieurs méthodes. De nombreux exemples et kits sont disponibles pour aider les développeurs à surmonter les défis complexes et exécuter les logiciels sur le matériel cible.

Un dispositif d'entrée utilisateur pour gérer la commande et l'actionnement de mouvements peut être configuré en connectant une application smartphone via Bluetooth ou en utilisant du matériel comme des modules individuels ou un shield de commutateur/joystick intégré. D'autre part, les développeurs peuvent utiliser des dispositifs d'entrée ou des modules sans fil d'autres écosystèmes, comme PMod et XBee, qui fournissent des méthodes supplémentaires pour réussir un projet. Les modules sont économiques et faciles à intégrer en s'appuyant sur le code et le savoir-faire de la communauté open-source.

 
DigiKey logo

Avertissement : les opinions, convictions et points de vue exprimés par les divers auteurs et/ou participants au forum sur ce site Web ne reflètent pas nécessairement ceux de DigiKey ni les politiques officielles de la société.

À propos de l'auteur

Rédacteurs européens

À propos de l'éditeur

Rédacteurs européens de DigiKey