Formations à l'informatique et à l'électronique

Auteur : SD
Créé le : 21-10-2013

Premiers pas avec Arduino UNO

Sommaire

Présentation

Photo Aduino UNO avec 2 shields

Au niveau logiciel, l'environnement de programmation Arduino présente l'avantage d'être open source (donc gratuit) et multiplateforme (Windows, Linux et Mac OS X). Il est utilisé par une large communauté et donc de nombreux exemples sont disponibles.

Au niveau matériel, il existe différentes "cartes mères" (nous utiliserons l'Arduino UNO) sur lesquelles vont venir se connecter des cartes d'extensions appelées shields. La photo ci-contre montre une carte Arduino UNO avec 2 shield dessus. Il existe une très grande variété de shield (WiFi, Ethernet, Commandes de moteurs, GPS, GSM, écrans, ...)

La "carte mère" est composée de deux parties principales : le microcontrôleur et le module de communication USB qui permet de programmer le microcontrôleur depuis un PC (pas besoin de programmateur). Le port USB permet également d'alimenter la carte (à condition que la consommation ne dépasse pas ce que peut fournir un port USB). Un connecteur d'alimentation supplémentaire est prévu.

Installation de l'environnement sous Windows

L'installation de l'environnement, présentée ci-dessous, se fait en deux étapes :

Installation du logiciel

Capture d'écran installation EDI Arduino

Le logiciel se télécharge sur le site officiel de l'Arduino.

Il est présenté en deux versions :

  • La version avec un assistant d'installation (Windows Installer)
  • La version "Portable" (Windows (ZIP file))

Ce tutoriel a été réalisé avec la version portable 1.0.5 de l'IDE (Integrated Development Environment)

Pour installer la version portable, il suffit de "dézipper" l'archive à un endroit quelconque (disque dur, clé USB,...)

Installation des drivers USB

Capture d'écran échec installation pilote Arduino UNO

Pour installer les drivers USB, connecter la carte Arduino UNO à votre ordinateur. Windows va tenter d'installer (mais sans succès) les drivers via Windows Update.

Il faut donc faire une installation manuelle des drivers :

Capture d'écran installation pilote Arduino UNO

Faire un clic droit sur "Ordinateur" et cliquer sur "Propriétés".

Capture d'écran installation pilote Arduino UNO

Dans la fenêtre des propriétés système, cliquer en haut à gauche sur "Gestionnaire de périphériques".

Capture d'écran installation pilote Arduino UNO

Dans le gestionnaire de périphériques, faire un clic droit sur "Périphérique inconnu" et cliquer sur "Mettre à jour le pilote...".

Capture d'écran installation pilote Arduino UNO

Dans la fenêtre qui s'ouvre, cliquer sur "Rechercher un pilote sur mon ordinateur".

Capture d'écran installation pilote Arduino UNO

Dans la fenêtre qui s'ouvre, cliquer sur "Parcourir...".

Capture d'écran installation pilote Arduino UNO

Sélectionner le dossier "Drivers" situé dans le dossier d'installation de l'EDI Arduino.

Capture d'écran installation pilote Arduino UNO

Valider l'installation du driver.

Capture d'écran installation pilote Arduino UNO

Capture d'écran installation pilote Arduino UNO

L'installation est terminée, noter le numéro du port COM correspondant à votre carte Arduino (COM3 sur les captures d'écran).

Vous pouvez maintenant directement passer à la configuration de l'EDI

Installation de l'environnement sous Ubuntu

Capture d'écran installation pilote Arduino UNO

Si vous utilisez Ubuntu, voici comment installer l'environnement Arduino sur votre distribution préférée.

Capture d'écran installation pilote Arduino UNO

Mettre à jour votre système avec les commandes :

sudo apt-get update
sudo apt-get upgrade

Capture d'écran installation pilote Arduino UNO

Installer les paquets "arduino" et "arduino-core" :

sudo apt-get install arduino arduino-core

Capture d'écran installation pilote Arduino UNO

Pour lancer l'EDI, taper "arduino"

Le système doit ajouter votre nom d'utilisateur dans le groupe autorisé à utiliser les ports USB ou série. Cliquer sur "Add". Vous devez vous déconnecter et vous reconnecter pour que les modifications prennent effet.

Capture d'écran installation pilote Arduino UNO

Pour lancer l'EDI, taper "arduino &"

Le "&" à la fin de la commande permet d'ouvrir l'EDI dans un nouveau processus et donc de "rendre la main" dans le terminal, de plus si on ferme le ternimal, l'EDI ne sera pas fermé.

Configuration de l'EDI

Capture d'écran configuration port COM EDI Arduino

Ouvrir l'EDI et vérifier la configuration du port COM pour la communication avec la carte Arduino.

EDI : Environnement de Développement Intégré (IDE en Anglais), c'est un logiciel permettant d'éditer un programme et qui intègre en plus des fonctions permettant de compiler ce programme, la coloration syntaxique, l'accès à la référence du langage, le téléversement du programme compilé dans l'Arduino,...

Capture d'écran configuration port COM EDI Arduino

Si nécessaire, modifier le port COM en allant dans le menu "Outils" => "Port série".

Il faut mettre le même port COM que celui relevé lors de l'installation du driver (voir partie "Installation du driver USB").

Capture d'écran configuration type carte EDI Arduino

Si vous utilisez une autre carte que l'Arduino UNO, modifier le type de carte en allant dans le menu "Outils" => "Type de carte".

Voila ! Vous êtes prêt pour faire votre premier programme !

Premier programme

Capture d'écran EDI Arduino

Pour commencer, nous allons ouvrir un des nombreux exemples fournis avec l'IDE.

Ouvrir le fichier exemple "blink" :

Menu "Fichier" => "Exemples" => "01.Basics" => "Blink"

Capture d'écran EDI Arduino

Vérifier que la carte Arduino est bien connectée à l'ordinateur et cliquer sur l'icône en forme de flèche comme indiqué ci-contre afin de compiler et charger le programme dans la mémoire du microcontrôleur.

La DEL "L" sur la carte Arduino doit clignoter lentement 1s/1s.

Dans les dernières lignes du programme, remplacer les 2 lignes "delay(1000);" par "delay(300);". Recharger le programme dans la carte. La DEL doit clignoter plus rapidement.

"delay()" est une des fonctions du langage. Toutes les fonctions sont décrites dans la référence du langage. Elle est accessible dans le menu Aide => Référence.

Rechercher dans la référence du langage le rôle des fonctions delay(), pinMode() et digitalWrite() utilisées dans ce programme de démonstration.

Les valeurs entre parenthèse séparées par des virgules après le nom de la fonction sont des paramètres. Nous pouvons donc voir que la fonction delay() possède un seul paramètre alors que la fonction digitalWrite en possède deux.

Quelle est l'unité du paramètre de la fonction delay() ?

Dans le programme, il y a de nombreux commentaires. Ils n'ont aucune influence sur l'exécution du programme. Ils servent à rendre le programme plus compréhensible. Ils apparaissent en gris sur la capture d'écran ci-dessous.

Ils débutent :

  • soit par la séquence // et dans ce cas tout ce qui suit est un commentaire jusqu'à la fin de la ligne
  • soit par la séquence /* et dans ce cas tout ce qui suit est du commentaire jusqu'à rencontrer */ dans ce cas le commentaire peut s'étendre sur plusieurs lignes.

Structure d'un programme Arduino

Algorigramme programme Arduino

Si l'on met en parallèle le programme avec son algorigramme, on peut constater que le programme est composé de 3 parties distinctes. Un programme Arduino aura toujours cette structure.

En cherchant dans la référence du langage, indiquer entre quelles valeurs peut varier une variable de type int.

Chercher et citer 2 autres types de variable en donnant un exemple de déclaration et d'initialisation.

Il est possible de faire un algorigramme plus détaillé de la fonction loop() comme le montre la figure ci-dessous.

Algorigramme de la fonction loop du programme Arduino blink

Pourquoi la patte N°13 ?

Schéma de la carte Arduino UNO

Sur le plan de la carte Arduino UNO on peut voir sur la droite que le repère "13" correspond au repère "SCK". On retrouve ce repère "SCK" en haut du plan qui commande la DEL L par l'intermédiaire du montage suiveur réalisé par U5B.

Lien vers le plan complet de la carte Arduino UNO.

Modification du programme

  1. Modifier la séquence pour que la DEL "envoie" le message SEN en alphabet Morse.
  2. Enregistrer votre programme sous le nom "SEN_Morse_1".
  3. Créer une fonction qui "envoie" le message SEN en alphabet Morse. Cette fonction sera appelée dans "loop()".

Que faut-il retenir ?

Références

Site officiel : http://arduino.cc/fr/
Alphabet Morse : http://fr.wikipedia.org/wiki/Morse_%28alphabet%29

Articles connexes

Arduino - Ports, CAN et Console
Arduino - Serveur Web
Arduino - Carte mémoire
Les structures algorithmiques de base

Vous avez apprécié cet article ? Partagez le !

Article connexe : Arduino - Ports, CAN et Console