Semaine 3

Électronique

L'exercice de cette semaine a pour but de découvrir et de ce familiariser avec l'électronique via Arduino. Nous allons (ré)apprendre à faire un montage ainsi qu'un peu de C/C++.

Arduino qu'est ce que c'est ?

Arduino est une marque qui couvre des cartes électroniques sur lesquelles se trouve un microcontrôleur. Les schémas de ces cartes électroniques sont publiés en licence libre.

Voici une représentation schématique d'une carte Arduino UNO.

Passons donc à quelques exercices pratiques

Commençons du début. En premier il nous faut un montage électronique fonctionnel (oui c'est mieux) pour cela nous allons faire très simple, une LED, une résistance ainsi que des fils pour relier le tout.

Le montage ci-dessus n'est pas bon, la LED à donc cramée au moment où on l'a raccordée au courant électrique.

Ici, le montage est correct et donc, la LED s'allume correctement et sans incidents.

Maintenant que nous avons compris comment faire pour ne pas tout cramer (même si il faut l'avouer, c'est plutôt rigolo) passons à l'étape suivante.

La LED s'allume, mais nous ce qu'on veut, c'est pouvoir lui prédéfinir des instructions. Pour cela nous allons devoir faire un peu de code, et donc, avoir besoin d'une interface pour pouvoir communiquer nos instructions à la machine.

Voici l'interface de l'application Arduino, c'est ici que nous allons inscrire notre code. Elle est téléchargeable gratuitement sur "https://www.arduino.cc/en/Main/Software" et disponible sur les système d'exploitation Windows, Mac et Linux.

Nous pouvons constater en regardant un peu plus attentivement, qu'il y a de base, déjà deux zones bien définies, que nous appelons "fonction"

"void setup( )" : la fonction "initialisation" ("setup" en anglais) qui ne sera exécutée qu'une seule fois au démarrage.

"void loop( )" : la fonction "boucle" ("loop" en anglais) qui sera exécuté de manière répété une fois que la fonction setup à été exécutée.

Pour ce second exercice nous allons effectuer un nouveau montage composé cette fois-ci de trois LED. La petite subtilité sera que nous voulons que les LED s'allument à tour de rôle, puis s'éteignent également les unes après les autres mais dans le sens inverse de l'ordre d'allumage (LED1, LED2, LED3 s'allument, puis LED3, LED2, LED1 s'éteignent).

La solution trouvée ci-dessus n'est, sans grande surprise pas la bonne. Utilisé un "delay" dans ce cas là ne nous est pas d'une grande utilité, ce que nous voulons en réalité, c'est crée une boucle d'instruction (un "loop") pour que la commande se répète sans avoir besoin de relancer le programme.