ISN 2012/2013. Initiation à l'arduino : niveau 1. Stéphane Fossé / Marc Gyr. 13 novembre 2012

Documents pareils
ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

Bien commencer avec un LaunchPad MSP430G et un Breadboard

Durée estimée :1 journée Date de la réalisation : Description Fournisseur Référence Nombre PU HT LM35CZ, LM35AZ LM35DZ

Gérer ses fichiers et ses dossiers avec l'explorateur Windows. Février 2013

ENREGISTREUR DE TEMPERATURE

Prototypage électronique

Une mise à jour du logiciel du lecteur FreeStyle InsuLinx est nécessaire. Veuillez lire l'ensemble de ce document avant de commencer.

Initiation à la programmation en Python

ScoopFone. Prise en main rapide

Nb. De pages : 24 MANGO. Manuel d'utilisation. Version 1.2. décembre 2010

Conférence sur les microcontroleurs.

Guide d'utilisateur. Câble adaptateur USB2.0 vers IDE et SATA. Modèle : DA-70202

Activité initiation Arduino

GUIDE D'UTILISATION: Comment installer la Renault Media Nav Toolbox? GUIDE D'UTILISATION: Comment créer une empreinte digitale de votre appareil sur

Interface PC Vivago Ultra. Pro. Guide d'utilisation

Visio Kit. Mode d'emploi

GUIDE D INSTALLATION DES DRIVERS

Classer et partager ses photographies numériques

Messages d'erreurs. Redémarrez votre PC en cliquant sur Démarrer, en sélectionnant ensuite Arrêter puis en cochant Redémarrer

Table des matières. 1. Description du matériel : Données techniques : Présentation de la serrure :... 4

Suivant les windows, le signal pour indiquer l imprimante par défaut est un petit rond noir ou vers avec un V à l intérieur.

SOMMAIRE. Chapitre 1 - principe 3 Téléphonique 4 PC/Configuration logicielle 4 PC/Configuration matérielle: 4 Pabx 4

SYSTEMES MODULAIRES INDUSTRIELS DE TELETRANSMISSION TELEGESTION

Ce guide de démarrage rapide vous aide à installer et à utiliser les scanneurs IRISCard Anywhere 5 et IRISCard Corporate 5.

Mentions légales (non traduites) Introduction Légendes Schémas de raccordement Configuration de la S16...

Une carte pour vos projets

GAZLOG. Logiciel de téléchargement et d'exploitation de données. Notice d utilisation. Tél. : Fax :

Comment configurer X-Lite 4 pour se connecter au serveur Voip de Kavkom?

Configuration d'un GSM pour une transmission de données via une centrale de mesure de Campbell Scientific

Virtualisation de Windows dans Ubuntu Linux

NOTICE GPSTA1 I. DESCRIPTION II. ACCESSOIRES. J. R International - Eclats Antivols. 2014

Connecter un PC sur une TV.

COMMUTEL PRO VM3 INTERFACE GSM VOIX POUR EMULATION DE LIGNE RTC ET TRANSMETTEUR DE SMS D ALERTES ET TECHNIQUES.

WINDOWS NT 2000: Travaux Pratiques. -Boîtier partage d'imprimante- Michel Cabaré Janvier 2002 ver 1.0

Certificat Informatique et internet Niveau 1 TD D1. Domaine 1 : Travailler dans un environnement numérique évolutif. 1. Généralités : Filière

Manuel d installation Lenovo LJ2050N

Contrôler plusieurs ordinateurs avec un clavier et une souris

TRANSFERER UNE PHOTO SUR CLE USB

1 Introduction C+ + Algorithm e. languag. Algorigramm. machine binaire. 1-1 Chaîne de développement. Séance n 4

ALERT NOTICE D UTILISATION DU DRIVER VOCALYS. (Cesa 200 bauds / Contact-ID)

AMICUS 18 (2ème partie) 4) Présentation du logiciel Amicus IDE

WinTask x64 Le Planificateur de tâches sous Windows 7 64 bits, Windows 8/ bits, Windows 2008 R2 et Windows bits

Retrospect 7.7 Addendum au Guide d'utilisation

Bluetooth pour Windows

Elle supporte entièrement la gestion de réseau sans fil sous Windows 98SE/ME/2000/XP.

Scanneur d images Instructions préliminaires

Technique de sécurité

LE MICRO ORDINATEUR. Introduction Architecture Les supports amovibles Les composants Le système d exploitation Les portables

Table des matières. F. Saint-Germain / S. Carasco Document réalisé avec OpenOffice.org Page 1/13

Utiliser Freemind à l'école

Google Drive, le cloud de Google

Leica icon Series. Guide d'installation et d'activation de licence. Version 1.0 Français

Boîtier pour disque dur externe 3,5" (8,89cm) USB 2.0

Notice succincte pour ordinateurs Windows - IPC-10 AC

Projet : PcAnywhere et Le contrôle à distance.

TrueCrypt : installation et paramétrage

SAGEM Wi-Fi 11g USB ADAPTER Guide de mise en route rapide

COMMUNICATION ENTRE DEUX ORDINATEURS PAR LASER MODULE EN CODE MORSE OU BINAIRE.

Les mains dans la bête

D1- L'environnement de travail

SAGEM Wi-Fi 11g USB ADAPTER Guide de mise en route rapide pour Mac OS X

ALERT NOTICE D UTILISATION DU DRIVER PC-TEXTE

Mode d emploi pour lire des livres numériques

DATALOGGERS SEFRAM LOG1601 et LOG1620

MT-703. Surveillance de niveau par sonde résistive TELEMETRIE PAR MODULE GSM CONFIGURATION ET UTILISATION

Comment retrouver le fichier "bingo" sauvegardé dans l'ordinateur? Socle commun

Mettre Linux sur une clé USB bootable et virtualisable

Guide de l'utilisateur. Linksys AE1000 Adaptateur USB sans fil - N hautes performances

MODE OPERATOIRE OPENOFFICE BASE

Guide d utilisation de PL7 Pro Récupérer ou transférer un programme

FANTEC DB-229US Manuel de l'utilisateur

LOGICIEL ALARM MONITORING

Guide de l utilisateur ArpentGIS-Trajet 1.2 ArpentGIS-Expert 1.4

PGS TABLETTE PRINCIPES DE BASE Manuel Utilisateur

Centrale de surveillance ALS 04

Activation de la licence

Utiliser des logiciels Windows sous Linux Ubuntu

Augmenter la portée de votre WiFi avec un répéteur

Emporter Windows XP sur une clé USB

Fiche technique CPU 314SC/DPM (314-6CG13)

SYSTEMES ELECTRONIQUES NUMERIQUES

MIGRER VERS LA DERNIERE VERSION DE L'ANTIVIRUS FIREWALL

Objet : Guide d'installation et de maintenance pour "My IC Phone 8082" connecté à un OmniPCX Office R810

Documentation utilisateur, manuel utilisateur MagicSafe Linux. Vous pouvez télécharger la dernière version de ce document à l adresse suivante :

Pour le désactiver, décochez "Site web du logiciel au démarrage" dans le menu "Fichier"

Installation des caméras IP

Base élèves : des étiquettes avec OpenOffice 2.0

CONTRÔLE DE BALISES TYPE TB-3 MANUEL D'INSTRUCTIONS. ( Cod ) (M H) ( M / 99G ) (c) CIRCUTOR S.A.

ACTIVITÉ DE PROGRAMMATION

1. Utilisation conforme à l usage prévu. 2. Propriétés. 3. Montage. Capteur de CO 2 AMUN

Alarme intrusion filaire AEI HA zones

Algorithmique avec Algobox

La Carte d Identité Electronique

Connexion sur REDLION G-308 avec le modem GSM GDW-11 pour envoi de SMS

Indicateur universel de procédé format 96 x 48 mm ( 1 /8 DIN)

ESPACE MULTIMEDIA DU CANTON DE ROCHESERVIERE

Création du projet : 1 sur 13

INSTALLATION DE LA CLÉ 3G+ UTILISATION VOTRE COMPTE CLIENT. Clé 3G+ Elle vous permet de connecter votre ordinateur aux réseaux haut débit mobile.

Transcription:

ISN 2012/2013 Initiation à l'arduino : niveau 1 ss Stéphane Fossé / Marc Gyr 13 novembre 2012

Table des matières 1. Qu'est-ce que la carte ARDUINO?...3 a. Description...3 b. Un micro-ordinateur dans un circuit intégré: le microcontrôleur...3 c. Les entrées et les sorties... 4 d. La liaison Arduino-ordinateur... 4 e. Exercices à faire à la maison...4 2. Installation de l'environnement de développement (IDE):...5 3. Testons notre premier programme:...6 a. Le protocole de transfert...6 b. Structure d'un programme Arduino...6 c. Etude d'un exemple: le programme "Blink"...7 4. Améliorons notre premier programme...7 a. Affichage d'un texte dans le moniteur série: (Blink1)...7 b. Clignotement conditionnel: (Blink2)...7 c. Commande via le moniteur série: (Blink3)...8 2

1. Qu'est-ce ce que la carte ARDUINO? a. Description C'est un circuit imprimé comportant tous les composants électroniques nécessaires pour faire fonctionner un microcontrôleur (Atmega 328) associé à une interface USB lui permettant de communiquer avec un ordinateur. b. Un micro-ordinateur micro ordinateur dans un circuit intégré: le microcontrôleur Le cœur du système est un microcontrôleur c'est à dire l'équivalent d'un petit ordinateur. Il contient un microprocesseur (unité centrale) associé, associé par l'intermédiaire de bus de données, données à différentes mémoires et des interfaces lui permettant de communiquer avec l'extérieur, et bien sûr une horloge (16 Mhz) pour cadencer l'ensemble. L'alimentation électrique peut être fournie par le port USB ou une alimentation externe. externe Le microcontrôleur exécute en permanence un programme qui a été copié dans sa mémoire flash (EEPROM de 32 ko) depuis un ordinateur via le port USB (interface série). Ce programme est initialisé à la mise sous tension de la carte ARDUINO ou lorsqu'on actionne action le bouton poussoir "reset"" sur la carte. 3

c. Les entrées et les sorties La carte "ARDUNO Uno" que nous allons utiliser dispose de 14 broches ("pin" en anglais, numérotées de 0 à 13) qui peuvent être configurées en "entrées digitales" ou en "sorties digitales" susceptibles de délivrer une intensité maximale de 40 ma sous une tension égale à 0V ou 5V. Certaines de ces broches peuvent être configurées en "sorties PWM" (Pulse Width Modulation ou modulation de largeur d'impulsion). Elle possède également 6 entrées-sorties analogiques (notées A0 à A5) permettant de mesurer ou de délivrer des tensions comprises entre 0V et 5V grâce à un convertisseur A/N à 10 bits. Les broches pin0 et pin1 ne sont pas disponibles pour l'utilisateur de la carte car elles sont utilisées pour communiquer avec l'ordinateur via le port USB, et sont notées RX (réception) et TX (transmission) sur la carte. d. La liaison Arduino-ordinateur Le port USB de la carte ARDUINO est géré par l'ordinateur comme un port série virtuel (COMx) et il est nécessaire d'installer les drivers correspondants avant d'établir la liaison ordinateur-arduino. e. Exercices à faire à la maison Répondre aux questions ci-dessous à partir des informations données page 1 et de vos connaissances: 1. Quelle différence y a-t-il entre une entrée analogique et une entrée numérique de la carte Arduino? 2. - Combien y a-t-il d'entrées numériques disponibles pour l'utilisateur sur cette carte? - et de sorties? - Sont-elles utilisables simultanément? 3. - Dans quel intervalle doivent se situer les tensions appliquées aux entrées de l' 'Arduino? - Pourquoi? 4. - Sur combien de valeurs différentes sont numérisées les entrées analogiques? - Quelle est la résolution de cette conversion? 5. -Une DEL (diode électroluminescente) rouge standard présente une tension de seuil U 0 2 V avec un courant d'intensité nominale I 0 10mA. - Quel peut être l'intérêt de brancher une DEL sur une sortie de l'arduino? - Est-il possible de la brancherr directement sur une sortie numérique de l'arduino? - Pourquoi? - Calculer la valeur de la résistance R du conducteur ohmique nécessaire. 6. - Qu'est-ce qu'une sortie "PWM"? - Quel peut-être son intérêt? 7. - Rechercher sur internet ce qu'est un "servo" utilisé en modélisme. - Quel est son rôle dans un ensemble radiocommande? - Pour et quel est le type de tension électrique qu'il faut lui appliquer (en plus de l'alimentation continue +5V) pour l'actionner? - Un servo peut-il être contrôlé par une carte Arduino? - A quoi peut servir une carte Arduino dans le cadre de notre cours d'isn? 4

2. Installation de l'environnement de développement (IDE): Télécharger le programme de l'environnement de développement correspondant au système d'exploitation utilisé sur le site du fabricant www.arduino.cc onglet "download". Par exemple sous windows télécharger le fichier compressé "arduino-1.0.1-windows.zip" (ou une version plus récente). Décompresser le fichier ZIP téléchargé, puis extraire le répertoire obtenu "arduino-1.0.1" dans votre clé USB. Brancher la carte ARDUINO sur un port USB de l'ordinateur. Si la fenêtre "Nouveau matériel détecté" s'ouvre, ne laissez pas Windows update s'en mêler et cochez la case "Non, pas pour cette fois", puis cliquez sur "Suivant". Dans la fenêtre qui s'affiche, cochez la case "Installer à partir d'un emplacement spécifié", puis "Suivant". Dans la nouvelle fenêtre, sélectionner "Parcourir" puis indiquer le chemin du sous-répertoire "drivers" dans le répertoire "Arduino" créé précédemment. Autoriser Windows à installer le pilote. Sinon, il faut aller dans le Panneau de configuration / Système / Gestionnaire de Périphériques / Autres Périphériques / Arduino Uno Général / Mettre à jour le pilote / Rechercher un pilote sur mon ordinateur / Parcourir puis indiquer le chemin du sous-répertoire "drivers" dans le répertoire "Arduino" créé précédemment. Autoriser Windows à installer le pilote. Dans le Panneau de configuration / Système / Gestionnaire de Périphériques une nouvelle ligne apparait : Elle correspond à la création d'un convertisseur USB-Série. Noter le numéro affecté au port COM créé (ici le COM6). A partir de maintenant, la carte ARDUINO sera reconnue comme n'importe quel périphérique USB dès sa connexion au PC. Dans votre répertoire clé USB/Arduino cliquer sur l'icone "Arduino.exe" créé précédemment pour lancer l'environnement de développement. OUVRIR MONITEUR TRANSFERER VERIFIER 5

Dans le menu "Fichier" puis "Préférences", choisir la langue "français" si ce n'est déjà fait. Puis dans "Outils" vérifier le type de carte utilisé (Arduino UNO) puis indiquer le numéro du port affecté par l'ordinateur (ici le COM6). Remarque: On peut vérifier rapidement le numéro de port COM affecté par l'ordinateur à l'arduino en cliquant sur "Démarrer" puis "Périphériques et Imprimantes". Attention! si d'autres ports COM virtuels ont été créés précédemment sur le PC, la carte Arduino ne pourra pas fonctionner sur un numéro de port partagé, même si l'autre périphérique n'est pas branché. On peut éventuellement modifier le numéro du port affecté à la carte Arduino en allant dans Panneau de configuration / Système / Gestionnaire de Périph. / Ports (COM et LPT)/ Communications Port/ Paramètres du port/ Avancé/ numéro de port. Il faut également veiller à brancher la carte Arduino toujours sur le même port USB de l'ordinateur. 3. Testons notre premier programme: a. Le protocole de transfert Ouvrir l'environnement de développement (I.D.E.) puis cliquer sur l'icône "ouvrir": une liste de programmes conçus pour être directement transférés dans la mémoire flash de l'arduino apparait dans une fenêtre, classée par thèmes. Sélectionner dans "01Basics" le fichier "Blink" qui a simplement comme objectif de faire clignoter une DEL déjà connectée entre la borne 13 de l'arduino et la masse du montage (via une résistance de protection). Le script du programme s'ouvre dans la fenêtre principale de l'i.d.e. Cliquer sur l'icône "vérifier" de façon à déceler d'éventuels bugs dans la structure du programme (cela sera surtout nécessaire pour tester nos propres programmes). La taille du programme apparait dans la fenêtre d'édition en bas. Cliquer sur l'icône "transférer (téléverser)" afin d'enregistrer ce programme dans la mémoire flash de l'arduino qui va ensuite l'exécuter en boucle. b. Structure d'un programme Arduino Le langage de programmation Arduino dérive du langage C++. Il en respecte les règles de syntaxe: Une ligne qui commence par "//" est considérée comme un commentaire Un paragraphe qui commence par "/*" et qui se termine par "*/" est considéré comme un commentaire Toute ligne d'instruction de code doit se terminer par un point virgule ";" Un bloc d'instructions (définition d'une fonction, boucle "while" ou "if"/"else"...) doit être délimité par des accolades ouvrantes "{" puis fermantes "}". Toutes les variables doivent être déclarées, ainsi que leur type (int,float,...) avant d'être utilisées. Un programme (ou "sketch") Arduino est constitué de 2 fonctions distinctes: La fonction de configuration "void setup" exécutée une seule fois au lancement du programme. La fonction "void loop" qui est ensuite exécutée indéfiniment en boucle. Remarque: On peut relancer le programme en actionnant le bouton poussoir "reset" sur la carte. 6

c. Etude d'un exemple: le programme "Blink" int DEL = 13; ou #define DEL 13 On donne un nom à la broche 13 de façon à la repérer plus facilement dans le script: c'est celle qui est reliée à la DEL que l'on souhaite faire clignoter. On crée ainsi une nouvelle variable nommée "DEL" de type "nombre entier". void setup() { pinmode(del, OUTPUT); } On initialise la borne 13 de l'arduino (nommée "DEL") comme une sortie numérique. void loop() { digitalwrite(del, HIGH); delay(1000); digitalwrite(del, LOW); delay(1000); } On met la borne 13 (nommée "DEL") au niveau logique haut (+5V): la diode s'allume. On attend un délai de 1000ms (soit 1s). On met la borne 13 (nommée "DEL") au niveau logique bas (0V): la diode s'éteint. On attend un délai de 1000ms (soit 1s). Et ainsi de suite tant que le circuit est alimenté. 4. Améliorons notre premier programme a. Affichage d'un texte dans le moniteur série: (Blink1) Pour afficher "la DEL clignote avec une période de 2s" dans le moniteur série que l'on peut ouvrir en cliquant sur l'icône située en haut à droite de l'environnement de développement (voir page 3), il faut: ouvrir la liaison série entre l'arduino et l'ordinateur via le câble USB en intégrant le script Serial.begin(9600); dans la fonction "setup" (9600 définit en baud le nombre de bits échangés par seconde). introduire dans la fonction "loop" le script associé au texte à écrire à l'écran (en évitant les caractères accentués: é, è, ê, à,...) suivi d'un saut à la ligne: Serial.println("la DEL clignote avec une periode de 2s"); Exercices : 1. Tester ce nouveau programme et ouvrir le moniteur série. Que constate-t-on? 2. Modifier le script de façon à éviter ces répétitions. Détailler votre algorithme. b. Clignotement conditionnel: (Blink2) On souhaite maintenant provoquer le clignotement ou l'allumage continu de la DEL selon que l'entrée 6 est portée au niveau logique haut (+5V) ou au niveau bas (0V). Pour cela, il faut mettre la borne 7 au niveau haut, la borne 5 au niveau bas et confectionner un petit cavalier (fil de cuivre plié en forme de U) pour relier la borne 6 à l'une ou à l'autre : 7 6 5 7

Exercices : 1. Les bornes 5,6 et 7 de l'arduino doivent-elles être configurées en entrées ou sorties? 2. Ecrire et tester le script correspondant, après avoir conçu l'algorithme adapté à ces consignes, sachant que: Le script pinmode(6, INPUT); initialise la borne 6 de l'arduino comme une entrée numérique. Le script etat=digitalread(6); permet de lire l'état "haut" ou "bas" de la borne 6 de l'arduino et de le mémoriser dans une variable nommée "etat" (qui doit être définie au préalable!). 3. Compléter ce script de façon à afficher dans l'environnement de développement "la DEL est allumée" ou "la DEL clignote" une seule fois à chaque changement d'état. c. Commande via le moniteur série: (Blink3) Le moniteur série permet d'afficher des informations (textes, valeurs des variables,...) en provenance de l'arduino, mais il permet aussi d'envoyer des informations tapées au clavier de l'ordinateur vers l'arduino. L'objectif à atteindre est de provoquer l'allumage de la DEL en envoyant le caractère "A", son extinction en envoyant le caractère "E" et son clignotement en envoyant le caractère "C". Exercice : 1. Ecrire et testere le script correspondant, après avoir conçu l'algorithme adapté à ces consignes, sachant que: if (Serial.available() > 0) // lit l'octet entrant s'il y a des données disponibles sur le port série { lettrelue = Serial.read(); // la lettre correspondant à l'octet reçu est mémorisée dans la variable "lettrelue" if ((lettrelue = = 'A') (lettrelue = = 'E') (lettrelue = = 'C')) // le "ou" logique correspond à (ALT GR + touche 6) { lettre = lettrelue; // la variable "lettre" ne peut contenir que les caractères "A","E" ou "C" en excluant } tout autre caractère reçu. } 8