DIFFICULTÉ MOYENNE | 6 À 8 HEURES
Pas de panique ! Je suis là pour démystifier la chose !
Ce tutoriel sera divisé en 6 chapitres ponctués d'exercices :
- Partie 1 : comprendre ce qu'est Arduino, les signaux analogiques et numériques, les entrées et les sorties.
- Partie 2 : simulation de circuits simples avec Tinkercad, premiers programmes, les fonctions et les arguments.
- Partie 3 : utiliser des capteurs, les signaux numériques et les variables.
- Partie 4 : les signaux analogiques.
- Partie 5 : les boucles incrémentielles et conditionnelles, les "bibliothèques".
- Partie 6 : les lois d'Ohm et de Kirchhoff, les résistances de pull-up/pull-down.
- Références : vous y retrouverez un glossaire des fonctions Arduino vues durant les 5 parties de ce tutoriel ainsi que quelques liens utiles!
A la fin vous devriez avoir de solides bases pour aller plus loin !
Continuez à lire pour apprendre et devenir de vrais "Arduino addicts" !
Cliquez sur les titres pour lire les contenus.
Ça sert à quoi un Arduino ?
Voici quelques exemples !
Mais c'est quoi un Arduino alors ?
Le microcontrôleur peut être programmé pour analyser et produire des signaux électriques.
Il était destiné à l'origine principalement, mais pas exclusivement, à la programmation multimédia interactive en vue de spectacle ou d'animations artistiques.
L'Arduino emprunte son nom au Bar di Re Arduino (en français « bar du roi Arduin ») dans lequel se réunissaient les concepteurs de la carte, à Ivrée en Italie du Nord.
Notez que les microcontrôleurs sont partout dans notre vie. Toute machine qui analyse et produit un signal est un microcontrôleur. Vous avez déjà programmé des Lego Mindstorm, ce sont des microcontrôleurs (la grosse brique carrée blanche avec un écran). Un thermostat programmable de chauffage ou de four possède un microcontrôleur.
Un microcontrôleur en général, ou un Arduino en particulier, est une sorte de Voltmètre-générateur de tension : il analyse des signaux électriques qui entrent (provenant de capteurs - distance, lumière, température...) et produit des signaux electriques qui sortent (pour actionner des moteurs, allumer des DEL, déclencher ou couper le chauffage, envoyer des textos, contrôler des paramécies...).
C’est le programme que l'on écrit qui indique à Arduino (ou au microcontrôleur) comment analyser le courant en entrée et quel courant produire en sortie.
Les microcontrôleurs existent depuis longtemps mais étaient au début difficiles à utiliser et reservés aux élites : ingénieurs, electroniciens, programmeurs... Arduino à changé la donne pour plusieurs raisons :
- Ce n'est pas cher (15 à 40$ suivant les versions).
- C'est facile a programmer.
- Il y a une énorme communauté d'utilisateurs et de nombreux blogs pour s'aider, se former et échanger.
La partie facile pour commencer !
- Un bouton reset, pour "resetter" !
- Une prise USB : pour "uploader le programme" dans l'Arduino ou l'alimenter en électricité.
- Une prise "jack" pour brancher une pile ou un adaptateur-secteur pour les projets "portables"
- Le cerveau : le microcontrôleur, une puce électronique qui rassemble mémoire vive, mémoire de stockage et unité de calcul (CPU)
- Deux rangées de prises : les prises numériques en haut (numérotées de 0 à 13), les prises analogiques en bas (de A0 à A5) et les prises d'alimentation (3,3V, 5V, GND et Vin).
Constatez que les prises analogiques sont notées "ANALOG IN". Et oui, ce sont des entrés, c'est la partie "voltmètre" de l'Arduino, certains signaux pourront entrer par là.
Entrons dans le détail !
Les signaux entrant et sortant, analogiques et numériques.
C'est le temps d'expliquer ce que l'on peut brancher sur un microcontrôleur en général ou un Arduino en particulier.
- Tout signal entrant provient d'un capteur. Les capteurs modulent ou produisent un courant électrique en fonction des modifications de l'environnement (température, humidité, mouvement, lumière, vitesse, la liste est longue !). Ce courant électrique va entrer dans Arduino et être analysé par votre programme.
- Tout signal sortant sert à actionner un effecteur. Un effecteur "effectue" une action bien précise : un moteur tourne, une DEL produit de la lumière, un relai coupe ou allume le courant, etc. C'est Arduino qui produit le courant nécessaire au bon fonctionnement des effecteurs, de la manière et au moment où votre programme le demande.
Vous l'aurez compris, les signaux qui entrent et sortent d'Arduino sont des signaux électriques. Ces signaux peuvent prendre des valeurs de tension de 0 volt, 5 volts, ou toute tension comprise entre 0 et 5 volts. Il y a 2 types de signal :
- Tension variable (entre 0 et 5 volts) Signal ANALOGIQUE ("analog" en anglais).
- Tension fixe (soit 0, soit 5 volts) : on dit "pulsé" Signal NUMÉRIQUE("digital" en anglais) .
- Signal entrant analogique : un capteur de température. Le signal varie en fonction de la température. La tension électrique qui sort du capteur et entre dans Arduino est comprise entre 0 et 5 volts et peux prendre n'importe quelle valeur dans cet intervalle [0, 5], proportionnellement à la température (précisément, un capteur de température est fait d'un matériel dont la résistance varie en fontion de la température).
Ces signaux entrent par les prises "ANALOG IN" (prises A0 à A5 sur Arduino). - Signal entrant numérique : un capteur de mouvement. S'il n'y a pas de mouvements, la tension sortant du capteur est de 0 volt. Au contraire s'il y a du mouvement, la tension est de 5 volts. Arduino ne reçoit que 2 signaux possibles dans ce cas: soit 0 volt, soit 5 volts.
Ces signaux entrent par les prises "DIGITAL" (prises 0 à 13 sur Arduino). - Signal sortant analogique : un moteur. Si Arduino produit une tension de 0 volt en sortie, le moteur ne fonctionne pas. S'il produit une tension de 5 volts, le moteur tourne à capacité maximale. Entre les deux, dans l'intervalle [0, 5] volts, le moteur tourne à des vitesses différentes.
Ces signaux sortent par les prises "DIGITAL" identifées par un "tilde" (~) (prises 3, 4, 6, 9, 10 et 11 sur Arduino). Ce sont des prises PWM, nous verrons ceci dans la partie 3. - Signal sortant numérique : Allumer une lumière. Si Arduino produit une tension de 0 volt en sortie, la lumière est éteinte. S'il produit une tension de 5 volts, la lumière est allumée.
Ces signaux sortent par les prises "DIGITAL" (prises 0 à 13 sur Arduino).
Comment fait-on pour programmer alors ?
Comment ça se programme un Arduino ?
Tout programmeur utilise plusieurs logiciels, qui sont généralement regroupés ensemble pour simplifier le travail, et qui porte le joli nom d'Environnement de développement intégré (Integrated development environment en Anglais, ou IDE).
Allez, une petite définition Wikipedia ne ferait pas de mal !
Il comporte un éditeur de texte destiné à la programmation, des fonctions qui permettent, par pression sur un bouton, de démarrer le compilateur ainsi qu'un débogueur, qui permet d'exécuter ligne par ligne le programme en cours de construction.
- Un éditeur de texte pour simplement écrire.
- Un débogueur qui va scruter votre programme à la recherche d'erreurs qui pourraient l'empécher de bien fonctionner.
- Un compilateur et en plus dans notre cas, un uploader. A quoi ça sert ? Le programme que vous écrivez est une succession de mots, la plupart du temps en Anglais, le tout mélangé avec des chiffres, des caractères spéciaux, etc. Cependant je ne sais pas si vous avez remarqué, mais Arduino ne sait pas lire l'Anglais : d'une part il n'a pas d'yeux et d'autre part il est italien. Pour qu'une machine, quelle qu'elle soit (le plus gros ordinateur du monde ou le rice cooker de mamie) puisse comprendre un programme écrit pas des humains, il faut le lui traduire en language binaire. C'est ce que l'on appelle la compilation. Quant au uploader, il va se charger d'acheminer le programme dans la mémoire d'Arduino.
Et cet IDE ressemble à ceci :
Tout est là !
Dans la suite de ce tutoriel nous travaillerons avec l'IDE Arduino certes mais également beaucoup avec un simulateur en ligne (Tinkercad circuits). Nous y viendrons le moment voulu !
Maintenant que les présentations sont faites, voyons voir comment on construit un circuit, ce que l'on appelle parfois "prototypage".
Comment construire un circuit avec Arduino ?
Mais les temps ont changé, les dinosaures ont disparu, et une breadboard ressemble à ça :
- Image 1, recto : En effet, il y a des trous partout ! Ce qu'il faut retenir, c'est que les 5 trous de chaque rangée (numérotées de 1 à 30 dans cette image de breadboard) sont connectés ensembles. Ainsi, si vous branchez des fils sur 1-a, 1-b, 1-c, 1-d ou 1-e, ils sont en fait tous branchés ensemble. Comme si vous les aviez soudé.
Il y a une exception pour les colonnes "+" et "-" (rouge et bleu, à droite et à gauche). Dans ce cas-ci, toute la rangée "+" est connectée ensemble, et toute la rangée "-" aussi. En général on se sert de ces rangées comme d'une "multiprise" pour alimenter notre projet en electricité (il n'y a qu'une seule prise 5 volts sur Arduino, d'où la nécessité de se bricoler une prise multiple). - Image 2, verso : Ici nous avons ouvert une breadboard pour voir ce qu'elle a dans le ventre. On y voit très bien les "rails" métalliques qui mettent les prises en contact. Vous comprenez maintenant que quelle que soit la prise où vous branchez un fil dans une même rangée, il y a un rail métallique en dessous qui met toutes les prises d'une rangée en contact (ou d'une colonne dans les cas des prises "+" et "-").
Résumé de la partie 1.
- Un Arduino est une plaque électronique comportant un microcontroleur, 6 entrées analogiques et 14 prises numériques.
- Un microcontrôleur analyse et produit des signaux électriques. Il gère des signaux entrant et sortant.
- Un signal électrique peut être analogique (tension variable) ou numérique (tension fixe).
- Les tensions gérées par Arduino sont comprises entre 0 et 5 volts.
- Les prises numériques peuvent être des entrées ou des sorties de signal. Elles peuvent aussi produire des signaux analogiques dans les cas des prises "PWM" marquées d'un ~.
- On programme Arduino avec un IDE, un logiciel comprenant trois outils : éditeur de texte, compilateur et déboggueur.
- Une breadboard, ou platine d'essai, permet de faire des circuits électriques sans soudures.
- Sur une platine d'essai, toutes les prises d'une même rangées sont connectées ensembles.
- Vous êtes assez à l'aise pour faire un circuit simple avec une platine d'essai.
Vous êtes prêt pour accéder à la partie 2 !