En ouvrant les tiroirs de n'importe quel ingénieur, on pourrait légitimement se demander à quoi lui servirait une nouvelle carte de développement. Bien que l'Arduino soit désormais devenu un grand classique, ils étaient nombreux à se demander, au moment de sa conception, si cette carte était indispensable. En fait, elle n'a jamais vraiment été destinée aux ingénieurs, comme vous allez le découvrir ici...

Ce « truc appelé Arduino »

L'un des plus grands défis lorsque l'on travaille au sein d'une industrie est de voir les opportunités qui s'offrent. Vous êtes tellement accoutumé à votre propre façon de travailler et de fonctionner dans cette activité que vous pouvez devenir complaisant, voire même arrogant, et en venir à écarter trop rapidement les idées nouvelles. Ce fut le cas lorsque quelqu'un m'a parlé de ce « truc appelé Arduino » autour de la fin des années 2000.

 
Contenu représentatif d'un tiroir d'ingénieur.
Pour ma défense, à l'époque, je formais des ingénieurs au développement de logiciels pour un vaste éventail d'applications embarquées. Mon univers était cerné par les cartes de développement de microcontrôleurs, depuis les plus universelles jusqu'à celles réservées à des applications spécifiques. « Pourquoi vouloir une carte qui n'est ni universelle, ni spécifique à une application ? », tel était mon raisonnement... En plus de cela, le concept semblait semer des obstacles sur le parcours du programmeur au lieu de les éliminer, en raison de la limitation de l'utilisation de broches pourtant flexibles, mais aussi en enfouissant profondément dans le logiciel des éléments comme les tailles de tampon de l'interface série.

Même l'extrême simplicité peut s'avérer trop compliquée

Comme toute chose, l'émergence de l'Arduino résulte d'une solution à un problème spécifique. Alors que les ingénieurs professionnels disposaient de cartes et d'outils de développement issus de l'industrie des semi-conducteurs, ce n'était pas le cas pour tout le monde. Un certain nombre d'universités, dont celle où travaillait Massimo Banzi (l'un des fondateurs d'Arduino), proposaient des cours d'« informatique physique ». Ces cours portaient sur la manière de construire des systèmes capables de détecter leur environnement et d'y réagir, conduisant souvent à la création d'installations artistiques interactives par des artistes.

Même si les fabricants de microcontrôleurs proposent des outils d'entrée de gamme, ils partent toujours du principe que l'utilisateur voudra programmer en C (voire même en assembleur), qu'il a des connaissances en électronique et qu'il comprendra comment utiliser un environnement de développement intégré (IDE). Bien que simples, ces cours ne l'étaient pas encore suffisamment pour les ingénieurs.

La difficulté avait toujours été de trouver des plateformes programmables qui mettent la puissance d'un microcontrôleur configurable et programmable à la portée de ceux qui n'étudiaient pas l'électronique. Jusqu'à ce stade, c'était le BASIC Stamp de Parallax qui avait été le plus utilisé. Cependant, le prix de la plateforme avait été jugé trop élevé pour les étudiants, surtout en tenant compte du fait qu'elle n'était qu'un élément du résultat final, et que ses performances étaient insuffisantes pour certaines applications.

Un coup de génie

L'approche adoptée par Banzi et son équipe a été, avec le recul, un coup de génie. En définissant les fonctionnalités des connexions de la carte et en cachant la complexité de l'utilisation derrière des appels de fonctions C++ portant des noms simples, la puissance d'une plateforme programmable pouvait désormais être utilisée par n'importe qui. Oui, il y avait encore quelques restrictions à prendre en compte, comme les limites de tension sur les broches, qui sont de nature technique ; elles étaient toutefois peu nombreuses et ne nuisaient pas à la simplicité d'utilisation de la plateforme.

Une partie de la simplicité vient de l'environnement de développement de l'Arduino, qui doit beaucoup aux projets Processing et Wiring. Processing est un environnement de développement qui prend en charge le développement de logiciels multiplateformes (c'est-à-dire Windows, Mac OS X et Linux) et facilite le développement de sorties graphiques ou la création d'interfaces utilisateur graphiques et d'interactions. Contrairement aux outils de développement tels que Visual Studio ou Qt, il n'est pas nécessaire d'être un as de la programmation ou un expert en développement d'interfaces graphiques ; vous pouvez donner la priorité à votre créativité, sachant que les tâches complexes sont prises en charge en arrière-plan.

 
Avec l'Arduino, il est très simple d'utiliser les technologies
complexes, comme les servos et les lecteurs RFID,
en les connectant.
Cette même philosophie s'applique à l'Arduino. Si vous voulez relier un capteur I2C à la carte ou stocker des données sur un support flash SPI, il suffit de les connecter. Les bibliothèques proposées dans l'environnement Arduino s'occuperont pour vous de la complexité de l'interface. De plus, il existe probablement un exemple de projet déjà disponible que vous pouvez adapter.

Quand l'art rencontre l'électronique

Grâce à la puissance et au prix modique de l'Arduino, ainsi qu'aux performances des microcontrôleurs et de la technologie associée, des installations artistiques étonnantes ont vu le jour. L'un des artistes qui ont bénéficié de ce développement a été Chris Eckert, basé en Californie du Sud. Comme il le déclare sur son site web, « mon travail est le reflet d'idées et de questions qui me laissent perplexe. Alors que certains trouvent les machines froides et impersonnelles, je trouve [qu'elles sont] un véritable véhicule pour l'exploration et l'introspection ».

 
Le projet « Gimme » de Chris Eckert est une installation artistique
qui examine les deux côtés d'une
« sébile de mendiant ». (source : www.chriseckert.com)

L'une de ses œuvres, « Gimee », nous touche au plus profond. Elle s’inspire de sa rencontre avec des sans-abri lorsqu'il courait régulièrement sur les bords de la rivière Guadalupe. Une boîte métallique rouillée, peut-être suite à son exposition aux éléments, possède un globe oculaire qui suit les mouvements des passants. Cette scène tragique est accompagnée d'une petite boîte de conserve qui s'agite de temps en temps, appelant indirectement les passants à donner une obole, peut-être une seule pièce, pour alléger les difficultés quotidiennes de cette pauvre œuvre d'art. Cette création s'inspire des efforts de Chris pour collecter des fonds au bénéfice d’une organisation artistique, ce qui l'a placé du même côté que celui où s'assoient normalement les sans-abri qu'il voit régulièrement. Cette œuvre d'art, qui donne à réfléchir, est considérablement enrichie par l'automatisation mise en œuvre à l'aide d'un Arduino.

L'installation « Sonic Body » est une autre création fascinante. L'intention est de partager l'« orchestre » qu'est le corps humain, en permettant aux visiteurs d'interagir avec les organes pour produire de la « musique ». L'audio généré est basé sur des échantillons sonores réels capturés auprès d'humains. L'Arduino prend en charge la détection si un visiteur touche, presse ou déplace des parties du corps, puis envoie des messages au système audio pour s'assurer d'appliquer le son correct en fond sonore.

Dans ces deux cas, l'électronique et l'Arduino jouent un rôle de manière invisible, en arrière-plan. Sans eux, ces incroyables expériences artistiques n'auraient peut-être jamais vu le jour.

Pourquoi l'« Arduino » ?

Une fois le concept de la première carte prototype établi, il fallait bien sûr lui trouver un nom. La légende veut que le bar que Banzi et son équipe fréquentaient régulièrement, l'« id Re Arduino », en ait été l'inspiration. Il a été nommé d'après le souverain Arduin d'Ivrée du XIe siècle, qui fut roi d'Italie entre 1002 et 1014. Tout comme Arduino, projet et entreprise qui on eu leur part de hauts et de bas, le roi Arduin a également dû faire face à une série de luttes dans ses tentatives pour maintenir l'indépendance du royaume d'Italie vis-à-vis du puissant Saint-Empire romain germanique.

 
Le Commodore 64 a permis à de nombreux ingénieurs de découvrir l'électronique programmable.
Heureusement, pour les développeurs, Arduino est devenu lui aussi une référence, non seulement dans la boîte à outils de l'artiste, mais aussi de l'ingénieur. La vitesse à laquelle les concepts peuvent être créés et la simplicité de la mise en œuvre de technologies autrement complexes, telles que l'Ethernet et le Wi-Fi ou même le contrôle d'un servo, ne peuvent tout simplement pas être ignorées. Nous avons même atteint le point où des versions industrialisées d'Arduino construites comme des automates programmables (PLC) sont disponibles sous la forme « Controllino ».  

Pour ma part, j'ai été touché par le succès de la famille de cartes Arduino et par la multitude de shields d'extension créés. Ayant grandi avec le Commodore 64, qui a déclenché ma passion pour les systèmes électroniques programmables, j'accueille à bras ouverts toute plateforme qui suscite l'intérêt et l'enthousiasme pour le monde de l'électronique, des semi-conducteurs et de la programmation. Si vous souhaitez en savoir plus sur l'utilisation d'Arduino, consultez l'excellente introduction de Clemens Valens.