Mis à jour le mercredi 30 novembre 2016
  • 15 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

Vous pouvez obtenir un certificat de réussite à l'issue de ce cours.

J'ai tout compris !

Installez vos outils de travail

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Comme pour toute chose, il faut commencer par le commencement. Le monde de l’Arduino est immense. On peut s’y perdre (toujours avec plaisir), on peut s’y disperser et passer à côté de l’essentiel. C’est un voyage à préparer. Il faut savoir où l’on va, comment on y va, ce qu’on doit prendre et connaître, les risques, les attentes, les plaisirs, les déceptions, la durée et tant d’autres détails qui feront de cette expérience une aventure unique et addictive. Quel lyrisme ! Bref tout ça pour dire qu’en lisant cette partie, vous saurez quelle est la voie que je vous propose de suivre jeunes padawans : découvrir ce qu'est l'Arduino, à qui il peut convenir, comment se le procurer, quels outils installer et quel matériel acquérir.

À qui s'adresse ce cours ?

La programmation sur Arduino n’est pas que de la programmation. C’est d’ailleurs ce qui fait son intérêt. Si l’on s’engage assez loin, on touche finalement à tout ce qui concerne les branches de la robotique et de la domotique : la programmation, l’électronique, la mécanique, l’interfaçage, les réseaux, la programmation graphique, la FAO... Attirant et effrayant à la fois !

On peut dire que ce cours est fait pour vous si :

  • Vous êtes novice en électronique et en informatique et ces domaines vous intéressent ou vous passionnent (c’est encore mieux) et vous voulez passer à l’acte ;

  • Vous êtes développeur, et l’interfaçage électronique vous intéresse, ou inversement, vous êtes électronicien et l’envie de développer vous prend ;

  • Vous êtes du type bricolo-électro-touche-à-tout et vous débordez de projets ;

  • Vous êtes enseignant et vous souhaitez vous lancer dans la micro-robotique avec vos élèves ;

  • Vous êtes un adolescent qui erre entre son lit et le frigo, mais dans le fond vous savez que vous valez mieux que ça, et il n’y a pas de raison qu’Anakin Skywalker ait pu fabriqué Z6PO tout seul et pas vous, force ou pas force.

La liste est longue finalement, car l’Arduino permet de réaliser des applications dans des domaines tellement variés que je n’en citerai que quelques uns : éducation, photographie, arts numériques, micro-robotique, astronomique, technologie, domotique, sécurité...

Vous ne construirez pas R2D2 avec un Arduino, mais un robot aspirateur est tout à fait réalisable ! Mais ce serait bien réducteur de résumer les potentialités de l’Arduino à cela.

Une contrainte en revanche est à connaître, qui peut arrêter certain(e)s dans leur élan : l’Arduino est payant, ainsi que beaucoup des composants dont vous aurez besoin. Il ne s’agit pas d’un simple téléchargement sur le Web, mais bien de matériel qui nécessite un léger investissement (environ 50€ pour bien débuter), vous trouverez les détails et des indications de tarifs dans les sections suivantes.

Si après ce préambule, vous êtes toujours partant pour apprendre et créer avec un Arduino, alors entrons dans le vif du sujet ! 

Qu'est-ce que l'Arduino ?

Bonne question, allons voir tout d’abord du côté de Wikipédia. J'ai allégé leur définition et j'ai mis en gras le vocabulaire à connaître en l'expliquant ensuite.

Arduino est un circuit imprimé en matériel libre  sur lequel se trouve un microcontrôleur qui peut être programmé pour analyser et produire des signaux électriques.

Et bien, ça en fait du vocabulaire à connaître ! Reprenons tous ces termes pas à pas pour éclaircir tout ça  :).

  • Circuit imprimé : C’est une sorte de plaque sur laquelle sont soudés plusieurs composants électroniques reliés entre eux par un circuit électrique plus ou moins compliqué. L’Arduino est donc un circuit imprimé. La photo donne une idée de la taille par  rapport à la connexion USB carrée (à gauche sur la photographie, la même que sur votre imprimante par exemple).

La carte Arduino UNO
La carte Arduino UNO
  • Matériel libre : En fait, les plans de la carte elle-même sont accessibles par tout le monde, gratuitement. La notion de libre est importante pour des questions de droits de propriété.

  • Microcontrôleur : C’est le cœur de la carte Arduino. C’est une sorte d'ordinateur  minuscule (mémoire morte, mémoire vive, processeur et entrées/sorties) et c’est lui que nous allons programmer. Sur la photo précédente, c'est le grand truc rectangulaire noir avec plein de pattes. Une fois lancé et alimenté en énergie, il est autonome. La force de l’Arduino est de nous proposer le microcontrôleur, les entrées/sorties, la connectique et l’alimentation sur une seule carte. La carte Arduino est construite autour d'un microcontrôleur Atmel AVR (pas toujours le même en fonction de la date de sortie de la carte) avec une capacité de mémoire de 32000 octets pour l'Arduino UNO.  Soit 32 Ko,  ce qui n'est vraiment pas beaucoup et qui permet pourtant de réaliser un max de projets !

Le microcontrôleur de l'Arduino
Le microcontrôleur de l'Arduino
  • Signaux électriques : L'Arduino fonctionne avec de l'électricité. Un signal électrique est un passage d'électricité dans une partie du circuit. L'Arduino est donc capable de produire ou de capter ces signaux à notre demande grâce à la programmation.

L’Arduino est donc une carte qui se connecte sur l’ordinateur pour être programmée, et qui peut ensuite fonctionner seule si elle est alimentée en énergie. Elle permet de recevoir des informations et d’en transmettre depuis ou vers des matériels électroniques : diodes, potentiomètres, récepteurs, servo-moteurs, moteurs, détecteurs... Nous en ferons une description plus précise au fur et à mesure de ce cours.

En attendant, voici un schéma qui résume les principales interactions en jeu lorsque l’on programme une carte Arduino pour contrôler du matériel. Les flèches vertes indiquent la circulation des signaux électriques, la flèche orange pointillée représente l'envoi du programme vers l'Arduino et les flèches bleues les interactions avec le monde réel ;).

Fonctionnement de l'Arduino
Fonctionnement de l'Arduino

Cela va donc sans dire que pour programmer un Arduino, et bien... il vous faut un Arduino ! C’est d’ailleurs l’objet du point suivant, ça tombe bien non ?

Logiciels et matériel pour débuter

On n’a rien sans rien. L’Arduino n’échappe pas à la règle. Il va donc falloir vous équiper de matériel pour bien débuter, et c’est ce que nous allons voir dans cette section !

Matériel

La programmation sur Arduino, du fait de son interfaçage avec des matériels électroniques, nécessite d’acheter du hard...ware ! (Et non Lukas, ce n'est pas ce que vous imaginiez...) Le hardware est la partie matérielle de l’informatique, souvent faite d’électronique, elle s’oppose au software qui en est la partie logicielle.

Le coût du hardware nécessaire pour programmer sur Arduino n’est pas excessif, mais il n’est pas anodin non plus. D’autant qu’en fonction des projets que vous souhaitez réaliser, le matériel en jeu peut vous demander d’investir plus que prévu.

Ce cours, au moins pour la première partie, ne va pas demander de casser votre grosse tirelire suisse, mais la petite réservée aux plaisirs exceptionnels (Lukas ça suffit !). Comptez environ 50€ pour bien débuter.

La carte Arduino

 Afin de pouvoir commencer à programmer, il vous faut acquérir la carte Arduino. Plusieurs sites de vente de matériel électronique vous la proposent. Ce cours est basé sur l’Arduino UNO R3 que je vous ai montrée dans la section précédente. Vous vous rappelez ? Celle-ci :

L'Arduino R3
L'Arduino R3

 

Je vous conseille de commencer par cette carte. Si la passion vous gagne, vous aurez rapidement envie (et besoin) d’en acquérir une autre, à ce moment votre choix sera peut-être différent. Le coût est d’environ 25€.

La "breadboard"

Ensuite il faut prévoir une plaque d’essai ou breadboard qui est  indispensable pour tester et interfacer ses projets. C’est une plaque en plastique avec des rangées de trous (par cinq) dans lesquels nous planterons nos composants. J’en explique le fonctionnement plus loin.

Image 2 : Plaque d'essai ou Breadboard
Plaque d'essai ou Breadboard

Il existe des breadbords de plusieurs tailles. Ne choisissez pas trop petit, en effet vous aurez rapidement besoin de place. Pensez aussi à prendre une breadboard qui comporte deux grandes lignes de trous de chaque côté (voir la photo ci-dessus), ça facilite grandement les connexions.

Les coûts varient entre 5€ et 15€ la plaque. Une seule suffit pour commencer, elle permet de réaliser tous les montages de ce cours. En revanche, là encore, vous aurez très vite envie d’avoir des planches d’essai de diverses tailles en fonction de vos projets. Et si vraiment vous allez plus loin, vous ferez vos propres circuits imprimés, mais nous y reviendrons bien plus tard dans ce cours.

Les fils de connexion

Il vous faudra aussi des fils pour la connexion des composants entre eux et vers l’Arduino : des jumpers. Ces fils existent sous plusieurs formats : semi-rigides et dénudés à chaque extrémité, ou bien souples avec une connectique au bout (femelle/femelle, mâle/mâle, mâle/femelle). Vous pouvez bidouiller avec des trombones ou autres trucs métalliques fins, mais réellement, le jumper devient vite indispensable. Là encore on en trouve sur le net et pour 10€ vous serez largement garnis. Voici à quoi ressemble un jumper (ici au format souple) :

Image 3 : Exemple de Jumpers mâle/mâle
Exemple de Jumpers mâle/mâle

     

Les composants

Enfin, il vous faudra les composants que vous souhaitez contrôler avec votre carte Arduino. Voici la liste que je qualifierais de prioritaire pour suivre les parties 1 et 2 du cours :

  • LED (pour produire de la lumière) : Au moins 5, vous pouvez panacher les couleurs !

  • Résistances (pour contrôler le courant) : 5 de 220 Ω, 2 de 10 kΩ, 2 de 1 KΩ.

  • Contacteurs ou bouton poussoir (pour interagir avec le montage) : 2 boutons poussoirs qui peuvent se connecter sur une breadboard.

  • Potentiomètres (pour créer des variations) : 1 de 10 KΩ, compatible breadboard.

Vous n’en aurez pas pour plus de 10€. Ces composants se trouvent dans n'importe quelle boutique d'électronique, ou en ligne (MCHobby, Adafruit, RSonline, Conrad...).

Voici maintenant une liste qui permet de suivre la suite du cours (dernière partie) :

  • Servo-moteurs (pour créer des mouvements) : 1 suffira, pilotable sur 5V.

  • Moteur CC (courant continu) : 2, qui fonctionnent avec une tension entre 3V et 6V.

  • Un transistor bipolaire NPN (PN2222) et un MOSFET (IRF540N), Ils servent à piloter les moteurs entre autres.

  • Une diode Schottky (1N4001), elle autorise le passage du courant dans un seul sens.

  • Une puce L293D, pour piloter les moteur CC.

  • etc.

Les tarifs peuvent varier (en particulier sur les moteurs et les servo-moteurs). Pour débuter, prenez le plus simple et le moins onéreux. Là encore, vous les trouverez en boutique ou sur les sites cités plus haut. Vous pouvez aussi faire de la récupération ;).

Donc si nous résumons, ça nous fait un total de 55€ à la louche, c’est l’investissement minimum. Je vous conseille de regarder certaines offres qui proposent un kit du débutant ou starter kit aux alentours de 50€ avec le matériel cité au dessus et quelques composants supplémentaires.

Exemple de starter kit
Exemple de starter kit

Enfin, si vous avez la chance d’avoir un magasin d’électronique proche de chez vous, allez y faire un tour, les prix sont légèrement plus élevés mais il n’y a pas de frais d’envoi.

Pour ceux qui sont du genre méticuleux et bien ordonnés, des petites boi-boîtes pour ranger tout ça ne leur paraîtront pas superflues (pour vous Lukas, vous rangerez tout ça dans votre sac à dos entre les sandwichs du mois dernier, vos cours et vos livres illustrés sur le Hardware...)

Bon, le hard... c’est fait, le soft maintenant.

 

Logiciels

Alors la bonne nouvelle c’est que pour le logiciel, il n’y a rien à payer ! (je considère que vous avez déjà un ordinateur bien sûr). Il suffit de télécharger le logiciel sur le site officiel de l’Arduino.

Rendez-vous dans l’onglet “Download”, puis en fonction de votre OS (Mac, Windows ou Linux) sélectionnez le bon logiciel et laissez l’installation se faire. Sélectionnez tout de même un emplacement simple et logique pour l’installation. En effet, nous aurons à y revenir par la suite pour y déposer des bibliothèques de codes. 

Si tout s’est bien déroulé, vous aurez accès à un programme avec un logo vert et un signe infini contenant un plus et un moins. C’est le logo Arduino que l’on retrouve sur la carte. Démarrez le programme et vous obtenez une fenêtre au bords turquoise dans laquelle vous pourrez saisir du texte.

Fenêtre d'accueil du logiciel Arduino
Fenêtre d'accueil du logiciel Arduino 

La dernière version du logiciel vous propose une fenêtre déjà remplie du code de base de l'Arduino, nous en parlerons dans le chapitre suivant.

Vous êtes maintenant prêt(e)s pour la suite.

Encore une dernière petite section avant de cheminer dans le  monde sibyllin de la programmation de la carte Arduino (Lukas, vous irez chercher sibyllin dans le dictionnaire ça vous occupera...)

Organisation du cours

Vous vous apercevrez rapidement que la communauté libre qui gravite autour de l’Arduino est riche et dynamique. On trouve de toutes parts des forums, des sites, des blogs qui regorgent d’exemples, d’idées, d’aides et de conseils. Ce cours n’est pas là pour balayer l’existant, loin de là.

Le but est de vous faire découvrir progressivement la programmation sur Arduino et les connaissances électroniques qui vont avec. Je pars du principe que chacun est libre d’y puiser ce qui lui convient, mais si vous êtes complètement novices, vous y trouverez un moyen efficace et régulier pour apprendre, comprendre et progresser à un rythme qui me semble suffisant du fait de l’ensemble des connaissances à acquérir.

Il est évident qu’un développeur de niveau moyen va trouver la programmation facile et s’intéressera plus à la partie électronique, et à l’inverse pour un fan d’électronique. Mais l’un comme l’autre pourra progresser et s’ouvrir à d’autres domaines, comme la mécanique par exemple lorsqu’il devra faire avancer son robot.

Chaque chapitre débute par ses objectifs, cela permet ainsi à chacun de retrouver rapidement les notions abordées. J’ai cherché ensuite, dans la mesure du possible, à toujours proposer une activité pratique pour faire suivre la théorie.

Vous trouverez également plusieurs activités pratiques pour vous approprier la théorie. Et oui, la programmation sur Arduino ne déroge pas à la règle du : "essaie par toi-même, transforme et modifie, pour mieux t’emparer du savoir"(non Lukas, ce n’est pas une citation tirée de Star Wars, c’est de moi). En fait il n’y a aucun risque, sinon celui de mieux comprendre, à modifier un programme proposé. Vous verrez d’ailleurs que le logiciel de l’Arduino en propose des tous prêts qui sont riches d’enseignements et qui vous serviront sûrement de base pour la suite de vos projets.

L’important est de comprendre ce que l’on fait et pourquoi on le fait.

Bon, je sens que vos doigts fourmillent d’impatience et que votre intellect en soif d’apprentissage se retient par la seule force de votre savoir-vivre de me crier : « mais il va passer à l’action oui ou non ? ! ».

Je comprends, alors attaquons !

Exemple de certificat de réussite
Exemple de certificat de réussite