Chapitre 2. Arduino. JMF (Tous droits réservés)

Documents pareils
ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

Bien commencer avec un LaunchPad MSP430G et un Breadboard

Prototypage électronique

Guide d'installation rapide TFM-560X YO.13

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

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

Guide pour l Installation des Disques Durs SATA et Configuration RAID

Introduction au langage C

3615 SELFIE. HOW-TO / GUIDE D'UTILISATION

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)

Utiliser une WebCam. Micro-ordinateurs, informations, idées, trucs et astuces

AP1.1 : Montages électroniques élémentaires. Électricité et électronique

Utilisation de GCM (Google Cloud Messaging) pour Android. Partie préliminaire éventuelle : Création d'un AVD lisant GCM

Perl Console. Votre compagnon pour développer en Perl. Les Journées du Perl , 17 novembre, Lyon. Alexis Sukrieh

La maison connectée grâce au courant porteur en ligne (CPL)

Micro-ordinateurs, informations, idées, trucs et astuces utiliser le Bureau à distance

WEB page builder and server for SCADA applications usable from a WEB navigator

Les structures. Chapitre 3

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

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

Once the installation is complete, you can delete the temporary Zip files..

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

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

Si vous estimez le contenu de cette page pertinent, faites +1 ou j'aime : 0 Like 330 likes. Sign Up to see what your friends like.

NovoSIP manuel de mise en service

Bluetooth pour Windows

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

Clé USB Wi-Fi TP-Link TL-WN721N (150 Mbps) Manuel d installation

Vous avez dit... LED??? DOCLED V2 Page 1 / 14

Règles et paramètres d'exploitation de Caparmor 2 au 11/12/2009. Pôle de Calcul Intensif pour la mer, 11 Decembre 2009

PX8048 Convertisseur audio/vidéo VHS vers USB

Le langage C. Séance n 4

Thank you for choosing the Mobile Broadband USB Stick. With your USB Stick, you can access a wireless network at high speed.

Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux

Summary / Sommaire. 1 Install DRIVER SR2 USB01 Windows seven 64 bits / Installation du DRIVER SR2 USB01 Windows seven 64 bits 2

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

Software and Hardware Datasheet / Fiche technique du logiciel et du matériel

Contrôle d'accès Access control. Notice technique / Technical Manual

Outils pour la pratique

CARACTERISTIQUE D UNE DIODE ET POINT DE FONCTIONNEMENT

HAM841K CENTRALE D'ALARME POUR SYSTEMES DE SECURITE COMMERCIAUX ET D'HABITATION

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

lundi 3 août 2009 Choose your language What is Document Connection for Mac? Communautés Numériques L informatique à la portée du Grand Public

Logitech Speaker System Z553 Setup Guide Guide d installation

MACHINE A SOUDER MANUEL D UTILISATION


Mode d emploi pour lire des livres numériques

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

TABLE DES MATIÈRES 1. DÉMARRER ISIS 2 2. SAISIE D UN SCHÉMA 3 & ' " ( ) '*+ ", ##) # " -. /0 " 1 2 " 3. SIMULATION 7 " - 4.

Chapitre I Notions de base et outils de travail

Carte IEEE Version 1.0

ScoopFone. Prise en main rapide

Eclipse atelier Java

AUVRAY Clément (168187) HOMBERGER Alexandre (186897) GLADE. Langages, outils et méthodes pour la programmation avancée Page 1 sur 12

Connexion de Votre Imprimante Multifonction à votre Réseau pour la Première Fois

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

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

Guide de l utilisateur Modem Wifi

Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite.

WiFi Security Camera Quick Start Guide. Guide de départ rapide Caméra de surveillance Wi-Fi (P5)

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

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus :

B2i. LE B2i Brevet Informatique et Internet. Niveau : tous. 1 S'approprier un environnement informatique de travail. b2ico1.odt.

How to Login to Career Page

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

NOTICE D UTILISATION FACILE

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Version janvier Manuel d'utilisation. Adaptateur Ethernet rapide 10/100 USB 2.0

Mode d Emploi du Module d ASRock WiFi g

Guide d installation de MySQL

PROCÉDURE D'INSTALLATION WINDOWS 7 (32 ou 64 bit)

TRANSFERER UNE PHOTO SUR CLE USB

Instructions Mozilla Thunderbird Page 1

Une liste des distributeurs Paxton se trouve sur le site Internet -

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


TP1 : Initiation à Java et Eclipse

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Algorithmique & Langage C IUT GEII S1. Notes de cours (première partie) cours_algo_lgc1.17.odp. Licence

Initiation. àl algorithmique et à la programmation. en C

Telecharger gratuitement convertisseur de fichier word en pdf

Package Contents. System Requirements. Before You Begin

Éléments d'architecture des ordinateurs

Notice d installation de la Centrale VIGIK DGM1

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

Guide de Saisie de Factures sur le Formulaire Web OB10

Installation et prise en main

SERVEUR DÉDIÉ DOCUMENTATION

ENREGISTREUR DE TEMPERATURE

GESTION BOOTLOADER HID

Electrocinétique Livret élève

Indicateur d accélération numérique. Mode d emploi

INFO-F-404 : Techniques avancées de systèmes d exploitation

L informatique en BCPST

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

PIC EVAL Dev Board PIC18F97J60

Téléphone de Secours Memcom

Transcription:

Chapitre 2 Arduino 1

Plan du chapitre 2 Electronique, électricité, automatique L'environnement de développement pour Arduino Un site émulateur Le langage C Codage de circuits 2

Electronique et électricité : définitions "L'électronique est une branche de la physique appliquée, traitant de la mise en forme et de la gestion de signaux électriques, permettant de transmettre ou recevoir des informations." Elle traite plutôt les courants faibles source : https://fr.wikipedia.org/wiki/%c3%89lectronique "L électricité est l'effet du déplacement de particules chargées, à l intérieur d'un "conducteur", sous l'effet d'une différence de potentiel aux extrémités de ce conducteur" source : https://fr.wikipedia.org/wiki/%c3%89lectricit%c3%a9 Bref électricité = le phénomène physique, électronique = la science étudiant ce phénomène 3

Un circuit électrique L'électricité est le déplacement d'électrons ~ un courant d'eau est un déplacement d'eau => courant électrique Un générateur d'électricité récupère les électrons qu'il a envoyés => les électrons tournent dans un circuit! Le point d'entrée où les électrons entrent dans le circuit est appelée la source électrique Le point de retour des électrons est appelé la terre 4

Intensité d'un courant L'intensité du courant est la "quantité d'électricité" traversant une section de circuit pendant une seconde. C'est le débit de quantité d'électricité Elle se mesure en ampères notés A ~ débit de l'eau d'un torrent, d'un fleuve 5

Courant continu et alternatif (DC, AC) Le courant continu ou CC (DC pour direct current en anglais) est un courant électrique dont l'intensité est indépendante du temps (constante) Le courant alternatif ou CA (AC pour alternating current en anglais) est un courant électrique périodique qui change de sens deux fois par période et qui transporte des quantités d'électricité alternativement égales dans un sens et dans l'autre. Un courant alternatif a donc une composante continue (valeur moyenne) nulle 6

Voltage, différence de potentiel ~ différence d'altitude pour un courant d'eau 80 mètres ~ 5 volts Figure : cascade du morel, aigueblanche savoie La différence de potentiel est mesurée en volts et est appelée aussi tension le sol = la terre 7

Résistance ~ ce qui peut ralentir le débit de l'électricité, ~ un obstacle dans le courrant ~ ce qui résiste au courant Exemples et symbole : N'a pas de sens d'utilisation Est mesuré en Ohm (Ω) 8

Valeur d'une résistance sous la forme (mantisse, exposant) Plus précisément mantisse x 10 exposant Les valeurs des chiffres de 0 à 9 sont indiqués par les valeurs sous forme des couleurs : Moyen mnémotechnique : "Big brown rabbits often yield great big vocal groans when gingerly snapped." (de gros lapins bruns gémissent fortement quand ils sont???) 9

Pour lire une valeur de résistance Orienter la résistance en mettant la précision (or ou argent) à droite Le site http://www.digikey.fr/fr/resources/conversioncalculators/conversion-calculator-resistor-colorcode-4-band peut être fort utile 10

Loi d'ohm et conséquences U = RI U en volts, R en Ohm, I en ampère Arduino ne doit pas dépasser 40 ma => on utilise les résistances Souvent pour une LED, une résistance de 10 kω soit au plus 0,5 ma 11

Cablage en série On dit que des composants électriques (résistances, LED, etc.) sont en série, si ils sont les uns à la suite des autres. Le cablage est dit en série Lorsque plusieurs composants sont reliés et câblés en série, si l'un d'entre eux est détruit, cela ouvre le branchement et le courant électrique ne passe plus dans ce branchement Dans un cablage en série, tous les composants de ce cablage sont traversés par la même intensité (en ampère) Dans un cablage en série, la somme des différences de potentiels (en volts) traversant chaque composant est égale à la différence de potentiel entre l'entrée du premier et la sortie du dernier composant Pour une connexion de résistances en série, la résistance totale est égale à la somme des résistances 12

Cablage en parallèle On dit que des composants électriques (ou des groupes de composants) sont en parallèle, si leurs extrémités sont réunis (dans un même nœud). Le cablage est dit en parallèle Exemple : deux résistances en parallèle => il existe plusieurs chemins par lesquels le courant peut passer Dans un branchement en parallèle, les branches sont soumises à la même tension (en volt) Dans un branchement en parallèle, l'intensité n'est pas obligatoirement la même dans chaque branche Avec n branches, on a la relation : I noeud = I 1 + + I n où I j est le courant qui traverse la branche j 13

~ valve unidirectionnelle Diode Le courant ne passe que dans un sens pour le faible voltage d'arduino. Il faut un voltage énorme pour faire passer le courant dans l'autre sens => une diode a un sens d'utilisation Symbole : LED = light-emitting diode = diode électroluminescente : émet de la lumière au passage du courant Symbole : 14

Remarque sur les LEDs Les led sont des diodes (le D de LED) Elles sont donc orientés La partie liée au potentiel le plus fort (le +) correspond à la branche la plus grande : c'est l'anode La partie liée au potentiel le plus faible (le -), en général la terre, correspond à la branche la plus petite : c'est la cathode 15

Interrupteur = Switch = Button, PushButton Lors d'un appui sur le boutons les broches d'un même coté sont connectées. Pas les broches en face à face! 16

La "planche à pain" (breadboard) Permet de connecter des composants entre eux sans soudure! 17

Les lignes de contact du breadboard 18

Electronique et électricité : pour commencer Comment lire un schéma électrique : How to Read a Schematic: https://learn.sparkfun.com/tutorials/how-to-reada-schematic La "planche à pain" = Breadboard = https://learn.sparkfun.com/tutorials/how-to-use-abreadboard Les résistances = Résistance = https://learn.sparkfun.com/tutorials/resistors Diode = https://learn.sparkfun.com/tutorials/diodes Light-emitting Diodes (LEDs) = https://learn.sparkfun.com/tutorials/lightemitting-diodes-leds 19

Retour sur la carte Arduino Deux pins terre (en vert), deux pins de potentiel (3,3 volts et 5 volts). On utilise généralement le 5 volts Conseil : à relier au lignes "horizontales" de pins du breadboard 20

Exercice Que de l'électricité (ou de l'électronique) Une led, 2 interrupteurs, éventuellement d'autres composants 21

Arduino : l'environnement de développement Voir à https://www.arduino.cc/en/main/software Le télécharger, c'est gratuit! et l'installer 22

Lancement de l'ide Arduino IDE = Integrated Development Environment = Environnement de développement intégré Au lancement on a : Editeur de texte pour rédiger le programme 23

Arduino, matériel et logiciel : résumé "Your learning will be enhanced if you purchase the recommended hardware for this course. I recommend the Arduino Uno Rev 3 Ultimate Starter Kit, http://www.vilros.com/ultimatestarter-kit.html which costs approximately $54.99 USD. You don't need to purchase any software but you will need to download the Arduino IDE for free from https://www.arduino.cc/ If you do not have an Arduino, you can use the web-based Arduino simulator at 123d.circuits.io. You will need to create a free account. There are instructional videos on that website that will teach you how to use the simulator." Bref on peut avoir un émulateur de cartes et de composants pour Arduino à partir du site 123d.circuits.io. Il suffit de se créer un compte gratuit. On peut ainsi garder (dans le cloud) ses (ces) développements 24

La chaine de traitement par l'ide première ligne obtenu en cliquant sur Vérifier, seconde ligne en cliquant sur Téléverser Combine & Transform = le préprocesseur + mise en un seul fichier 25

Arduino : la programmation On programme en langage C (euh plutôt en C++) Voir un bon tutorial pour le langage C à partir de : http://www.cprogramming.com/tutorial/c/lesson1.html 26

Le langage C Le grand langage des années 70-80 Mais aussi encore aujourd'hui! Car proche de la machine Un macro assembleur (accès indirect post incrémenté) structuré (boucles, tests, fonctions, ) Très utilisé dorénavant pour l'informatique embarquée (microcontrôleurs), les jeux, pour les calculs et algorithmes performants, les systèmes d'exploitation, bref modules où la rapidité de traitement est importante La syntaxe du langage C a inspiré énormément de langages de programmation : C++, Java, JavaScript, PHP, C#,... Le langage C est un des langages les plus utilisés source : http://fr.wikipedia.org/wiki/langage_c 27

Un premier programme (1/2) #include <stdio.h> int main(void) { printf("bon courage\n"); return 0; } #include <stdio.h> inclut l'en-tête standard <stdio.h>, contenant les déclarations des fonctions d'entrée-sortie de la bibliothèque standard de C (entre autre la fonction printf utilisée) main est le nom de la fonction principale, aussi appelée point d'entrée du programme int est le type renvoyé par la fonction main Le mot clé void entre les parenthèses signifie que la fonction main ne prend aucun paramètre 28

Un premier programme (2/2) #include <stdio.h> int main(void) { printf("bon courage\n"); return 0; } Les accolades { et } entourent les instructions constituant le corps de la fonction main printf est une fonction d'écriture dans la sortie standard (la console par défaut) Le caractère " délimite une chaîne de caractères. Dans ce cas, c'est la chaîne à afficher Un point-virgule ; termine toute instruction (symbole de fin d'instruction) L'instruction return 0; indique que la fonction main retourne la valeur 0 (non utilisé ici) 29

Compilation et exécution Le langage C est un langage compilé Après avoir édité le programme précédent, il faut le compiler = le traduire en langage exécutable Il existe de nombreux compilateurs... gratuits comme gcc Si le fichier source est sauvegardé dans courage.c, la compilation est : gcc courage.c Il est alors créé un fichier exécutable. Avec Arduino, l'environnement de développement lance la compilation par le bouton Vérifier : Pour exécuter, il faut téléverser sur la carte Arduino : bouton Téléverser 30

La compilation pour Arduino Le compilateur est avr-gcc. Le résultat sera exécuté sur une plateforme AVR pas Intel Le code généré est un.hex Les programmes Arduino sont appelés des croquis (sketchs). Pourquoi? Je ne sais pas! Ils ont écrits en C++ même si on utilise essentiellement du C 31

Un premier exemple : Blink Charger, dans l'ide Arduino, l'exemple Blink à partir %REP_INSTALL_ARDUINO%\examples\01.Basics\Blink Compiler cet exemple Faire le branchements de la carte Arduino avec l'ordinateur avec le cable USB Téléverser ce croquis La "led 13" devient un clignotant! Remarque : Blink est le "Hello, world" des systèmes embarqués 32

Arduino : si pb lors du téléversement (1/2) Si pb car l'item port est grisé, il faut installer le pilote Arduino Pour cela, clic droit sur icône Ordinateur, puis Gérer Gestionnaire de périphériques Clic droit sur le périphérique fautif item "Mettre à jour le pilote..." 33

Arduino : si pb lors du téléversement (2/2) Rechercher le pilote sous le répertoire d'installation Arduino. Cliquer Installer L'item port n'est plus grisé. Il propose un menu où apparaît la carte Arduino : COM3 (Arduino/Gebuino Uno) sous windows biblio : https://www.youtube.com/watch?v=cde72xuyc7k 34

Structure d'un croquis (sketch) Un croquis n'a pas de main()! Le main() est déjà codé dans le micro-controlleur. Il lance certaines fonctions que le programmeur a codées En fait, le microcontrôleur possède déjà le programme : et ajoute notre code int main() { setup(); while (1) { loop(); } } Dans certains microcontrôleurs (mais pas pour Arduino), il faut écrire ce code 35

Structure d'un croquis (sketch) En général, le programmeur écrit la fonction setup() est lancée une et une seule fois au début du programme, euh du croquis ;-) En général, le programmeur écrit la fonction void setup(){...} void loop(){...} loop() est exécutée après setup(). Ce qui est écrit dans loop() est exécuté en boucle (eh oui) infinie. Cela peut paraître currieux mais est naturel (obligatoire?) dans les systèmes embarqués Ces deux fonctions ne retournent rien (void) et n'ont pas d'arguments 36

Le code de Blink Le code du programme Blink est : Dans setup() est indiqué que la pin 13 va fournir des tensions électriques. Derrière cette pin 13, il y a la "diode 13" de la carte Le microcontrôleur envoie (écrit) la tension maximale (HIGH) sur cette diode (digitalwrite(13, HIGH);) On attend 1 seconde (delay(1000);) Le microcontrôleur envoie (écrit) la tension minimale (LOW) sur cette diode (digitalwrite(13, LOW);) = éteint la diode On attend 1 seconde (delay(1000);) void setup() { pinmode(13, OUTPUT); } void loop() { digitalwrite(13, HIGH); delay(1000); digitalwrite(13, LOW); delay(1000); } Ces quatre instructions seront exécutées en boucle (fonction loop()) 37

Exercice Programmation de premiers circuits 38

Fin 39