Très vaste sujet, mais primordial, d’où ce long chapitre. Comment allons communiquer avec P3D/XP, qui ne parlent que l’hexadécimal, avec nos dix doigts et nos deux yeux?
La première forme d’interface qui vient à l’esprit est naturellement le clavier, voie de passage habituelle vers le monde de l’informatique.
simuler un clavier
Normalement, toutes les fonctions de notre simulateur sont commandées, soit par le clavier, soit par la souris. Si on pouvait éliminer le clavier ce serait déjà une bonne chose.
un peu d’histoire.
Remontons 20 ans en arrière. Tout naturellement, la première idée qui est venue aux pionniers de la construction de cockpits a été de conserver un clavier, caché dans un coin, et de le commander par des « doigts artificiels », mus par des électro-aimants, qui iront appuyer sur G pour rentrer le train, sur B pour caler l’altimètre, etc… C’est ce qu’à réalisé Kevin Saker, et cela marchait assez bien. La description de sa réalisation a été un véritable choc pour beaucoup, et nombre de réalisations de cockpits sont parties de cet article fondateur. La réalisation pratique n’était cependant pas facile, on peut s’en douter, et butait entre autres sur le problème des combinaisons de touches, comme CTRL+SHIFT+F1, pas évident de commander une telle succession de touches avec des électro-aimants.
L’étape suivante a consisté à se dire : un clavier, ce n’est pas autre chose qu’une série de boutons poussoirs, donc si on remplaçait les touches-poussoirs par de vrais poussoirs placés sur un tableau de bord, ça devrait marcher. Et ça a marché. Grâce principalement à Robert Prather, qui a très bien expliqué ce principe d’interfaçage par un « How To » sur FlightSim.com qui est resté dans les annales.
Mais le problème des touches multiples n’était pas résolu pour autant. Pour arrêter FS, il valait mieux attribuer une lettre unique que CTRL+ C . Et il est apparu un problème nouveau: quand on appuie sur une touche de clavier, qu’on le veuille ou non le doigt reste un instant dessus, instant très court, environ 200 millisecondes, mais indispensable pour que l’ordinateur ne cafouille pas. Par contre, si on établit cette connexion avec un interrupteur, ou un bouton poussoir, la durée du contact est très variable, et souvent trop courte. Les électroniciens sont donc venus à la rescousse, et en particulier Roland VanRoy qui a proposé des circuits très simples visant à faire en sorte que même si l’impulsion de commande est courte, une impulsion calibrée à 200 ms soit toujours envoyée à l’ordinateur. Là aussi, on peut consulter l’article de Roland VanRoy, ( dans les « How To » de FlightSim.com), le troisième fondamental. Pour ma part, c’est cet article qui m’a décidé à franchir le pas. Sur mon premier prototype, j’ai désossé un clavier, soudé des fils, construit des multivibrateurs astables à base de circuits intégrés, et, miracle, tout marchait bien, j’abaissais une manette de train et le train sortait… Extraordinaire, non ?
Mais tout ceci appartient désormais à l’histoire. Aujourd’hui, il faut complètement oublier l’interface clavier, l’idée d’en cannibaliser un n’est pas viable. Il existe encore des cartes dites « émulatrices de clavier », comme la USB Keys d’OpenCockpits, mais leur usage est très restreint, on les réserve par exemple aux FMC ou MCDU des avions de ligne, qui ne sont équipés que de boutons poussoirs et non d’interrupteurs.

les ensembles d’interface complets

GoFlight
Pour les entrées et l’affichage des données principales. Du tout fait mais qui ne fait pas tout.
Parmi les interfaces, une solution très courante est celle de GoFlight: au départ, il faut un module comprenant des boutons poussoirs (P8) ou des interrupteurs (T8). Ces boutons poussoirs se voient attribuer une fonction, par une interface de programmation à l’écran ultra simple (que des clics de souris). Ces fonctions vont s’appliquer soit au module GF166, soit au GF 45 (par exemple). Par exemple le bouton n°3 commandera l’ADF sur le GF 45, le bouton n° 7 ne commandera aucun affichage, mais permettra d’augmenter la vitesse du simulateur (X2, X4…), etc… Il existe aussi un pilote automatique, qui est limité aux fonctions de base de P3D, mais qui peut néanmoins être intéressant. La solution GoFlight est souvent adoptée en complément à d’autres systèmes.
Pour la petite histoire, j’ai ressorti récemment de la boîte des
« ça peut toujours servir » des modules GoFlight inutilisés depuis plus
de 10 ans. J’ai chargé les derniers drivers, et… tout fonctionne de nouveau
parfaitement. Peu de fabricants assurent une telle longévité à leurs produits.

IO Cards
Le système d’interfaçage de très loin le plus répandu aujourd’hui est le système IOCards, commercialisé par OpenCockpits.
Manuel Velez a conçu un ensemble de cartes, en USB, assez simples à programmer, dont le logiciel, SIOC, est totalement gratuit, utilisé aujourd’hui par des milliers de constructeurs de cockpits, répartis dans une cinquantaine de pays différents (la France étant le premier pays utilisateur, devant l’Espagne). En 2014, Manuel Velez a déclaré que OpenCockpits avait à ce jour vendu plus de 20 000 cartes Master, la base du système IOCards.
Mon cockpit de Beech 200, tout comme celui du A320, est équipé en totalité et exclusivement du système IOCards, qui gère tous les interrupteurs, les diodes LED témoins, les encodeurs, les manettes de gaz, les volets , les afficheurs, etc…
Les documentations sur IO Cards sont abondantes. Pour les compléter, le chapitre « SIOC pas à pas » de ce site apporte une autre approche, très didactique, axée sur des exemples pratiques et illustrée de nombreuses photos.
Les cartes IOCards sont d’une robustesse à toute épreuve, parce que de conception simple. Elles peuvent être la base de n’importe quel cockpit, du plus simple au plus sophistiqué. De plus, comme elles sont les plus répandues, on peut facilement poser des questions sur les forums comme Air Cockpit, ou Flight-Pilote, il y aura toujours quelqu’un pour vous aider.
Arduino
Les cartes Arduino sont une alternative à IOCards, moins répandues chez les constructeurs de cockpits toutefois, car ces cartes étaient à l’origine très orientées vers la robotique. Une carte Arduino « Mega » comporte 54 entrées. Des cartes d’extension coûtant moins de 1 Euro permettent d’étendre ces possibilités à plus de 500 entrées, des multitudes de sorties, LEDs, servos, etc..
Arduino est la solution idéale avec X-Plane 11, grâce à l’interface SimVim Cockpit, extrèmement simple.
quelques liens pour aller plus loin dans cette voie intéressante:
http://electroniqueamateur.blogspot.ca/
http://www.jimspage.co.nz/intro.htm
http://www.vfrnetwork.com/forums/index.php?/topic/12623-projet-overhead-a320-avec-arduino/
http://www.aircockpit.com/viewtopic.php?f=146&t=4847
http://www.gotronic.fr/art-carte-arduino-mega-2560-12421.htm
les instruments « prêts à l’emploi »
La construction de cockpits se développant, on voit régulièrement apparaître sur le marché des instruments « plug and play » pouvant être incorporés directement dans un cockpit. Le gain de temps est évident, d’autant plus que ces instruments reproduisent souvent des instruments analogiques, à aiguille, qui sont les plus délicats à construire. Par ailleurs leur réalisme est total, en raison de leur qualité de fabrication.
Parmi les plus courants figurent en bonne place les instruments de Simkits et de VRInsight , très complets et très bien adaptés à un projet de Beech 200 ou King Air 350.
Cette solution est excellente quand on dispose de peu de temps ou qu’on n’est pas un virtuose du fer à souder, mais attention le choix de l’avion est très limité, pour un Beech 200, personne ne fournit à ce jour les deux instruments essentiels: l’EADI et l’EHSI. Alors il faut, soit faire un Beech avec un look de Cessna, soit créer ses propres gauges avec Air Manager (pour bons informaticiens).
les commandes « analogiques »
Il s’agit d’une forme d’interface un peu particulière, on demande à P3D ou XP de reproduire le mouvement continu d’une manette. Ce peut être le cas des commandes de gaz, comme des ailerons: à chaque position de la manette ou du manche correspond une position similaire de la commande dans le logiciel. Par opposition aux commandes « tout ou rien », ou digitales, ces commandes proportionnelles sont dites « analogiques ».
L’élément central de toute commande analogique, son interface, est un potentiomètre. Ce composant délivre une tension électrique proportionnelle au déplacement de son axe ou de son curseur. Les potentiomètres utilisés dans un cockpit sont toujours à variation linéaire (ou « arithmétique »): la variation de la tension de sortie est proportionnelle à la variation de la position du curseur.
Il existe des potentiomètres rotatifs, les plus courants et des potentiomètres à déplacement rectiligne, comme on en trouve sur les tables de mixage audio. Dans notre usage les rotatifs sont plus fréquents, ils ont l’avantage d’être moins sensibles aux poussières que les rectilignes, et surtout on trouve très facilement des potentiomètres rotatifs d’excellente qualité -ceux à piste Cermet- alors que les rectilignes de qualité sont plus rares et beaucoup plus chers.
Les Joysticks et manches classiques sont équipés de potentiomètres, et il est tout à fait possible de cannibaliser un de ces accessoires pour brancher leurs potentiomètres ailleurs dans le cockpit. Il faut simplement rallonger les fils, de préférence avec un fil blindé dont la tresse sera reliée à la masse. Avantage: les joysticks étant en général en USB, notre transformation se branchera simplement sur le premier port USB venu.
Notons qu’il existe des cartes électroniques capables de reproduire le fonctionnement d’un Joystick. Ces cartes comportent un certain nombre d’entrées analogiques, ou « voies », ou « axes » , et toujours une belle collection de boutons. Ce sont en fait des Joysticks USB sans le manche. Dans cette catégorie on peut citer la carte USB Axes de IOCard (OpenCockpits) , 5 voies et 24 boutons, et les cartes BBI32 et BU0836X de Leo Bodnar, 8 voies et 32 boutons, de plus en plus répandues. Les 32 boutons peuvent recevoir des boutons poussoirs ou des interrupteurs, pour les cockpits les plus simples, une ou deux cartes de ce type peuvent suffire, sans avoir recours aux IOCards. Mais il faudra se contenter de commandes simples, sans demander par exemple d’allumer une Led SI tel interrupteur est en fonction, ça c’est de la logique informatique, pour laquelle SIOC s’impose.