I. Présentation d une carte Arduino

Documents pareils
ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

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

Activité initiation Arduino

STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi module

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

Bien commencer avec un LaunchPad MSP430G et un Breadboard

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

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

Notions fondamentales du langage C# Version 1.0

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

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

Introduction au langage C

Carte ARDUINO UNO Microcontrôleur ATMega328

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

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE


Cours d Algorithmique et de Langage C v 3.0

Une carte pour vos projets

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

STAGE IREM 0- Premiers pas en Python

RÉALISATION D UN BANC D ÉQUILIBRAGE

Cours d algorithmique pour la classe de 2nde

Programmation système I Les entrées/sorties

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)

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

Education Delivery Intelligent Tool

Algorithmique et Programmation, IMA

1. PRESENTATION DU PROJET

Rappels Entrées -Sorties

AMC 120 Amplificateur casque

fullprotect inside EOLE SPEie RS E-SPEie V-0.6A-RS 1.0 revision Protection environnement Datasheet édition française

Conférence sur les microcontroleurs.

Présentation du langage et premières fonctions

HAM06WS SYSTÈME D ALARME SANS FIL

Flux de données Lecture/Ecriture Fichiers

Initiation à la programmation en Python

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

CONFÉRENCE ET INTERPRÉTATION

TD3: tableaux avancées, première classe et chaînes

Java Licence Professionnelle CISII,

Manipulations du laboratoire

INF 321 : mémento de la syntaxe de Java

TABLE DES MATIÈRES. Avant-propos... 1 Communications série Entrées simples analogiques et numériques... 61

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

TP 1. Prise en main du langage Python

Version beta. Station Météo 12/11/2012. Réalisation d un Station Météo avec Webserver composée de capteurs Grove et d un module Wifi Flyport.

Livret Phoenix-M. Par Georges Khaznadar, Lycée Jean Bart, Dunkerque d'après Phoenix Programmer's Manual

Cours 7 : Programmation d une chaîne d acquisition

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

Programme Compte bancaire (code)

Introduction à l algorithmique et à la programmation M1102 CM n 3

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

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

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Programmer en JAVA. par Tama

Plan du cours. Historique du langage Nouveautés de Java 7

Conventions d écriture et outils de mise au point

Système de contrôle d accès Codelock avec clavier de codage CL12

SYSTEME DE TELESURVEILLANCE VIDEO

CENTRALE DE SURVEILLANCE EMBARQUEE MULTIMEDIA

Guide abrégé ME301-2

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS

SYSTEME DE PALPAGE A TRANSMISSION RADIO ETUDE DU RECEPTEUR (MI16) DOSSIER DE PRESENTATION. Contenu du dossier :

Licence Sciences et Technologies Examen janvier 2010

Langage Java. Classe de première SI

Chapitre 2 Les ondes progressives périodiques

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

IUT GEII MARSEILLE Patrick GUMUCHIAN. Lycée Alphonse Benoit L'Isle sur la Sorgue Marc SILANUS

Représentation d un entier en base b

Le langage C. Introduction, guide de reference

Humidimètre sans contact avec mémoire + Thermomètre IR

I. Introduction aux fonctions : les fonctions standards

Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr

Relais statiques SOLITRON MIDI, Commutation analogique, Multi Fonctions RJ1P

Chapitre 2 Devine mon nombre!

Corrigé des TD 1 à 5

1 Lecture de fichiers

Programmation en Java IUT GEII (MC-II1) 1

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

Mode d emploi ALTO MONITOR PROCESSEUR D ÉCOUTE. Version 1.0 Juillet 2003 Français

Environnements de développement (intégrés)

Les structures. Chapitre 3

Programmation en langage C

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

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

ACTIVITÉ DE PROGRAMMATION

Organigramme / Algorigramme Dossier élève 1 SI

Utilisation d objets : String et ArrayList

IRL : Simulation distribuée pour les systèmes embarqués

TS 35 Numériser. Activité introductive - Exercice et démarche expérimentale en fin d activité Notions et contenus du programme de Terminale S

MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année

CENTRAL TELEPHONIQUE ANALOGIQUE 3 LIGNES 12 POSTES autocommutateur téléphone SELECTEUR FAX TELEPHONE. Ref 3L12PF = VIP312

Présentation et installation PCE-LOG V4 1-5

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

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

Notes du cours 4M056 Programmation en C et C++ Vincent Lemaire et Damien Simon

Transcription:

Informatique Cours n XX La carte Arduino Objectifs : 1. Passer d un code python à Arduino 2. utiliser un détecteur ultra son 3. programmer des boucles et des structures oconditionnelles I. Présentation d une carte Arduino 1 Ecriture d un programme 1 int trig = 12; 2 int echo = 11; 3 int lecture; 4 float cm; 5 void setup() 6 { 7 pinmode(trig, OUTPUT); 8 digitalwrite(trig, LOW); 9 pinmode(echo, INPUT); 10 Serial.begin(9600); 11 } 12 void loop() 13 { 14 digitalwrite(trig, HIGH); 15 delaymicroseconds(10); 16 digitalwrite(trig, LOW); 17 lecture = pulsein(echo, HIGH); 18 cm = lecture / 59; 19 Serial.print("Distance : "); 20 Serial.println(cm); 21 delay(1000); 22 } Lycée Gustave Eiffel de Dijon 1 / 6 TSI

2 Définition des données Toutes les lignes de code Arduino doivent se terminer par ;. Les commentaires sont indiqués par / ou //. Pour utiliser des variables numériques, la syntaxe nécessite de préciser le type de variable utilisé : byte : entier sur 8 bits (0-255) int : entier sur 16 bits (-32768 à 32767) long : entier sur 32 bits ( 2.10 6 à2.10 6 ) float : flottant sur 32 bits char : chaîne de caractère 1 byte a=12 2 int b=143 ; 3 float x=12.5 ; 4 char chaine[]="arduino" En Python, la syntaxe a = 12, b = 143, et x =12.5 permettent de définir automatiquement le type de ces grandeurs. 3 Entrées/sortie a) Definition L Arduino possède 14 entrées/sorties numériques que l on peut activer par la fonction suivante 1 pinmode(pin, INPUT); Cette fonction contient deux arguments, le numéro de la broche et le mode de fonctionnement : INPUT / OUTPUT Entrées /Sorties Numériques Figure 1 Entrée analogiques et numériques Entrées analogiques b) Sortie numérique La valeur numérique peut prendre deux valeurs ou état : HIGH (+5 V) ou LOW (0 V). Le changement d état s effectue grâce à la fonction suivante : 1 digitalwrite(pin,high); 2 digitalwrite(pin,low); Lycée Gustave Eiffel de Dijon 2 / 6 TSI

c) entrée numérique De la même façon, on peut récupérer la valeur d une broche par la fonction 1 X=digitalRead (pin) La valeur de X vaut alors HIGH ou LOW. d) Valeur analogique Sur une carte Arduino Uno, on retrouve 6 CAN. Ils se trouvent tous du même côté de la carte, là où est écrit "Analog IN" : La fonction qui permet de lire la valeur lue sur une entrée analogique de l Arduino. Elle prend un argument (le numéro de la broche d entrée) et retourne la valeur lue : 1 analogread (pin) La valeur retournée (un int) sera le résultat de la conversion analogique->numérique. Il s agit donc d une grandeur comprise en 0 et 1023. Exemple d un capteur de température LM35 1 float temp; 2 int temppin = 0; 3 char texte[]="la temperature est de " ; 4 void setup() 5 { 6 Serial.begin(9600); 7 } 8 void loop() 9 { 10 temp = analogread (temppin); 11 temp = temp * 0.488; 12 Serial.print(texte); 13 Serial.println(temp); 14 delay(2000); 15 } II. Les différentes structures 1 void setup() et loop() La structure void setup() permet de définir les variables et les entrées sorties avant l execution du programme principal. La structure void loop() est le corps même de la programmation. Les instructions situées dans ce programme seront effectuées en boucle un nombre infini de fois. 2 Les structures boucles for et while Tout comme Python, les boules FOR et WHILE sont disponibles. La syntaxe est légèrement plus lourde puisqu il faut définir la variable dans la boucle : 1 for (int i=0 ; i<10 ; i++) 2 { 3 OPERATION ; 4 } Lycée Gustave Eiffel de Dijon 3 / 6 TSI

1 int i=0 2 while (i<10) 3 { 4 OPERATION ; 5 i++ 6 } Pour la boucle for, la structure peut se résumer par : 1 for (initialisation ;condition ; incrément ) 2 { instructions } L indentation propre à Python est remplacé ici par des accolades. Les opérations systématiques de la boucle for ou while sont alors spécifiées entre parenthèses. 3 Les structures conditionnelles 1 if (CONDITION 1) 2 { 3 OPERATION 1 ; 4 } 5 else (CONDITION 2) 6 { 7 OPERATION 2 ; 8 } 9 else 10 { 11 OPERATION 3 ; 12 } III. Capteur ultra-son 1 Principe Le capteur utilisé en TIPE est le HC-SR05 possèdant 5 broches. Une d alimentation Vcc, une de masse Gnd, une pour lancer les pulses de l onde ultra-sonore (trig) et une délivrant un signal logique dont la largeur correspond au temps mis par l onde pour faire un aller et retour. Figure 2 Capteur HC-SR05 Lycée Gustave Eiffel de Dijon 4 / 6 TSI

L onde acoustique se déplace à v = 340 m.s 1. Le temps fourni par la fonction pulsein() est exprimé en microseconde. La conversion temps-distance est donc donné par Avec deux chiffres significatifs : d[cm] = d = v Δt 2 340Δt[µs] 106 2 10 2 Δt[µs] 59 pulses à 40 khz distance d onde acoustique onde réfléchie obstacle trig envoi des pulses echo Δt = 2d / v Figure 3 Principe de mesure 2 Détection simple Pour un simple affichage dans la console fourni par sketch, on pourra utiliser le code présent en première page. Le schéma de cablage ci-dessous est avec un LED que l on oubliera dans un premier temps. vcc trig echo out grnd Figure 4 Cablage principal Lycée Gustave Eiffel de Dijon 5 / 6 TSI

3 Détection avec affichage conditionnel Exercice 1 : Modifier le programme fourni pour effectuer un affichage supplémentaire "Attention" si la distance est inférieure à 20 cm. 4 Détection avec allumage conditionnel d une LED Une sortie logique haute (HIGH) permet de délivrer une tension de 5V suffisante pour allumer une LED. On utilise une résistance pour limiter l intensité. Il faut donc rajouter un entier affecté de la broche correspondant àlaled 1 int LED = 7; 2 pinmode(ledg, OUTPUT); 3 digitalwrite(trig, HIGH) ou digitalwrite(trig, LOW); Exercice 2 : Modifier le programme précédent pour permettre l allumage de la LED si la distance est inférieure à 20 cm. La fonction delay() permet de définir une pause dans le programme définie en milliseconde. Elle pourra être utilisée pour faire clignoter la LED. Exercice 3 : Modifier le programme précédent pour permettre l allumage de la LED avec un clignotement de fréquence de plus en plus élevé si la distance se rapproche : clignotement de 1 fois par seconde si d < 40 cm ; clignotement de 2 fois par seconde si d < 20 cm ; éclairement continu si d < 10 cm. Lycée Gustave Eiffel de Dijon 6 / 6 TSI