De l'informatique embarquée avec Arduino



C'est le premier article que je fais véritablement sur Arduino. Et je me devais d'en parler pour son apport dans l'éducation à l'électronique aux détournements par des hackers aux ingénieurs. Arduino est un outil qui transforme notre regard sur la technologie et l'usage que nous en faisons.

C'est une excellente plate-forme qui réduit les coûts d'entrée en électronique et programmation, il permet à des personnes qui n'ont pas trop la fibre scolaire de ce plonger dans des domaines qui les intéressent. 

Arduino UNO, la carte de prototypage électronique standard de la gamme est sortie en 2010. Ce qui a permis une petite révolution dans le milieu de l'ingénierie par son introduction pour de l'informatique embarquée mais également en robotique. Son rapport qualité/coût pour prototyper vite en fond un outil qui dépasse le cadre seul de l'éducation. Il fait parti de la mode DIY (Do it Yourself) introduite par des composants tel que la RepRap, une imprimante 3D, né en 2005 qui deviendra l'emblème des hackerspaces. Les « hackerspaces » sont des lieux de rencontre et d'expérimentation collective qui rassemblent des personnes qui partagent un intérêt commun (notamment pour l'informatique, la technologie, les sciences et la créativité). qui débute le plus souvent dans un garage on retrouve le trio matériel RepRap, Arduino, Raspeberry Pi. En Bretagne il existe sur Rennes un hackerspace Breizh-Entropy . Le plus connu est C-Base à Berlin. On appel des makers les utilisateurs des hackerspaces et fablabs. Des lieux qui donnent accès à des outils de prototypage rapide et fabrication numérique pour l'invention, la charte a été édité en 2012 au MIT. Arduino faisant donc parti des composants de prototypage électronique. Alors on va me dire, mais Anthony en 2010 j'étais en école d'ingénieur specialisé dans le prototypage rapide industriel,  la pointe en France dans le domaine, as tu entendu parler de tout ça? NON J'ai découvert plus tard par la communauté des hackers et libristes. Mon directeur d'école snobait l'impression 3D et son éco-système en considérant que cela n'avait pas d'avenir dans l'industrie, en gros bon pour les amateurs(SIC) gros plantage dans la vision d'avenir. Il faut dire qu'il etait très porté sur les brevets et la propriété intellectuelle de ces propres solutions de prototypage rapide qui expiraient et tombaient dans le domaine public.

Arduino introduit la notion de matériel libre (OSHW – OpenSource Hardware) par l'utilisation de la license GNU GPL. C'est à dire que les plans de la carte électronique sont ouvert. On peut donc redistribuer les plans pour fabriquer soit même une carte électronique. C'est une extension du logiciel libre au matériel.

Dans ce sens il existe des cartes dérivées d'Arduino UNO sur le marché. Parlons donc affaires, théma la taille du rat, que je suis et tout ça cela coût combien? On peut s'en sortir en achetant chinois pour 10€ la carte "clone" d'Arduino UNO dans les prix les plus bas. Je ne conseil pas forcement, mais si vous avez peur de griller la carte, ou pour faire des achats de groupe cela peut-être intéressant. En réalité les makers sont fidèles à la marque Arduino pour sa qualité, tels que les soudures etc. Petit listing des prix croissant:

Si vous ne savez pas quoi prendre, prenez la carte officielle, sachez que d'autres modèles clones existent, c'est à titre indicatif, pour montrer l'éco-système autour de la carte. Maintenant que vous avez une vague idée à quoi ressemble la carte de prototypage électronique parlons-en.

Caractéristique de l'Arduino UNO

La carte Arduino est un circuit imprimé conçu pour héberger un microcontrôleur et données accès à des entrées / sorties. Elle comprend aussi quelques autres composants électroniques qui permettent de faire fonctionner le microcontrôleur ou d'étendre les fonctionalités.

Un microcontrôleur est un petit ordinateur, le cerveau du circuit intégré en électronique. C'est une puce en l'occurrence le modèle 8bits ATMEGA328 fabriqué par Atmel. C'est également cela que l'on appel des semi-conducteurs dans l'industrie. Grâce à la puce nous allons pouvoir contrôler nos entrées / sorties et donc les programmer.

L'Arduino seul ne sert pas à grand chose, il a besoin de sentir des objets du monde réel grâce à une série de capteur et d'agir dessus (actionneur). Il faut penser communication et intéraction avec l'extérieur permettant l'envoi de signaux. Quand on apprend l'exercice de base est de faire clignoter une LED (diode electroluminescente) pour vérifier que tout fonctionne bien. Il faut choisir de positionner la LED sur une sortie de la carte et de programmer un délai pour faire clignoter. C'est la version "Hello World" en électronique.

Interface de programmation

Arduino est un superbe outil pour apprendre la programmation en langage C qui est le standard quand il s'agit de système embarqué. Il fournit un logiciel pour écrire du code, un Arduino IDE et permet de téléverser dans le microcontrôleur et la mémoire flash de 32Kb. On est en environnement contraint avec peu de ressource mémoire, il est impossible de compiler un système d'exploitation avec seulement 32kb ou simplement d'avoir un compilateur sur la carte. Arduino IDE va simplifier la tâche de cross-compilation et traduire en langage machine le code en le téléversant dans le microcontrôleur. On peut également programmer en C++ pour ce faire il faut changer d'éditeur de texte pour utiliser des outils comme VScode et plateformIO qui sont plus adapté.

IoT: Internet des objets

Arduino peut faire office d'objet connecté à internet. Pour ce faire il faut ajouter des fonctions grâces à des shields tels que le wifi ou ethernet. Là cela devient intéressant car on va pouvoir intéragir avec un site web et serveur mais egalement analyser des DATAs que l'on va enregistrer et monitorer comme pour faire de la domotique.

Robotique

Arduino est un objet de choix pour initier à la robotique et apprendre à contrôler la machine. Il vous faudra des capteurs et actionneurs tel qu'un servo-moteur. Cela peut-être très tentant pour les enfants de jouer avec des robots mais également aux ingénieurs, les possibilités sont illimités. C'est tout un univers et vous pourrez trouver des projets Arduino sur internet traitant du sujet de la robotique. Vous n'êtes pas seul d'autres on eu l'idée à travers le monde. OpenClassRoom le site dédié à l'apprentissage de l'informatique aborde le sujet de l'initiation à la robotique avec Arduino. Pour aller plus loin je recommande des sujets DIY sur les drônes et Quadcopter avec Arduino ou vous pouvez construire certaines pièces en impression 3D.

Kit de démarrage

Commencer à utiliser une carte Arduino sans composant électronique sert à rien. Il va falloir intéragir avec l'environnement et maitriser les bases de l'électronique tels que l'utilisation de résistance, condensateur et transistor etc... A cela ajoutez des capteurs et actionneurs, il faut compter 50€ + Arduino UNO 20€ pour atteindre environ 70€ d'investissement initial dans un kit de démarrage (starter kit). Il y a plusieurs façon de faire. 

Il est possible d'acheter les composants électroniques séparement tels que chez Gotronic si vous savez la liste et la référence des produits. Pour cela vous pouvez suivre les recommendations du site Zeste du Savoir qui a édité un livre en libre accès sur l'apprentissage d'Arduino à cette adresse. Vous trouverez une liste d'achat. Pour plus de détail utilisez mon document personnel de devis chez Gotronic avec quantité et référence produit sur ce lien totalisant 76€ Arduino UNO inclus pour des composants de qualité et une boite de rangement.

Suivre un livre

Je vous est recommandé le livre en libre accès pour apprendre Arduino du site zeste du savoir. Il suffit largement pour ce lancer dans l'aventure, si pour autant vous cherchez d'autres références, quelques livres traitant d'Arduino sont disponible sur ce lien.