L’Arduino, la plate-forme d’aprentissage de l’électronique.

J’ai beau avoir la réputation de geek, je n’ai pourtant jamais réussi à m’intéresser à l’électronique. À l’école, je n’ai jamais été capable de comprendre comment s’agencent tous ces composants. Je crois que l’ampli-op m’a tué.

Aujourd’hui je le regrette presque car j’ai l’impression de passer à coté de plein de choses formidables. Heureusement, des universitaires italiens ont créé ce petit bidule bien sympa, l’Arduino. Il s’agit d’un circuit Open Source destiné à faciliter l’apprentissage et la mise en œuvre de l’électronique. Petite présentation.

Bien que je viens de l’écrire en présentation, je vais rappeler que je ne suis pas un électronicien. Je suis en fait le publique exacte visé par ce produit : un néophyte du domaine électronique mais avec quelques idées que ce bidule va peut-être me permettre de concrétiser. Mais tout d’abord de quoi s’agit il ?

L’Arduino, une plate-forme Open-Source.

Arduino Duamilanove
L’arduino Duamilanove, le top au moment de la rédaction de cet article, obsolète depuis. (arduino.cc)

L’Arduino est donc une plate-forme électronique articulée initialement autour d’un microcontrôleur Atmel AVR.

Ok, alors qu’est-ce qu’un microcontrôleur ? On va simplifier en disant que c’est un circuit intégré qui intègre un microprocesseur, de la mémoire et des interfaces d’entrée-sortie. Les microcontrôleurs sont au cœur des systèmes embarqués. Mais attention, ce sont des composants plus simples que les microprocesseurs des ordinateurs. Il est donc impossible de faire tourner un système d’exploitation tel que Windows, Linux ou Mac OS sur un microcontrôleur.

Un microcontrôleur ne se suffit pas et c’est là la révolution de l’Arduino puisqu’il s’agit d’un packaging prêt à l’emploi. Le microcontrôleur est déjà monté avec tout ce qui est nécessaire (si vous retenez la liste suivante, vous allez assurer grave à la prochaine pause café) : régulateur 5V, oscillateur quartz 16MHz, connecteur USB (en fait série RS-232) et les entrées/sorties du micro-contrôleur sont interfacées via des connecteurs femelle HE14. Le micro-contrôleur est préprogrammé avec un bootloader rendant inutile un programmateur dédié. L’ensemble est accompagné d’un logiciel de programmation qui permet l’édition, la compilation et le transfert du programme sur l’Arduino. Écrit en Java, il est multiplate-forme.

Mais en quoi l’Arduino est-il Open-Source ? Et bien le design matériel est sous licence Creative Commons Attribution Share-Alike 2.5, et le code source de l’environnement de programmation sous licence GPLv2. Schémas, typons et code source sont donc librement récupérable et utilisable. Oui rien ne vous interdit d’assembler votre propre Arduino.

Que faire avec un Arduino

Voila toute la question… Ben potentiellement tout ce que peut permettre un ensemble d’entrées-sorties. Tout ce qu’il faut, c’est un peu de connaissances en électronique, en programmation (la programmation du module se fait par un langage simple dérivé et épuré du C) et surtout beaucoup d’imagination. On peut commencer par contrôler quelques LEDs, récupérer le signal de capteurs, activer des moteurs… Puis combiner tout ça.

Beaucoup de choses sont disponibles sur le net, à commencer par le site officiel. Quelques livres intéressants ont fait leur apparition. Et si vous ne voulez vraiment pas vous rater, il existe un Starter Kit officiel qui vous permettra de démarrer quelques projets.

Une documentation fournie est donc disponible. Je vais reprendre sur ce blog un certain nombre d’exemples de base, ce qui permet une traduction des didacticiels correspondants.

D’ailleurs, commençons.

Le Hello World de l’Arduino

En informatique, tout projet de base qui présente une techno s’appelle un Hello World car de base, on essaye d’afficher un Bonjour le Monde.

Nous allons rester très simple. Vous n’aurez besoin que du logiciel de programmation, un Arduino, un câble USB, et une simple diode électroluminescente (LED). Non, pas de fils, pas de fer à souder, pas de calculatrice scientifique. Commençons par le montage : il suffit de glisser la patte longue de la LED dans le connecteur marqué 13 et l’autre dans le connecteur marqué GND. Le montage final ressemble au schéma suivant.

Arduino et LED

Le programme accompagnant ce montage est le suivant, sa structure est standard pour un Arduino

int ledPin =  13;
int delayTime = 1000;

void setup() {
    pinMode(ledPin, OUTPUT);     
}

void loop() {
    digitalWrite(ledPin, HIGH);
    delay(delayTime);
    digitalWrite(ledPin, LOW);
    delay(DelayTime);
}

Il ne reste qu’à connecter l’Arduino par USB, charger le programme et observer. La LED alterne un état allumé pendant une seconde puis éteint pendant une seconde. Petite explication en commentant le programme :

Les deux premières lignes définissent les variables utilisées dans ce programme. Ici il s’agit de définir les constantes (connecteur utilisé et temps) pour ne pas avoir des nombres magiques dans le programme.

Le programme est ensuite constitué des deux fonctions obligatoires. setup d’abord est la fonction appelée à l’allumage ou à la réinitialisation de l’Arduino. Elle n’est donc appelée qu’une fois pour initialiser l’état de l’Arduino. Nous définissons ici le connecteur comme un connecteur de type output.

La fonction loop est ensuite appelée à chaque cycle du microcontrolleur. Nous allons donc alterner un passage de courant par le connecteur 13, une attente de 1 seconde (pendant laquelle le courant passe, donc la LED est allumée), puis arrêter le courant dans le connecteur 13 puis une attente de 1 seconde (pendant laquelle le courant ne passe pas donc la LED est éteinte).

Voila, avec quelques lignes de code, on contrôle déjà un composant électronique. Grâce à ce microcontôleur, on n’a pas eu à créer un circuit complexe avec condos, transistors, télérupteurs… Évidemment, l’intérêt est ici limité mais je présenterai rapidement comment combiner différents composants pour avoir des comportements intéressants.

Pour les plus impatients et ceux qui veulent approfondir leur tests de l’Arduino, je ne peux que vous conseiller le livre de l’auteur de ce composant, Massimo Banzi, Démarrez avec Arduino: Principes de base et premiers montages. Très didactique, il s’agit d’un excellent ouvrage d’initiation à un tarif très abordable.

Je vous  ajoute également les liens vers les ressources sur le site officiel :

Si vous avez aimé ce post, n’hésitez pas à laisser un commentaire ci-dessous ou sur la page Facebook 😉

À propos de... Darko Stankovski

iT guy, photographe et papa 3.0, je vous fais partager mon expérience et découvertes dans ces domaines. Vous pouvez me suivre sur les liens ci-dessous.

Vous aimerez aussi...

2 réponses

  1. 3 novembre 2018

    […] est une référence dans le domaine de l’initiation à l’électronique. Il s’agit d’un composant open-source, Robobox fournit donc une carte correspondant à […]

  2. 18 février 2019

    […] le précédent article, j’ai présenté l’Arduino et la possibilité de le programmer. Ici, je vais présenter […]