Qu'est-ce que Arduino?

En résumé, Arduino est une plateforme électronique libre (open source) basée sur du matériel simple à utiliser et du logiciel. Il est prévu pour que chacun, débutant compris, puisse créer des petits projets interactifs, puis évoluer selon ses envies et ses aptitudes. Qui dit logiciel dit forcément un language à apprendre, mais pas de panique, cela se fait à petits pas, en découvrant ce language simple au fur et à mesure dans le cadre de petits projets; et qui dit language dit forcément que l'on découvrira aussi tout un jargon typique à Arduino. Je prévois d'ailleurs un futur glossaire sur ce qui est nécessaire de connaître.

Il existe une multitude de sites web qui traitent de Arduino. Je ne vais pas établir ici une liste de tout cela, mais une recherche sur Internet vous en donnera une idée... Le but, ici, est plutôt de découvrir pas-à-pas le vaste monde Arduino dans le cadre du projet du club CR IIm dont je suis membre. Mais sachez déjà que si vous désirez explorer d'autres voies (ferrées ou non), ce que vous trouverez sur Internet vous aidera sans problème, car la communauté autour de Arduino est très vivante.

À titre personnel, je suis plutôt orienté logiciel (software), alors que d'autres au club sont plutôt attirés par les composants et le fer à souder. Je vais donc surtout participer au développement logiciel de ce système dans l'association, sans pour autant bouder la partie matérielle, car cela m'intéresse aussi. Et l'on sait que lorsqu'on met les doigts dans l'engrenage, seul le manque de temps peut freiner nos envies!

Alors que démarre le projet au sein du club, ce que je vais présenter ici sera une synthèse des choix et solutions appliquées au club, à laquelle je vais ajouter ce que j'aurais apporté comme idées qui n'auraient pas été retenues. Tout ce travail que je vais faire désormais et que vous découvrirez ici, je choisis de le faire dans un projet personnel que j'ai nommé Railduino. Ce projet qui naît en ce 20 février 2019 n'a pas pour but d'être commercial; c'est une activité bénévole et tout un chacun pourra y contribuer par ses idées, ses questions, ses solutions...

Vous êtes prêt? Alors partons ensemble à la découverte de ce nouveau monde... Chacun des chapitres ci-dessous est une introduction, et d'autres articles développeront chacun de ces sujets. Pas de panique, je vais éviter l'avalanche de termes inutiles et de jargon; restons clairs dans la simplicité!

Plateforme électronique open source

Arduino est une marque qui couvre des cartes électroniques matériellement libres sur lesquelles se trouve un microcontrôleur. Matériellement libre, cela veut dire que les plans sont publics et que tout le monde, vous compris, peut utiliser, et s'il le désire les fabriquer, les modifier, et même les distribuer.

Si les cartes Arduino sont matériellement libres, certains composant dont le microcontrôleur, ne sont pas sous licence libre. La société Arduino produit en Italie et commercialise les cartes originales. Vous trouverez aussi d'autres producteurs de cartes Arduino, mais ces distributions ont à mes yeux certains défauts: les cartes produites en Chine ne sont pas toutes sans défaut...; d'autres utiliseront des solutions sur leurs cartes qui pourraient conduire à des incompatibilités. Vous êtes libre de vos choix, mais je ne peux que vous conseiller les cartes d'origine produites par Arduino pour deux raisons:

  1. En achetant les produits chez Arduino, vous permettez à ce projet de s'autofinancer, ce qui n'est pas négligeable pour le devenir de cette plateforme si vous désirez qu'elle reste libre;
  2. Les produits originaux valent toujours mieux que les copies! Et au prix des cartes Arduino, ce serait dommage de ne pas en profiter, non?

Language de programmation

Qui dit programmation dit language à apprendre, donc des termes à connaître, une syntaxe et sa "grammaire" à apprendre.

Là aussi, pas de panique! Le nombre de commandes n'est pas extrêmement élevé, et le language C que nous allons découvrir ensemble n'est pas si compliqué. Tout comme nous allons sous peu découvrir ces fameuses cartes Arduino et les apprivoiser, le language sera appris au rythme des besoins que nous aurons et les termes particuliers utilisés par la communauté Arduino seront expliqués lorsque nous en aurons besoin et ferons partie d'un glossaire.

Ce n'est que lorsque la base sera maîtrisée, et pour ceux qui désirent aller encore plus loin dans la commande de leur réseau que nous poursuivrons ensemble vers le language C++ et la programmation objet. Là encore, on se fait parfois des idées sur la programmation objet: ce n'est pourtant qu'un moyen bien pratique pour simplifier ce qui est très complexe, et cela ne se fera qu'en temps voulu et ce sujet sera vulgarisé pour vous le rendre plus facile à comprendre.

Le logiciel Arduino IDE

Le logiciel dont nous aurons besoin pour dialoguer et programmer ces petites cartes est disponible sous deux versions:

  1. Une version Web, Arduino Web Editor, que je n'utilise personnellement pas; n'hésitez pas à aller sur le site pour l'évaluer, puis l'utiliser si vous le désirez...
  2. Une version à installer sur votre ordinateur avec MacOS X, Linux, et même sous Windows (si vous êtes du côté obscur de la Force... Oui, je sais, je suis allergique à ce monde-là, mais j'assume).

C'est cette deuxième version que j'ai choisie, et elle est installée sur l'iMac familial, mais aussi sur mon ordinateur de bureau et mon portable, tournant tous deux avec Ubuntu. Aucun problème d'installation avec le Mac, et une petite subtilité concernant les accès au port USB sur les machines tournant avec Linux.

Ce logiciel est d'une simplicité enfantine à utiliser, j'ai rarement vu un interface aussi simple pour faire de la programmation! Un rêve pour débuter, vraiment.

Matériel pour débuter

Une carte Arduino, bien sûr... Pour démarrer, puis par la suite faire vos essais et tests, il vous faut la carte Arduino Uno: pas besoin de souder vos fils, il suffit d'enficher ceux-ci dans les ports prévus à cet effet, et vous pourrez ainsi démonter sans problème ce que vous aurez essayé.

Mais aussi: une carte pour vos expériences, que l'on appelle en anglais un Breadboard, et qui permet aussi de monter un système à tester sans avoir besoin de souder le moindre composant; des composants électroniques, des câbles, des DEL (diodes électroluminescentes, ou LED), etc. On ne va pas se faire peur, le plus simple est de se procurer un kit de démarrage Arduino; une recherche sur Internet vous permettra de trouver où acheter cela chez un revendeur, ou une boutique en ligne. Important, on trouve tous les prix, donc allez pour commencer sur le site officiel Arduino, puis comparez avec ce que vous trouverez dans votre région ou pays!

Mais encore?

Autre logiciel que j'ai installé, Fritzing. Celui-ci me permettra par la suite de dessiner les schémas de montage sur ma platine de test, ce qui facilite ensuite grandement l'archivage des montages que l'on a déjà fait, et donne la possibilité de publier ces schémas en ligne. Pratique, donc.

À bientôt pour la suite...