Lorsque Massimo Banzi et ses collègues de l’Interaction Design Institute d’Ivrea, en Italie, ont développé
l’Arduino, l’objectif était de permettre aux étudiants de pouvoir disposer d’une plateforme valant le prix
d’une pizza pour réaliser des projets interactifs.
Ainsi, l’Arduino a été conçu dès le départ dans un but pédagogique, pour être bon marché, doté d’une
grande quantité d’entrées et de sorties, compatible Mac, Windows et Linux, programmable avec un
langage très simple et open source. Il n’y a là que des avantages pour le monde scolaire, en particulier
parce que l’Arduino se situe au croisement entre l’informatique, l’électronique et les travaux manuels.
Le système Arduino donne la possibilité d'allier les performances de la programmation a celles de
L’électronique. Plus précisément, pour programmer des systèmes électroniques.
Le système Arduino permet de :
contrôler les appareils domestiques
fabriquer votre propre robot
faire un jeu de lumières
communiquer avec l'ordinateur
télécommander un appareil mobile (modélisme)
etc.
Le système Arduino est compose de deux choses principales : le matériel et le logiciel.
• Le matériel :
Il s'agit d'une carte électronique basée autour d'un microcontrôleur Atmega du fabricant Atmel,
• Le logiciel :
Le logiciel permet de programmer la carte Arduino. Il offre une multitude de fonctionnalités.
Choisir la carte Arduino adaptée à ses besoins
La UNO :
La UNO est le choix de prédilection d’un débutant, peu chère et facile à utiliser c’est celle que l’on
conseille le plus souvent à ceux qui souhaitent se lancer dans l’aventure Arduino.
La Uno dispose de 14 entrées/sorties (I/O en anglais) sur lesquelles elle est capable de fournir jusqu’à
20mA (par pins digitaux) ainsi que 6 I/O analogiques. La différence entre ces 2 types de pins est que les
pins digitaux fonctionnent grâce à des commandes HIGH et LOW équivalent à soit 5V soit 0V ou les pins
analogiques. Autres pins à connaitre, le 5V et le GND (la masse, le 0V) situés au dessus des pins
analogiques qui permettront d’alimenter vos composants.
La UNO se connecte via un câble USB fourni à l’achat et peut être alimentée facilement par une pile 9V
via le connecteur DC 2.5mm grâce à un simple câble d’adaptation.
La Nano :
L’Arduino Nano est une carte plus petite (45mm*18mm), plus légère (5g), moins chère et pourtant elle est
tout aussi puissante qu’une UNO avec ses 14 pins digitaux sur lesquelles elle fournit 40mA maximum (par
pins digitaux), 8 pins analogiques (2 de plus que la UNO) Cette carte se veut vraiment minimaliste, en
plus de son empattement réduit, contrairement à la Uno, elle ne dispose pas du connecteur DC de 2.5mm
…Bref, cette carte sera parfaite si vous travaillez sur des projets où l’espace est restreint ou un projet où
la légèreté du système prime.
La Mega :
La MEGA est une carte composée de bien plus d’entrées/sorties (16 analogiques et 54 digitales pouvant
fournir jusqu’à 20mA ).
La Méga dispose des mêmes connecteurs USB et DC 2.5mm que la UNO, et les shields (extensions
venant s’ajouter au-dessus de votre carte) compatibles avec la UNO sont compatibles avec la méga.
Schéma d'une platine ArduinoUno
Le microcontrôleur :
C’est le cerveau de notre carte. Il va recevoir le programme que nous allons créer et va le stocker dans sa
mémoire avant de l’exécuter. Grâce à ce programme, il va savoir faire des choses, qui peuvent être : faire
clignoter une LED, afficher des caractères sur un écran, envoyer des données à un ordinateur, mettre en
route ou arrêter un moteur…
Il existe deux modèles d’ArduinoUno: l’un avec un microcontrôleur de grande taille, et un autre avec un
microcontrôleur dit SMD (SMD: Surface MountedDevice)
D’un point de vue utilisation, il n’y a pas de différence entre les deux types de microcontrôleurs.
L’alimentation :
Pour fonctionner, une carte Arduino a besoin d'une alimentation. Le microcontrôleur fonctionnant sous 5V,
la carte peut être alimentée en 5V par le port USB ou bien par une alimentation externe qui est comprise
entre 7V et 12V. Un régulateur se charge ensuite de réduire la tension à 5V pour le bon fonctionnement
de la carte.
La connectique :
part une LED sur la broche 13, la carte Arduino ne possède pas de composants (résistances, diodes,
moteurs...) qui peuvent être utilisés pour un programme. Il est nécessaire de les rajouter. Mais pour cela,
il faut les connecter à la carte. C'est là qu’interviennent-les connecteurs, aussi appelés broches (pins, en
anglais).
Sur les Arduino et sur beaucoup de cartes compatibles Arduino, les broches se trouvent au même endroit.
Cela permet de fixer des cartes d’extension, appelée shields en les empilant.
Exploration des broches Arduino
0 à 13 Entrées/sorties numériques
A0 à A5 Entrées/sorties analogiques
GND Terre ou masse (0V)
5V Alimentation +5V
3.3V Alimentation +3.3V
Vin Alimentation non stabilisée (= le même voltage que celui à l’entrée de la carte)
Les connexions entre les composants sont réalisées par des jumpers, sortes de petits câbles.
La platine d’expérimentation :
Une platine d’expérimentation (appelée breadboard) permet de réaliser des prototypes de montages
électroniques sans soudure et donc de pouvoir réutiliser les composants.
Tous les connecteurs dans une rangée de 5 sont reliés entre eux. Donc si on branche deux éléments
dans un groupe de cinq connecteurs, ils seront reliés entre eux. Il en est de même des alignements de
connecteurs rouges (pour l’alimentation) et bleus (pour la terre). Ainsi, les liens peuvent être schématisés
ainsi:
Les composants doivent ainsi être places à cheval sur des connecteurs qui n'ont pas de liens électriques
entre eux, comme sur le schéma ci-contre.
Cas simple, la base 10
La base 10, vous la connaissez bien, c’est celle que l’on utilise tous les jours pour
compter. Elle
regroupe un ensemble de 10 chiffres : 0,1,2,3,4,5,6,7,8,9. Avec ces chiffres, on peut
créer une
infinité de nombres (ex : 42, 89, 12872, 14.56, 9.3, etc...). Cependant, voyons cela
d’un autre
oeil...
— L’unité sera représenté par un chiffre multiplié par 10 à la puissance 0.
— La dizaine sera représenté par un chiffre multiplié par 10 à la puissance 1.
— La centaine sera représenté par un chiffre multiplié par 10 à la puissance 2.
...
— Le million sera représenté par un chiffre multiplié par 10 à la puissance 6.
— etc...
En généralisant, on peut donc dire qu’un nombre (composé de chiffres) est la somme
des
chiffres multipliés par 10 à une certaine puissance. Par exemple, si on veut écrire
1024, on
peut l’écrire : 1 _ 1000 + 0 _ 100 + 2 _ 10 + 4 _ 1 = 1024 ce qui est équivalent à
écrire :
1 _ 103 + 0 _ 102 + 2 _ 101 + 4 _ 100 = 1024. Eh bien c’est ça, compter en base 10 !
Vous allez
mieux comprendre avec la partie suivante.
Cas informatique, la base 2 et la base 16
En informatique, on utilise beaucoup les bases 2 et 16. Elles sont composées des
chiffres
suivants :
— pour la base 2 : les chiffres 0 et 1.
— pour la base 16 : on retrouve les chiffres de la base 10, plus quelques lettres :
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
On appelle la base 2, la base binaire. Elle représente des états logiques 0 ou 1.
Dans un signal
numérique, ces états correspondent à des niveaux de tension. En électronique
numérique, très
souvent il s’agira d’une tension de 0V pour un état logique 0 ; d’une tension de 5V
pour un état
logique 1. On parle aussi de niveau HAUT ou BAS (in english : HIGH or LOW).
en base 2, plutôt que d’utiliser 10, on utilise 2. Par exemple, pour obtenir
11 en base 2 on écrira : 1011... En effet, cela équivaut à faire : 1 _ 23 + 0 _ 22 + 1 _ 21
+ 1 _ 20
soit : 1 _ 8 + 0 _ 4 + 1 _ 2 + 1 _ 1
i
Un chiffre en base 2 s’appelle un bit. Un regroupement de 8 bits s’appelle un octet.
Ce
vocabulaire est très important donc retenez-le !
Conversions Décimale – Binaire
Pour convertir un nombre décimal (en base 10) vers un nombre binaire (en base 2,
vous suivez
c’est bien !), il suffit de savoir diviser par ... 2 ! Ça ira ? Prenez votre nombre, puis
divisez le
par 2. Divisez ensuite le quotient obtenu par 2... puis ainsi de suite jusqu’à avoir un
quotient
nul. Il vous suffit alors de lire les restes de bas en haut pour obtenir votre nombre
binaire... Par
exemple le nombre 42 s’écrira 101010 en binaire. Voilà un schéma de
démonstration de cette
méthode :
Le logiciel
Installation
Pour télécharger le logiciel, il faut se rendre sur la page de téléchargement du site
arduino.cc
Software | Arduino
Une fois que le téléchargement est terminé, vous n’avez plus qu’à décompresser le
fichier avec
un utilitaire de décompression (7-zip, WinRar, ...).
Correspondance
Le cadre numéro 1 : ce sont les options de configuration du logiciel
Le cadre numéro 2 : il contient les boutons qui vont nous servir lorsque l’on va
programmer nos cartes
Bouton 1 : Ce bouton permet de vérifier le programme, il actionne un module
qui cherche
les erreurs dans votre programme
Bouton 2 : Charge (téléverse) le programme dans la carte Arduino.
Bouton 3 : Crée un nouveau fichier.
Bouton 4 : Ouvre un fichier.
Bouton 5 : Enregistre le fichier.
Bouton 6 : Ouvre le moniteur série (on verra plus tard ce que c’est ).
Le cadre numéro 3 : ce bloc va contenir le programme que nous allons créer
Le cadre numéro 4 : celui-ci est important, car il va nous aider à corriger les
fautes dans
notre programme. C’est le débogueur.
Découverte de l’Arduino :
Vérifiez que c’est bien le nom ”Arduino Uno” qui est coché. Si ce n’est pas le cas,
cochez-le.
Choisissez le port de connexion de la carte. Allez dans le menu Tools, puis
Serial port.
Là, vous choisissez le port COMX, X étant le numéro du port qui est affiché. Ne
choisissez pas
COM1 car il n’est quasiment jamais connecté à la carte. Dans mon cas, il s’agit de
COM18 :
Pour trouver le port de connexion de la carte, vous pouvez aller dans le
gestionnaire de
périphériques qui se trouve dans le panneau de configuration. Regardez à la
ligne Ports
(COM et LPT) et là, vous devriez avoir Arduino Uno (COMX). Aller, une image
pour le
plaisir :
Compilation et Téléversement.:
”Compilation du croquis en cours...” : pour vous informer que le
programme est en train d’être compilé en langage machine avant d’être
envoyé.
”Téléversement...”, cela signifie que le logiciel est en train d’envoyer le programme
dans la carte. Une fois terminé, il affiche un autre message : ”Téléversement
terminé” signale que le programme a bien été chargé dans la carte.
Le programme est envoyé dans la carte lorsque vous cliquez sur le bouton Le
logiciel
Arduino va alors vérifier si le programme ne contient pas d’erreur et ensuite le
compiler (le
Traduire) pour l’envoyer dans la carte
Le programme rentre donc dans la carte en passant en premier par le connecteur
USB de
celle-ci. Il va alors subir une petite transformation qui permet d’adapter le signal
électrique
correspondant au programme (oui car le programme transite dans le câble USB sous
forme de
signal électrique) vers un signal plus approprié pour le microcontrôleur. On passe
ainsi d’un
signal codé pour la norme USB à un signal codé pour une simple voie série, Puis ce
”nouveau” signal est alors intercepté par le microcontrôleur.
La syntaxe du langage Arduino :
La syntaxe d’un langage de programmation est l’ensemble des règles d’écriture liées
à ce langage. Le langage Arduino est très proche du C et du C++.
Le code minimal
Avec Arduino, nous devons utiliser un code minimal lorsque l’on crée un programme.
Ce code
permet de diviser le programme que nous allons créer en deux grosses parties.
Dans ce code se trouvent deux fonctions. Les fonctions sont en fait des portions de
code.
Cette fonction setup() est appelée une seule fois lorsque le programme commence.
C’est
pourquoi c’est dans cette fonction que l’on va écrire le code qui n’a besoin d’être
exécuté une
seule fois. On appelle cette fonction : fonction d’initialisation. On y retrouvera la
mise en
place des différentes sorties et quelques autres réglages. C’est un peu le check-up
de démarrage.
Imaginez un pilote d’avion dans sa cabine qui fait l’inventaire : - patte 2 en sortie,
état haut ? -
OK - timer 3 à 15 millisecondes ? - OK ...
Une fois que l’on a initialisé le programme il faut ensuite créer son ”coeur”,
autrement dit le
programme en lui même.