Historique. La carte Uno R3

Documents pareils
ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

Bien commencer avec un LaunchPad MSP430G et un Breadboard

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Prototypage électronique

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques

FANTEC HDD-Sneaker MANUEL D'UTILISATION. Comprend: Guide d'installation de materiel Disque dur Formatage manuel PCClone EX Guide d'installation

Atelier Arduino. Initiation à la mise en oeuvre matérielle et logicielle de l Arduino. novembre 2006

Atelier Arduino. Initiation à la mise en oeuvre matérielle et logicielle de l Arduino. novembre 2006

ACQUISITION ANALYSE PRÉSENTATION

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Une carte pour vos projets

Activité initiation Arduino

Procédures Stockées WAVESOFT ws_sp_getidtable Exemple : ws_sp_getnextsouche Exemple :... 12

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

1. Introduction Création d'une macro autonome Exécuter la macro pas à pas Modifier une macro... 5

Carte ARDUINO UNO Microcontrôleur ATMega328

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

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

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

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Google Drive, le cloud de Google

KL5121. Pour activer des sorties en fonction de la position d'un codeur

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Conception de circuits numériques et architecture des ordinateurs

FANTEC DB-229US Manuel de l'utilisateur

Éléments d'architecture des ordinateurs

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

DATALOGGERS SEFRAM LOG1601 et LOG1620

Conférence sur les microcontroleurs.

Présentation du langage et premières fonctions

Le chiffre est le signe, le nombre est la valeur.

Dongle WiFi de QUMI Manuel de l utilisateur

Initiation à la programmation en Python

Carte Relais GSM (Manuel Utilisateur)

C.6-6. Mode d'emploi utilisateur. Centrale d'alarme Filaire et sans fil. Fait par:

Sub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"

TP 1. Prise en main du langage Python

Notice d'utilisation originale Safety Standstill Monitor Contrôleur d'arrêt de sécurité DA101S / / 2013

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

Utilisation du visualiseur Avermedia

Bases de programmation. Cours 5. Structurer les données

1. Introduction Création d'une requête...2

Bonjour, Le document qui suit est le support de la formation ''Arduino applications distantes''.

Sélection du contrôleur

SCL LOGICIEL DE CONTROL


Guide d'utilisation du Serveur USB

CARPE. Documentation Informatique S E T R A. Version Août CARPE (Documentation Informatique) 1

Répertorier vos mots de passe avec Passbox : 1) Télécharger le fichier d'installation :

GE Security. KILSEN série KSA700 Centrale de détection et d alarme Incendie analogique adressable. Manuel d utilisation

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février :30 à 20:30

Mon aide mémoire traitement de texte (Microsoft Word)

Relais d'arrêt d'urgence, protecteurs mobiles

Installation et paramétrage. Accès aux modèles, autotextes et clip- art partagés

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

Notions fondamentales du langage C# Version 1.0

Auto formation à Zelio logic

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

Master4Light. Caractérisation Optique et Electrique des Sources Lumineuses. Equipement 2-en-1 : source de courant et spectrophotomètre

L informatique en BCPST

Contrôle d accès UTIL TP N 1 découverte

Guide d utilisation. Table des matières. Mutualisé : guide utilisation FileZilla

INSTALLER UNE BIBLIOBOX

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

Projet Robot Centaure

Installation du Logiciel de Configuration de l Agility sur Windows 64 bits

Alimentation portable mah

Programmation C++ (débutant)/instructions for, while et do...while

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

La programmation des PIC en C. Les fonctions, les interruptions.

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

CONNAITRE VOTRE APPAREIL PHOTO DESCRIPTIF DE L APPAREIL. 1 Bouton MARCHE/ARRET 5 Flash 2 Obturateur 6 Retardateur LED

Commande de Magstim et d'enregistrements TMS avec Signal

Classer et partager ses photographies numériques

MANUEL ACHAT à DISTANCE

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

LS 162e. Profitez-en! WiFi Car DVR

STAGE IREM 0- Premiers pas en Python

Guide d installation de l Adaptateur CPL 500AV+ Nano XAV5601

Retrouver un mot de passe perdu de Windows

1. Étape: Activer le contrôle du compte utilisateur

TP1 : Initiation à Java et Eclipse

Programmation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS Sommaire

Cours Informatique Master STEP

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Analyse tarifaire en ligne (TAO) de l'omc

Sophos Mobile Encryption pour Android Aide. Version du produit : 1.0

EM398x-R1 UPS VA

LibreOffice Calc : introduction aux tableaux croisés dynamiques

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

Mise en service HORUS version HTTP

Architecture des ordinateurs

Mises à jour des logiciels Manuel de l'utilisateur

CONFÉRENCE ET INTERPRÉTATION

Démontage d'un ordinateur

Manuel d'utilisation avec le superviseur ISCANSERVER et le client VEHICLE Network System

Transcription:

Historique C est dans un bar d une petite ville du nord de l Italie qu est né le projet qui, de manière totalement inattendue, est en train de révolutionner le domaine de l électronique à l échelle mondiale, puisque pour la première fois tout le monde peut vraiment s y essayer et découvrir qu il aime ça! Rien de tout ceci n aurait été possible sans le choix initial des licences libres qui a conditionné non seulement son bas prix et sa massive diffusion mais également son approche et son état d esprit. Hiver 2005, Massimo Banzi enseigne dans une école de Design à Ivrea en Italie, et souvent ses étudiants se plaignent de ne pas avoir accès à des solutions bas prix pour accomplir leurs projets de robotique. Banzi en discute avec David Cuartielles, un ingénieur Espagnol spécialisé sur les micro-contrôleurs Ils décident de créer leur propre carte en embarquant dans leur histoire un des étudiants de Banzi, David Mellis, qui sera chargé de créer le langage de programmation allant avec la carte. En deux jours David écrira le code! Trois jours de plus et la carte était crée La carte Uno R3 La carte Uno R3 est une carte à microcontrôleur basée sur l'atmega328, c'est la dernière d'une série de carte USB. C'est le modèle de référence des plateformes. Elle contient tout ce qui est nécessaire pour le fonctionnement du microcontrôleur. Pour pouvoir l'utiliser et se lancer, il suffit simplement de la connecter à un ordinateur à l'aide d'un câble USB ou de l'alimenter avec un adaptateur secteur ou une pile de 9V. 14 broches numériques Bouton reset Connexion USB d'entrées/sorties Connecteur d'alimentation 6 peuvent être utilisées en sorties PWM (largeur d'impulsion modulée) Connecteur ICSP ( programmation "in-circuit" ) 6 broches d'entrées analogiques Elles peuvent également être utilisées en broches entrées/sorties Il existe de nombreuses cartes compatibles ou équivalentes à la carte Uno R3. Nous utiliserons des cartes Funduino qui ont l'avantage de ne coûter qu'un numériques quinzaine d'euros. 1

L'environnement de développement L'environnement de développement peut-être téléchargé à l'adresse suivante : http://arduino.cc/en/main/software Une fois lancé, l'ed s'affiche dans une simple fenêtre et reprend le dernier programme (on parle de croquis dans le jargon arduino) créé ou à défaut en propose un nouveau. En dehors des traditionnels menus on trouve une barre d'outils permettant d'acceder aux fonctions principales. La barre d'outils (de gauche à droite) Vérifier (s'il y a des erreurs) Téléverser le croquis sur la carte Nouveau croquis Ouvrir un croquis existant Enregistrer le croquis Ouvrir La zone la fenêtre d'édition de terminal de croquis C'est l'éditeur de programme proprement dit, les deux fonctions setup() et loop() y sont par défaut La zone de dialogue C'est dans cette zone que l'environnement de développement affiche ses messages : messages de compilation, erreurs, transfert... 2

La structure d'un croquis Un croquis (sketch en anglais) comporte au minimum deux fonctions : La fonction setup() (configuration en anglais) qui est appelée au démarrage du programme. Cette fonction est utilisée pour initialiser les variables, le sens des broches, les librairies utilisées. La fonction setup n'est exécutée qu'une seule fois, après chaque mise sous tension ou reset (réinitialisation) de la carte. La fonction loop () (boucle en anglais) qui fait exactement ce que son nom suggère et s'exécute en boucle sans fin, permettant à votre programme de s'exécuter et de répondre. On utilise cette fonction pour contrôler activement la carte. Elle est exécutée immédiatement après la fonction setup(). Quelques éléments de langage Le langage est basé sur le langage C défini par Kenneth Thompson & Dennis Ritchie en 1972. Comme Lui c'est un langage impératif structuré adapté à la programmation système. De nombreux autres langages de programmation (C++, Java,...) sont issus du langage C. On se rapelera qu'un programme est une suite d'instructions logiquement ordonnées, et qu'une instruction est une action élémentaire qui peut être réalisée par une machine. 1. Syntaxe de base ; (point virgule) : la fin d'une instruction est toujours délimité par un point virgule a = 13; // le point virgule indique la fin de l'instruction {} (Accolades) : Bloc de contrôle if (boolean expression){ a = 13; // ouverture du code de la condition if b = a+1; // vos instructions (terminées par ";" ) } // fermeture du code de la condition if 2. Opérateurs arithmétiques = (signe égal unique) : l'opérateur d'assignement (appelé aussi d'affectation) permet d'assigner à une variable une valeur ou le résultat d'une expression. vara = 13; // on assigne à la variable vara la valeur 13 varb = vara+5; // on assigne à la variable varb le résultat // de l'addition du contenu de la variable vara // et de 5 3

+ (Addition), - (Soustraction), * (Multiplication), / (Division) Ces opérateurs renvoient respectivement la somme, la différence, le produit ou le quotient entre deux opérandes (= entre deux termes). Cette opération est réalisée en utilisant le type des données des opérandes. Ainsi par exemple, 9 / 4 donne 2 pour résultat si 9 et 4 sont de type int (entier). 3. Les opérateurs de comparaison x == y (x est égal à y) x!= y (x est différent de y) x < y (x est inférieur à y) x > y (x est supérieur à y) x <= y (x est inférieur ou égal à y) x >= y (x est supérieur ou égal à y) Attention à ne pas utiliser accidentellement le signe '=' (égal unique) à la place de '==' Ex : if (varx = 10) Le signe égal unique est l'opérateur d'attribution d'une valeur. Dans l'exemple, il fixe la valeur de la variable varx à 10 (autrement dit, on met la valeur 10 dans la variable varx). Utilisez bien au lieu de cela le signe double égal == (c'est à dire if (varx == 10), le == étant l'opérateur logique de comparaison, et qui test si varx est bien égal à 10 ou non. Cette dernière condition (varx==10) est vraie uniquement si varx est égal à 10, alors que la première condition (varx=10) sera toujours vraie puisque varx est différent de 0 (zéro). 4. Les constantes Quelques constantes sont définies dans le langage. Notez que les constantes true et false sont écrites en minuscules à la différence des constantes HIGH, LOW, INPUT et OUTPUT. True/False (définition des valeurs logiques) Il existe deux constantes utilisées pour représenté le VRAI et le FAUX dans le langage arduino : true et false. false (FAUX) : la constante false est définie comme le 0 (zéro). true (VRAI) : La constante true peut être toute valeur différente de 0 : en logique ce qui n'est pas faux est vrai! HIGH/LOW (définition des niveaux de broche) Lorsqu'on lit ou on écrit sur une broche numérique, seuls deux états distincts sont possibles HIGH (HAUT) ou LOW (BAS). On pourrait faire une analogie avec un interrupteur qui serait respectivement fermé ou ouvert : HIGH : la broche es t active LOW : la broche est inactive 4

INPUT/OUTPUT (mode d'utilisation des broches numériques) Les broches numériques peuvent être utilisées soit en entrée (INPUT), soit en sortie (OUTPUT). Pour configurer le mode de fonctionnement des broches numériques, on utilise la fonction pinmode(broche, mode) où l'on précisera le numéro de la broche ainsi que son mode d'utilisation. Ex : pinmode(13, OUTPUT); Dans cet exemple on configure la broche numérique 13 en sortie ; on y connectera un effecteur. 5. Les fonctions Les entrées/sorties numériques pinmode(broche, mode) : Configure la broche spécifiée pour qu'elle se comporte soit en entrée, soit en sortie (cf INPUT/OUTPUT) digitalwrite(broche, valeur) : Met un niveau logique HIGH (HAUT en anglais) ou LOW (BAS en anglais) sur une broche numérique. Si la broche a été configurée en SORTIE avec l'instruction pinmode(), sa tension est mise à la valeur correspondante : 5V (ou 3.3V sur les cartes 3.3V) pour le niveau HAUT, 0V (masse) pour le niveau BAS. digitalread(broche) : Lit l"état (le niveau logique) d'une broche précise en entrée numérique, et renvoie la valeur HIGH ou LOW. Temps delay(ms) : Réalise une pause dans l'exécution du programme pour la durée (en millisecondes) indiquée en paramètre. (Pour mémoire, il y a 1000 millisecondes dans une seconde...! 5

Blink : le premier programme Le programme ci dessous est généralement le premier programme qu'on téléverse dans la carte. Il permet entre autre de vérifier que la carte répond bien et que l'environnement de programmation est bien configuré. Son seul objectif est de faire clignoter la LED soudée sur le circuit imprimé qui est raccordée à la broche numérique 13 de la carte ( pour la carte Uno ou pour la carte Leonardo notamment). Les commentaires sont assez nombreux et explicites. 6