Vous êtes sur la page 1sur 5

[Tutorial] Choisir et acheter son Arduino pour débuter

Publié: 20 mars 2014 dans Tutoriaux


Tags:Arduino, Tutorial
Bonjour à tous,

C’est une question très courante quand veut débuter en Arduino (et donc en générale quand on veut
aborder le monde des microcontrôleurs) : quelle carte choir ? UNO, MEGA, DUE, Nano ??!

Comprendre
Très souvent le débutant fait les mêmes erreurs qui le guide vers un mauvais choix de première carte
:

– il a déjà un projet en tête : et oui mais l’Arduino, même si ça se veut être la plateforme de
développement la plus simple à mon sens, ça reste de la programmation et de l’électronique. Et
avant de vouloir courir il faut savoir marcher ! Très souvent sur le forum Arduino on croise des choses
du genre « je voudrais faire un quadricoptère, mais je comprends pas ce que c’est que le PWM ». Bah
oui mais ça peut peut-être sembler barbant mais commencer à jouer avec des led, des boutons, des
photorésistance … Permet d’apprendre les bases indispensables et ça prend pas forcement plus de
temps au final parce que ça va peut-être prendre du temps au départ mais qui sera vite rattrapé. Ne
pensez pas que vous serez plus malin que les autres.
– « Je vais prendre celle qui en a le plus dans le slip au cas où » : perso, j’ai une MEGA, et elle ne m’a
jamais servi … A moins d’avoir des projets bien particuliers, on peut faire énormément de choses
avec une Nano ou une Micro, il existe des tas d’extensions possibles pour parer à toutes les
situations. On croit bien souvent que le système est lent : croyez moi, le jour où vous amènerez votre
UNO à ces limites, c’est soit que vous aurez atteint un certain niveau, soit que vous avez un code

foireux

Les fonctions de l’Arduino


Je pense qu’il est bien important de comprendre les fonctions de l’Arduino pour comprendre ce que
l’on achète.

Tout d’abord il faut comprendre ce qu’est exactement Arduino : ce n’est pas juste un ensemble de
carte, c’est un environnement : des cartes ET une interface de programmation. Ces cartes (puisque
que c’est le sujet qui nous interesse ici), il y en a plusieurs mais le principe est toujours le même : on
trouve un microcontrôleur (= le cerveau) et une série de composants nécessaires à son
fonctionnement, le tout monté sur un circuit imprimé qui facilite le développement : bornier,
possibilité d’empiler des « shields » pour ajouter des fonctions, entrées pour différentes
alimentations … Donc une carte, c’est un ensemble de choses qui vont lui donner ces
caractéristiques finales, mais le principal dans l’histoire reste évidemment le microcontrôleur : c’est
lui qu’on va programmer et qui définit le plus les possibilités données à la carte.

Voyons maintenant ce que peut faire un microcontrôleur …

Les entrées/sorties digitales


C’est LA fonction première d’un microcontrôleur : avec une simple ligne de code, on peut passer une
sortie du µC (microcontrôleur) à 5V ou à zéro volt. Quelle intérêt ? Alimenter une led au travers d’une
résistance, faire sonner un buzzer, commander une électrovanne un moteur … En gros c’est une
sorte « d’interrupteur » : lumière allumée ou éteinte.

Maintenant on peut faire l’inverse : lire une entrée de l’Atmega. Est-elle l’état haut (=5V) ? Ou à l’état
bas (=0V) ? Quelle utilité ? Détecter l’appuie sur un bouton, un son, un signal d’un détecteur
infrarouge … Bref tout ce qui prend fourni des signaux tout ou rien (= « ma lumière est allumée ou
bien éteinte ? »)

Les entrées analogiques


Une fonction également très importante d’un µC (s’il en est capable, ce qui est le cas de toutes les
arduinos) est la mesure analogique : c’est très simple à expliquer, c’est comme si vous aviez un
voltmètre. Une ligne de code et hop vous connaissez la tension sur tel ou tel pin analogique. Quelle
utilité ? Lire tout un tas de capteurs : mesurer la luminosité, la température, l’humidité, la tension
d’une batterie …

Les sortie PWM


La on va pouvoir générer une tension « pseudo variable » : en gros il s’agit de faire passer un pin de
0V à 5V puis de 5V à 0V très rapidement(tellement que c’est imperceptible pour l’être humain), et ce,
avec une répartition du temps passé à 5V et à 0V variable mais bien évidemment commandée dans le
code :

C’est comme un variateur de lumière : la luminosité varie simplement pour nous, mais si on dilatait le
temps, on verrait des variations dans la luminosité car en réalité le courant circule un temps puis
s’arrête. L’oeil humain n’étant pas assez rapide pour distinguer ces variations, l’illusion fonctionne.
Le PWM c’est un peut pareil : un voltmètre lira effectivement une tension variable car la plupart
sont équipés de filtre en entrée qui lissent les créneaux de tension. Mais il faut garder à l’esprit que
ce n’est pas une réelle tension fixe : si le système sur lequelle on le branche est assez rapide, il ne
verra que du 0V ou du 5V. Par exemple si je branche une sortie PWM sur une entrée analogique de
l’Arduino, et bien vous aurez un coup une mesure à 0V et un autre à 5V.

Les ports de communication


Il existe trois principaux mode de communication : la liaison série, le SPI et l’i2c. Elles servent
principalement à communiquer avec l’ordi (ça c’est pour la liaison série) et à communiquer avec
d’autres composants (SPI et i2c). En fait derrière ces noms un peu barbares c’est toujours le même
but : échanger des données (et qui sont toujours des 0 et des 1), il n’y a que la manière qui change. Je
ne vais pas trop développer ce sujet, mais ce qu’il faut retenir :

– SPI ou i2c : ces deux modes permettent de communiquer avec presque autant de « clients » que
vous voulez avec un seul port. Quelque part, deux i2c c’est inutiles, c’est comme avoir deux
bouteilles de whisky qui ne se vide jamais.

– Série : deux points à retenir. Le premier, c’est que la plupart des Arduino n’ont qu’un seul port série
et qu’il sert à la liaison avec le PC. A ce moment la, un composant (un Atmega32u4 pour les carte
récentes, un FT-232 sur les anciennes) fait l’intermédiaire pour que le branchement se fasse en USB
(mais sur le PC la carte apparaît bien comme un port série). C’est par ce biais que s’effectue la
programmation, et éventuellement le dialogue avec la carte. On peut alors lui transmettre des
commandes et elle peut nous envoyer des infos. On peut cependant exploiter ce port série pour
communiquer avec d’autres clients, mais en liaison série il n’y a que deux dialogueurs (enfin en
réalité on peut faire des dialogues à plusieurs, mais c’est assez complexe). Donc utiliser le port série
pour communiquer avec une autre carte par exemple, c’est perdre la liaison avec le PC. Le second
point c’est qu’il s’agit de série TTL à différencier du série RS-232 qu’on trouve sur les anciens PC
maintenant (le fameux port COM). C’est presque la même chose mais les tensions n’ont rien à voir
(0-5V pour le TTL et -12/+12V pour le RS-232) donc brancher du RS-232 sur une Arduino ça va la griller,
et les polarités ne sont pas les mêmes (un 0 en TTL est un 1 en RS-232 et vice-versa). C’est pas
forcement hyper important comme remarque mais c’est un point qui n’est pas forcement clair et le
terme « série » est en générale utilisé à tord et à travers sans distinction.

A noter : dans toutes les fonctions que je viens d’évoquer, chacune n’est pas forcement disponible
sur tous les pins du µC. Si je prends la UNO par exemple, j’ai 6 pins analogiques (qui sont aussi
digitaux) : sur les autres pins de la carte je ne pourrais pas faire de mesures analogiques.
« Ouais mais tu nous emmerdes on sait toujours pas quoi choisir ! »
Tout ce blabla pour qu’on arrive à mon conseil : prenez une UNO (et pas une UNO cms). Pourquoi :

– elle a toutes les fonctions nécessaires et largement assez dans le slip pour faire tous ce que vous
voulez.

– vous pouvez changer l’atmega : si un truc doit griller (et bien évidemment un débutant est le
meilleur candidat à ce que ça arrive) c’est l’Atmega. Si vous prenez une Léonardo et que vous
flinguez l’Atmega32u4, vous avez intérêt à avoir un pote bien équippé pour qu’il vous dessoude ça et
en remonte un neuf … Donc si ça vous arrive toute la carte est bonne pour la poubelle. Alors qu’une
UNO classique l’Atmega328P est monté sur un support et qu’ont peut l’enlever à la main. Donc en
cas de mauvaise manip, il n’y a que ça à changer.

– ça vous servira toujours : il vaut mieux racheter plus tard une MEGA ou autre, une UNO on s’en sert
toujours pour faire des test, programmer des Atmega pour les monter sur ses propres montages en
standalone (comprenez qu’on peut juste prendre l’Atmega et le monter sur ses propres circuit
intégré, ce que j’ai fait ici par exemple mais avec un Atmega328 en version cms = monté en surface)
Fortement déconseillée : la DUE. Ce n’est pas la même architecture au niveau du µC (c’est un ARM),
pour faire simple : si sur la programmation ça ressemble à la même chose que sur une Arduino
« normale », derrière ça n’a rien à voir. Donc bon nombre de librairies sont incompatibles, et pas
grand monde (même la team Arduino) ne bosse dessus donc pas grand espoir que ça change. En plus
elle est en 3,3V : envoyer 5V sur une entrée et bye bye le ARM … Même si le 3,3v est voué à se
démocratiser (on voit même apparaître de plus en plus de 1,8V !) ça le rend plus vulnérables aux
erreurs de débutants. En plus elle est chère (+ de 35€) … Si vous tenez à faire du ARM tout en
gardant la simplicité de la programmation Arduino, prenez la Stellaris Lauchpad de Texas instrument
: 9,9$ et compatible avec Energia, un logiciel de programmation basé sur Arduino.

Arduino UNO (Atmega328P au format DIP) => c’est elle qu’il vous faut !
Arduino UNO CMS ==> Pas bbbiiieeennnn

Où acheter ?
Alors je suis un grand acheteur sur ebay et dx.com. J’ai acheté énormément de matériel en
provenance de Chine sur ces deux plateformes, jamais déçu. Alors oui je sais c’est pas cool pour les
petits français. Mais bon regardez sous tous les appareils électroniques chez vous et ça sera marqué
made in China …
Je vous recommande plutôt DX car sur ebay, on trouve un peu plus de choses « exotiques ». Car ce
que vous achèterez si vous commandez en Chine, ce sont bien évidemment des clones (pas des
copies puisque Arduino est OpenSource, comprenez que rien n’es breveté donc chacun peut
dupliquer des cartes Arduino et les vendre) et les fabricants sont multiples et peuvent essayer
de grappiller sur les composants : un régulateur moins costaud, un convertisseur USB-Serie moins
performant … Et sur Ebay, on peut trouver plein de vendeurs différents avec pas forcement un bon
suivi. Sur DX, il y a des commentaires sur tous les articles et ils n’ont pas 10 000 ref différentes pour la
UNO. Ils ont bien plusieurs modèles de UNO, mais elle seront surement toutes fiables car ils ne
s’amuseraient pas à en mettre des mauvaises car la note du produit serait fortement entachée.
Après évidemment il faudra se montrer patient (2-3 semaines en moyenne).

Si vous êtes pressé ou que la Chine vous fait peur, bien sûr il y a des bonnes crèmerie en France :
Semageek, Farnell, Snootlab … Et la vous aurait la vrai board officiel. Mais pour au moins 2 fois plus
cher. A vous de voir

Vous aimerez peut-être aussi