Station météo Mesure des températures Mise en œuvre du convertisseur de l Arduino UNO

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

Une carte pour vos projets

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

Activité initiation Arduino

Date : Note /20 : EVALUATION Nom : Prénom : Classe : Traitement sur mots

ANALYSE TRAMEs LIAISON SERIE

! analyse du fonctionnement

1. PRESENTATION DU PROJET

MEMOIRES MAGNETIQUES A DISQUES RIGIDES

Education Delivery Intelligent Tool

12 applications pour maîtriser le PICBASIC PB-3B - Gérard GUIHÉNEUF. Elektor-Publitronic ISBN :

Notions fondamentales du langage C# Version 1.0

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

Enregistreur de Température pour PC DALLAS 1820

Conférence sur les microcontroleurs.

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

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

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

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

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

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

Enregistreur sans papier. Interface LON. B Description des interfaces 10.99/

ProCod. Manuel d utilisation. Software de programmation pour codeurs absolus TWK modèles CRF et DAF CRF DF 08 / 10

2 Raccordement d une imprimante, d un terminal ou d un ordinateur au DULCOMARIN

PIC EVAL Dev Board PIC18F97J60

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

Bien commencer avec un LaunchPad MSP430G et un Breadboard

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

RÉALISATION D UN BANC D ÉQUILIBRAGE

Série M Débitmètres Eletta. Débitmètre à P avec sortie programmable

Dossier technique. Présentation du bus DMX et Utilisation des options EL13 / EL14 ERM AUTOMATISMES INDUSTRIELS 1 LE PROTOCOLE DMX 2

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

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

Système d automation TROVIS 6400 Régulateur compact TROVIS 6493

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

Prototypage électronique

Etudier l influence de différents paramètres sur un phénomène physique Communiquer et argumenter en utilisant un vocabulaire scientifique adapté

Programmation d un contrôleur via une liaison téléphonique Note d application

Indicateur. IDé 500. Descriptif indicateur. Schéma/Encombrement

CONFIGURATION ET UTILISATION

UP 588/13 5WG AB13

ACQUISITION ANALYSE PRÉSENTATION

DATALOGGERS SEFRAM LOG1601 et LOG1620

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

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

Architecture des ordinateurs Introduction à l informatique

MACHINE A SOUDER MANUEL D UTILISATION

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

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

Informatique Générale

Architecture matérielle des systèmes informatiques

La température du filament mesurée et mémorisée par ce thermomètre Infra-Rouge(IR) est de 285 C. EST-CE POSSIBLE?

CONVERTISSEURS NA ET AN

Introduction au langage C

Description d'une liaison

NOTICE D EMPLOI SLT-TR

INSTALLEZ VOTRE DISQUE DUR CANAL

Module de télémétrie MT-021- Guide de démarrage rapide

Projet de synthèse de l'électronique analogique : réalisation d'une balance à jauges de contrainte

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.

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

Variateurs de vitesse

IPBX 02 : TP MISE EN OEUVRE RTC ET TOIP. Ce sujet comporte 4 pages de texte suivi du corrigé

Manuel d aide à la pose

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

LOGICIEL DC4D MONITOR

1. Généralités Certifications Ouverture du carton Contenu de la boîte... 3

Catalogue - Formation en «électropneumatique et systèmes automatisés process control system»

T500 DUAlTACH. JAQUET T500 DualTach Instrument de mesure et de surveillance équipé de 2 entrées fréquence TACHYMETRE 2 CANAUX

Notice technique. Système de surveillance MAS 711

Solution parfaite pour une expérience bureautique transparente. Récapitulatif. Processeur Teradici avancé, haute performance

TeamConnect. SL TeamConnect CU1, Unité centrale SL TeamConnect CB1, Combox CARACTÉRISTIQUES

>> Lisez-moi d abord... Connecter le ZyXEL Prestige 650HW/HW-I

Transmissions série et parallèle

UE Programmation Impérative Licence 2ème Année

I- Définitions des signaux.

galaxy MODULE TELECOM F A NF Manuel d Installation

Cours d algorithmique pour la classe de 2nde

crm+ capteurs à ultrasons Extrait de notre catalogue en ligne : Mise à jour :

DESKTOP Internal Drive. Guide d installation

ENREGISTREUR DE TEMPERATURE

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

BAMOSONIC IT. - Mesure de niveau -

0 For gamers by gamers

Guide d installation CLX.PayMaker Office (3PC)

Documentation Technique du programme HYDRONDE_LN

Carte ARDUINO UNO Microcontrôleur ATMega328

CLIP. (Calling Line Identification Presentation) Appareil autonome affichant le numéro appelant

JUPITER /20/27/61m. Contact NF, 50mA à 24v max. avec R50 Ohms en série

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

Rappels Entrées -Sorties

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Connaissances VDI 1 : Chapitres annexe

Alarme intrusion filaire AEI HA zones

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Millenium3 Atelier de programmation

V- Manipulations de nombres en binaire

Transmission de données. A) Principaux éléments intervenant dans la transmission

Transcription:

Station météo Mesure des températures Mise en œuvre du convertisseur de l Arduino UNO Objectifs : - Mise en œuvre d un microcontrôleur (Câblage, programmation) - Découverte de la fonction Conversion Analogique-Numérique - Caractérisation et mise en œuvre d un CAN Compétences : - C.2.1 Analyser - C.2.3 Développer But : Afficher le résultat brut d'une conversion analogique-numérique dans la fenêtre Terminal du PC et vérifier la conformité des résultats obtenus Pour toute question sur les Convertisseurs analogiques numériques vous pourrez vous appuyer sur le document en cliquant ici. I- Présentation Ce programme permet de réaliser une conversion analogique-numérique avec la carte Arduino et affiche le résultat brut (une valeur entière entre 0 et 1023) de la mesure sur le PC lors de l'exécution d'un programme. La carte Arduino uno utilisée ici, basée sur un microcontrôleur dispose d'un convertisseur analogique numérique 10 bits qui permet de convertir la tension présente sur une entrée analogique (entre 0 et 5V par défaut) en une valeur entière comprise entre 0 et 1023 (avec 0 pour le 0V et 1023 pour le 5V). La plupart des cartes Arduino disposent de 5 entrées analogiques, certaines en disposent de davantage. Le langage Arduino permet de réaliser très simplement une telle conversion analogique-numérique 10 bits à l'aide de l'instruction analogread(). Ce programme utilise les fonctionnalités suivantes : la connexion série vers le PC La conversion analogique numérique 10 bits sur la voie analogique analog 0

II- Le montage : Matériel nécéssaire : L espace de développement Arduino pour éditer, compiler et programmer la carte Arduino UNO La carte Arduino UNO Un potentiomètre 10KΩ/10 tours et 3 câbles Un voltmètre Instructions de montage : Connexion série entre la carte Arduino et le PC (Port USB) Broche Analog 0 (=broche 14) en entrée Analogique connectée sur la sortie une résistance variable 10K connectée entre le 0V et 5V. Le schéma théorique du montage : Carte arduino UNO A0 Carte Arduino UNO A C B USB

III- Explications et mise en œuvre du programme : Structure globale du programme Ce programme simple comprend : une entête déclarative une partie «configuration» qui ne sera exécutée qu'une fois (fonction setup( ) ) une partie constituée d'une boucle sans fin que le programme répètera à l'infini ( fonction loop( ) ) : c'est le coeur du programme. Déroulement du programme Le programme se déroule de la façon suivante : Après avoir pris en compte les instructions de la partie déclarative,puis après avoir exécuté la partie configuration ( fonction setup( ) ),le programme bouclera sans fin ( fonction loop ( ) ), exécutant de façon répétée le code compris dans la boucle sans fin. Le déroulement du programme Partie déclarative : Déclaration des constantes de broches Déclaration des constantes pour les broches utilisées dans le programme : on renomme Voie_0 la broche analogique 0 (broche numérique 14). const int Voie_0=0; //declaration constante de broche analogique Déclaration des variables globales Déclaration des variables globales du programmes : o Déclaration des variables globales utilisées pour la conversion analogique-numérique : on déclare une variable entière destinée à stocker le résultat de la mesure (valeur comprise entre 0 et 1023).

int mesure_brute=0;// Variable pour acquisition résultat brut de conversion analogique numérique float mesuref=0.0;// Variable pour calcul résultat décimal de conversion analogique numérique Fonction d initialisation setup() : On initialise les différentes fonctionnalités utilisées : Initialisation de la communication série avec le PC pour une communication à 115200 bauds. Il faudra régler le terminal côté PC impérativement sur la même valeur. Serial.begin(115200); // initialise connexion série à 115200 bauds // IMPORTANT : régler le terminal côté PC avec la même valeur de transmission Remarque : Il n'est pas nécessaire de configurer la broche analogique. Fonction Principale loop() On commence par mettre le résultat d'une mesure dans la variable mesure_brute, à l'aide de l'instruction analogread(). On remarquera ici la simplicité avec laquelle le langage Arduino permet un tel résultat! Pour info : une telle mesure prend 100µs environ et la carte Arduino peut donc en faire environ 10 000 par seconde ce qui est très largement suffisant dans la plupart des cas. // acquisition conversion analogique-numerique (CAN) sur la voie analogique mesure_brute=analogread(voie_0); On envoie ensuite vers le PC la valeur ainsi obtenue à l'aide de l'instruction Serial.println() qui ajoute également un saut de ligne. // affiche valeur numerique entière ou à virgule au format décimal Serial.println(mesure_brute); On réalise une pause entre deux mesures grâce à l'instruction delay() qui ajoute également un saut de ligne. delay(500); // pause de 500 millisecondes Le programme recommence en boucle les instructions de la fonction loop( ). Le résultat de la mesure s'affiche de façon répétée dans la fenêtre Terminal : faire varier la résistance variable fait varier également la mesure. Se reporter aux commentaires présents dans le programme pour plus de détails. Mise en œuvre du programme : Préparation du montage et programmation de la carte Arduino : Effectuer le câblage comme indiqué plus haut. Ensuite, programmer la carte Arduino avec ce programme (en bas de page) selon la procédure habituelle Préparation du Terminal côté PC dans le logiciel Arduino Côté PC, il faut ouvrir la fenêtre terminal de l'ide Arduino : pour ce faire, dans le menu «outil», sélectionner «moniteur série» (CTRL+Maj+M) La fenêtre «Terminal» s'ouvre alors :

Il faut alors régler le débit de communication sur la même valeur que celle utilisée par le programme avec lequel nous allons programmer la carte Arduino : Fonctionnement du montage : Le résultat de la mesure s'affiche de façon répétée dans la fenêtre Terminal : faire varier la résistance variable fait varier également la mesure. Une fois le programme programmé dans la carte Arduino, le résultat brut de la mesure doit s'afficher dans la fenêtre Terminal : ici, résultats successifs en faisant varier la valeur de la résistance du 0V vers le 5V. Le programme complet en langage Arduino :

// CONVERSION ANALOGIQUE NUMERIQUE SUR ARDUINO UNO (entrée A0) // --- Que fait ce programme? --- /* Affiche le résultat brut d'une conversion analogique numérique sur la fenêtre terminal du PC*/ // --- Fonctionnalités utilisées --- // Utilise la connexion série vers le PC // Utilise la conversion analogique numérique 10bits sur les voies analogiques analog 0, // --- Circuit à réaliser --- // Connexion série entre la carte Arduino et le PC (utilise les broches 0 et 1) //**************** déclaration de variables ******* const int Voie_0=0; //declaration constante de broche analogique // --- Déclaration des variables globales --- int mesure_brute=0;// Variable pour acquisition résultat brut de conversion analogique numérique // --- Initialisation des fonctions utilisées --- //**************** FONCTION SETUP = Code d'initialisation ***** // La fonction setup() est exécutée en premier et 1 seule fois, au démarrage du programme void setup() { // debut de la fonction setup() Serial.begin(115200); // initialise connexion série à 115200 bauds // IMPORTANT : régler le terminal côté PC avec la même valeur de transmission } // //*************** FONCTION LOOP = Boucle sans fin = coeur du programme ************* // la fonction loop() s'exécute sans fin en boucle aussi longtemps que l'arduino est sous tension void loop(){ // debut de la fonction loop() mesure_brute=analogread(voie_0); // affiche valeur numerique entière ou à virgule au format décimal Serial.println(mesure_brute); delay(500); // pause de 500 millisecondes } // fin de la fonction loop() - le programme recommence au début de la fonction loop sans fin // ******************************************************************************** // --- Fin programme --- IV- Mesures: En effectuant des mesures de tensions au niveau du potentiomètre sur la broche connectée à l entrée analogique de l Arduino UNO, Procédez aux réglages nécessaires permettant de compléter le tableau suivant : Tension présente en A0 Résultat de la conversion (lisible dans la fenêtre «moniteur série» En décimal En binaire 0V 1V 2V 3V 4V 5V Sachant que les deux tensions de références du convertisseur analogique numérique de l Arduino Uno sont 0v (pour Vref-) et 5V (pour Vref+), déterminer les résultats théoriques pour chacune des mesures effectuées précédemment puis compléter le tableau suivant : Tension présente en A0 Résultat de la conversion (lisible dans la fenêtre «moniteur série» 0V 1V 2V 3V 4V 5V Que pouvez-vous conclure quant à l expérimentation effectuée? Quelle est la plus petite tension pouvant être mesurée théoriquement? Comment s appelle cette tension? Pouvez vous pratiquement effectuer cette mesure?