Projet Arduino. Apprendre les bases de l électronique avec une carte Arduino JO BONNÉ. Lycée JEAN-MONNET BRUXELLES A.E.F.E.

Dimension: px
Commencer à balayer dès la page:

Download "Projet Arduino. Apprendre les bases de l électronique avec une carte Arduino JO BONNÉ. Lycée JEAN-MONNET BRUXELLES A.E.F.E."

Transcription

1 Projet Arduino Apprendre les bases de l électronique avec une carte Arduino JO BONNÉ Lycée JEAN-MONNET BRUXELLES A.E.F.E. 9 janvier 2017 en cours de construction Résumé La carte Arduino connaît depuis quelques années un succès 1 planétaire. Elle permet la réalisation de projets du domaine technologique au domaine artistique 2. Les logiciels Arduino et Processing ont été bien conçus pour pouvoir écrire des programmes relativement simples pour aborder la programmation avec plaisir. Les bases de l électricité peuvent être ainsi reprises et progressivement étendues de façons ludique et expérimentale, c est la vocation de ce document. L effort d apprentissage est largement récompensé : la carte Arduino ne se limite pas uniquement aux fonctions de base. Le microcontrôleur qui la gère recèle ne nombreuses possibilités d extensions et son logiciel est suffisamment ouvert pour aller bien au delà des exemples qu il présente dans son menu. Il est notamment possible d écrire directement en langage C et en langage C++. Des montages complexes peuvent alors être réalisés nécessitant une exécution rapide des lignes de code. Ce document a été essentiellement réalisé par programmation : Le texte avec LATEX, [4] Les schémas électriques avec Tik Z, package de LATEX, [8] Le logiciel Fritzing pour incorporer les images, [5] Les lignes de code avec : Le langage Arduino, Le langage Processing, Les bibliothèques controlp5 et G4P de Processing, Le langage C pour les approfondissements. Tous ces logiciels sont gratuits. 1. Prix 23 On peut découvrir les nombreux montages de l électronique de base et de faible puissance à bas coût en utilisant une plaque de prototypage «breadboard» (coût inférieur à 8 ) pour les réaliser. 2. Arduino a conquis sa place dans les arts numériques 1

2 Sommaire 1 Matériel et logiciel Alimentation I Les fonctions de bases 5 2 Sorties numériques - digital output Présentation Programmation d une sortie numérique Logique inversée Le moniteur série intégré à l IDE Arduino Son utilisation Amélioration Sorties PWM Pulse Width Modulation ou Modulation de Largeur d Impulsion Présentation Programmation d une sortie PWM Commande d une sortie PWM par le moniteur série Signal carré de fréquence audible ou ultrasonore 11 5 Entrées numériques - digital input État d une entrée numérique Entrées analogiques - analogic input 13 7 Gestion des durées Pause Instant Résumé : principales commandes spécifiques de la carte Arduino 16 II Éléments de programmation avec le logiciel Arduino 17 9 Déclaration de variable Conversions Opérateurs logiques Condition Branchement Itération avec for ou while Changement d échelle 18 III Éléments de programmation avec le logiciel Processing Introduction Sélection de commandes Processing Commandes générales Commandes spécifiques de la souris Commandes spécifiques du clavier Commande d une sortie numérique par Processing Commande d une sortie PWM par Processing Graphe d une conversion analogique-numérique avec Processing 22 IV Quelques bibliothèques de Processing Introduction La bibliothèque controlp Commande d une sortie numérique Commande d une sortie PWM La bibliothèque G4P Commande d une sortie numérique Commande d une sortie PWM V Approfondissements 27 2

3 24 Quelques registres du microcontrôleur Atmega 328 de l Arduino Uno Langage Arduino et langage C Base 10 ou décimale base 2 ou binaire base 16 ou hexadécimale Règles d écriture communément admises Comparaisons et opérations logiques Comparaisons logiques Opérations logiques et masque Décalages Fonctions de base en langage C Opérations dans un registre Déclaration d une broche en sortie Sorties numériques Sorties PWM Modification de la fréquence du signal PWM Entrées numériques Timer Interruptions - Interrupt Service Routine Exploitation des timers et des interruptions ANNEXES 35 A Compléments d électricité 35 A.1 Loi des nœuds A.2 Loi des mailles A.3 Résistance A.3.1 Généralités A.3.2 Potentiomètre A.3.3 Photorésistance A.3.4 CTN A.3.5 CTP A.3.6 Varistance A.4 Diode au germanium ou au silicium A.5 Diode LED A.6 Diode Zener A.7 Photodiode A.8 Transistor A.8.1 Variétés A.8.2 En amplificateur A.8.3 En tout ou rien A.8.4 Phototransistor A.8.5 Transistor à effet de champ A.9 L amplificateur opérationnel A.9.1 Utilisation en comparateur A.9.2 Quelques utilisations en amplificateur de tension A montage suiveur A montage inverseur A montage non-inverseur A.10 Thyristor A.11 Relais A.12 Triac A.13 Optodiac-optotriac B Bibliothèque 40 B.1 Programme sans bibliothèque mais avec des fonctions B.2 Programme avec bibliothèque C Expériences diverses 41 C.1 Afficher le potentiel du curseur d un potentiomètre C.2 Montrer la relation tension-intensité lumineuse reçue par une photorésistance C.3 Afficher la tension de seuil d une diode Glossaire 42 Références bibliographiques 43 3

4 1 Matériel et logiciel Carte Arduino Uno IDE Arduino Les expériences décrites dans ce document ont été réalisées avec un ordinateur géré par le système d exploitation Ubuntu LTS 3. Avec le Terminal d Ubuntu, on peut installer le logiciel de gestion d une carte Arduino Uno par sudo apt-get install arduino suivi du mot de passe. Une icône Arduino IDE apparaît dans le Launcher. On n obtient pas forcément la toute dernière version par cette méthode. 4 Une carte Arduino Uno R3 est connectée sur un port USB 2.0. Elle n est pas toujours reconnue automatiquement par Ubuntu. Pour que Arduino IDE puisse gérer la carte, on peut procéder ainsi à partir du Terminal : sudo arduino suivi du mot de passe. Voir la référence [1] Le logiciel s ouvre avec l indication du port utilisé en bas à droite. Par exemple : \dev\ttyacm0 sur Ubuntu. Le menu Outils/Port série/ doit normalement indiquer le port utilisé. Pour vérifier si la connexion entre l ordinateur et la carte fonctionne bien : Dans Aduino IDE : Fichier/Exemples/01.Basics/Blink Téléverser (icône ) Si la communication est bonne, pendant le chargement du programme dans la carte, les LEDs TX et RX clignotent, puis la LED placée entre la broche 13 et la masse GND clignote. Remarque : L exemple Fichier/Exemples/01.Basics/BareMinimum est le programme minimum que peut charger la carte. La LED 13 reste alors constamment allumée Alimentation La carte peut être alimentée : Par le câble USB, Par adaptateur secteur 7 V à 12 V ou par des piles sur le jack ( au centre) Avec une alimentation externe entre 7 V à 12 V avec sur la broche V in et sur GND. Avec une alimentation régulée de 5 V sur la broche 5 V. (à éviter) Lorsque la carte est alimentée, certaines broches deviennent génératrices de tension régulée : La broche 3,3 V La broche 5 V 3. Tous les logiciels utilisés dans ce document sont multiplateformes permet de télécharger la dernière version ( en octobre 2016). Après extraction du dossier téléchargé, dans le Terminal, accéder au dossier arduino puis taper./install.sh pour installer Arduino IDE 5. Important : Avant de démarrer un nouveau projet, il se peut que la mémoire de la carte Arduino contienne un ancien programme. Il vaut mieux s en débarrasser avant de brancher un nouveau circuit qui pourrait endommager la carte au moment de la mise sous tension. Il faut savoir qu en téléversant le programme BareMinimum toutes les broches deviennent des entrées numériques (sauf la broche 13) 4

5 Les fonctions de bases Il faut toujours avoir ces 3 réflexes lorsqu on fait un montage en électronique : Y a-t-il les résistances suffisantes pour que l intensité du courant ne soit pas trop élevée? S il y a des bobines : a-t-on mis les diodes de protection contre les surtensions créées par les bobines? Ne suis-je pas porteur de charge électrostatique qui pourrait détruire un circuit intégré? On commence par présenter l ensemble des fonctionnalités de la carte en utilisant le minimum de matériel, avec aussi une programmation réduite à sa plus simple expression. Résumé des commandes paragraphe 8 5

6 SORTIES 2 Sorties numériques - digital output 2.1 Présentation 2.2 Programmation d une sortie numérique Lorsqu une broche est programmée en sortie, elle peut être considérée comme un générateur. La carte Arduino Uno possède 14 broches numérotées de 0 à 13, qui peuvent être programmées soit au potentiel 0 V soit au potentiel 5 V. Cependant les broches 0 (RX) et 1 (TX) notamment ont des fonctions particulières pour la communication entre l ordinateur et la carte par le câble USB, il faut éviter de les utiliser autrement. La broche 13 est par construction reliée à GND (ground) par une LED en série avec une résistance. Elle permet surtout de vérifier facilement le bon fonctionnement de la connexion entre la carte et l ordinateur. Attention : les autres sorties numériques peuvent avoir d autres fonctions dans le cadre de certains programmes à l exception de la broche 7. Les broches GND sont au potentiel 0 V. Si on doit relier une broche au potentiel 5 V à une broche au potentiel 0 V par une chaîne de conducteurs (surtout pas directement par un câble mais par exemple avec une résistance suffisamment grande de l ordre de 500 Ω), ceux-ci sont alors parcourus par un courant qui circule du potentiel le plus élevé vers le potentiel le plus faible. L intensité de ce courant se mesure en ampères (courant fort), milliampères (courant faible) ou microampères (courant très faible). Les cartes peuvent être détériorées si on dépasse une limite de courant. Cette limite n est que de 40 ma pour une sortie numérique. Si on utilise plusieurs sorties numériques, le total ne doit pas dépasser 200 ma. La carte Arduino est gérée par un logiciel dédié : on parle du langage Arduino 6. Il est vivement recommandé de commenter les lignes de code d un programme. Il y a 2 façons d ajouter des commentaires dans un programme : après // en restant sur la ligne entre /* et */ sur plusieurs lignes. Le programme Fichier/Exemples/01.Basics/BareMinimum indique les 2 instructions obligatoires qu il faudra écrire dans n importe quel programme : void setup() // les instructions écrites ici ne sont exécutées qu'une seule fois. void loop() // les instructions écrites ici sont exécutées en boucle. Quelques expériences avec le programme Fichier/Exemples/01.Basics/Blink : int led = 13; //on affecte à la variable led la valeur entière 13 void setup() pinmode(led, OUTPUT); //la broche 13 est déclarée en SORTIE void loop() digitalwrite(led, HIGH); delay(1000); digitalwrite(led, LOW); delay(1000); //en boucle //la broche 13 est portée à 5 V //durée 1 s //la broche 13 est portée à 0 V //durée 1 s On peut remplacer HIGH par 1 et LOW par 0. On peut remplacer OUTPUT par 1 (et INPUT par 0) 6. Le langage Arduino est proche du langage C. Le code C est compatible avec le code Arduino voir 25 page 28 6

7 On peut supprimer la déclaration de variable int led = 13; et remplacer led par 13 Chaque changement sur le programme n est effectif qu après avoir téléversé la nouvelle version dans la mémoire de la carte. Si la carte est alimentée par une source extérieure, débrancher le câble USB ne change rien : le programme est installé dans la mémoire de la carte et exécuté en boucle indéfiniment (ou jusqu à ce qu on téléverse un nouveau programme). On pourra constater aussi que le programme placé en mémoire est sauvegardé même s il y a coupure de courant. Programme minimum pour que la broche 13 soit en permanence sous 5 V : void setup() pinmode(13,1); //la broche 13 est déclarée en SORTIE digitalwrite(13,1); //la broche 13 est portée à 5 V et la LED est allumée void loop() Programme minimum pour que la broche 13 soit en permanence sous 0 V : void setup() pinmode(13,1); //la broche 13 est déclarée en SORTIE digitalwrite(13,0); //la broche 13 est portée à 0 V et la LED est éteinte void loop() 2.3 Logique inversée Remarque importante : il ne faut pas associer systématiquement 1 et passage du courant, 0 et absence de courant. Il est toujours possible de réaliser un circuit en «logique inversée». En effet, les 2 techniques ne sont pas toujours équivalentes, l intensité du courant produit n étant pas forcément égale dans les 2 cas. 5 V i R 0 V sortie numérique 5 V R sortie numérique R i 0 V i logique 0 V 5 V logique inversée sortie numérique LED sortie numérique LED 1 allumée 0 éteinte 1 éteinte 0 allumée 2.4 Le moniteur série intégré à l IDE Arduino Son utilisation Il est souhaitable de commander la LED non pas en chargeant un nouveau programme mais en modifiant le programme en cours. Pour intervenir dans le programme en exécution, on passe par le moniteur série accessible par l icône. Le moniteur est divisé en 2 parties : en haut : un cadre qui permet d envoyer des caractères de l ordinateur vers le «buffer», mémoire-tampon de la carte. en dessous : ce qui est envoyé de la carte vers l ordinateur. Pour que la communication ait lieu entre le moniteur série et l ordinateur, il faut synchroniser le débit d informations des 2 côtés : on déclare par exemple 9600 bauds sur le moniteur et on écrit l instruction Serial.begin(9600); dans le programme. 7

8 Pour commander la LED, il faut pouvoir écrire HIGH ou 1 pour l allumer ou LOW ou 0 pour l éteindre dans l instruction digitalwrite. On reprend le programme minimum qui allume la LED 13 en permanence. byte etat=1; byte val1; byte val2; void setup() Serial.begin(9600); pinmode(13,output); digitalwrite(13,etat); //la broche 13 est déclarée en SORTIE //la broche 13 est portée à 5 V et la LED est allumée void loop() val1=serial.available(); // val1: nombre de caractères dans le buffer val2=serial.read(); // val2: transformation du premier caractère en valeur ASCII correspondant. Par exemple 0 donne 48 et 1 donne 49. Il y a 256 valeurs ASCII disponibles. Serial.print(val1); // écrit sur le moniteur val 1 Serial.print(" "); // laisse un espace de 2 caractères sur la même ligne Serial.print(val2); // écrit sur le moniteur val 1 sur la même ligne if (val1>0) // s'il y a un caractère au moins dans le buffer etat=val2-48; // soustraction valeur ASCII - 48 = 0 ou autre nombre digitalwrite(13,etat); // si 0 LED éteinte, si autre nombre LED allumée Serial.print(" "); Serial.println(etat); // affichage de etat delay(1000); La boucle loop permet de recevoir l ordre qui permet de commander la LED. On constate que tous les caractères autres que 0 allument la LED. On pourra remarquer que l envoi de certains caractères donnent 2 valeurs ASCII consécutives (par exemple µ ou $) Amélioration Le moniteur série intégré à l IDE Arduino permet d envoyer dans la mémoire de la carte des instructions caractères par caractère ou par blocs de caractères qu il faut ensuite assembler par une programmation qui peut s avérer fastidieuse. Pour contourner avantageusement cette difficulté, on peut utiliser le logiciel Processing. Certains exemples accessibles par l IDE Arduino contiennent d ailleurs des sous programmes à copier coller dans Processing. Une partie de ce document est consacrée à l utilisation de Processing dans le but de remplacer le moniteur série de l IDE Arduino : Commande d une sortie numérique par Processing : voir 18 page 20 Commande d une sortie numérique par Processing avec la bibliothèque controlp5 : voir 22 page 23 Commande d une sortie numérique par Processing avec la bibliothèque G4P : voir 23 page 25 8

9 3 Sorties PWM Pulse Width Modulation ou Modulation de Largeur d Impulsion 3.1 Présentation Les broches 3, (5, 6), 9, 10 et 11 peuvent être utilisées en PWM. On les repère facilement sur la carte : à côté du numéro de la broche. Les broches 5 et 6 sont cependant à éviter car elles peuvent être perturbées dans la gestion du temps. Chaque broche déclarée en PWM par une commande analogwrite(<numéro de la broche>, <0 à 255> ) génère un signal carré : c est un signal de très courte durée (appelée période) qui se répète identiquement à lui-même (à une fréquence d environ 490 Hz c est-à-dire que ce signal se répète 490 fois par seconde) : exemple : si la valeur indiquée est 64, alors pendant = 0,25 soit 25% du temps, le potentiel de la broche sera à +5 V et le reste du temps à 0 V. On dit que le rapport cyclique est de 25%. potentiel PWM 5 V 25% T période T s 75% T allumé éteint 0 V t en ms 3.2 Programmation d une sortie PWM /* Ce programme permet de faire varier de plus en plus fort la luminosité d'une LED placée en série avec une résistance de l'ordre de 500 ohms. */ int LED=3; int i=0; // La broche 3 peut être choisie. // variable de boucle void setup() pinmode(led, OUTPUT); // On déclare la broche 3 en SORTIE void loop() for (i=0; i<=255;i++) // toutes les valeurs de 0 à 255 sont utilisées tour à tour analogwrite(led,i); // commande générant le signal carré delay(10); // chaque valeur i dure 10 ms 3.3 Commande d une sortie PWM par le moniteur série float etat;//comme il y a une puissance dans le programme, il faut déclarer en float float val1; float val2; 9

10 float total=0; void setup() Serial.begin(9600); pinmode(3,output); //broche 3 en sortie analogwrite(3,123);//la led 3 brille à moitié void loop() val1=serial.available();//val1 nombre de caractères dans le buffer if(val1!=0)// val1: nombre de caractères dans le buffer val2=serial.read();// val2: transformation du premier caractère en valeur ASCII correspondant. Par //exemple 0 donne 48 et 1 donne 49. Il y a 256 valeurs ASCII disponibles. Serial.print(val1);// écrit sur le moniteur val 1 Serial.print(" ");// laisse un espace de 2 caractères sur la même ligne Serial.print(val2);// écrit sur le moniteur val 1 sur la même ligne if (val1>0)// s'il y a un caractère au moins dans le buffer etat=val2-48; total=total+etat*pow(10,val1-1);// soustraction valeur ASCII - 48 = 0 ou autre nombre total=constrain(total,0,255); Serial.print(" "); Serial.print(etat);// affichage de etat Serial.print(" "); Serial.println(total); analogwrite(3,total); delay(100); else total=0; delay(100); 10

11 4 Signal carré de fréquence audible ou ultrasonore La commande tone(<pin>,<frequence>,<durée>) permet d obtenir un signal carré de fréquence allant de 31 Hz à Hz. La durée en ms est optionnelle. La broche <pin> doit préalablement être déclarée en sortie. potentiel période T = 1 f 50% 50% 5 V 0 V t On peut brancher par exemple un haut-parleur d impédance 8 Ω en série avec une résistance de protection, le tout entre la broche 2 et la broche GND : broche 2 HP R=220 Ω 8 Ω Le programme suivant permet d entendre le la 3 pendant 5 secondes : void setup() pinmode(2,output); tone(2,440,5000); void loop() 0 V notone(<pin>) arrête le signal. 11

12 ENTRÉES 5 Entrées numériques - digital input Les broches numérotées de 0 à 13 peuvent être utilisées aussi en entrées numériques. Lorsqu une broche est programmée en entrée, elle peut être considérée comme un appareil testeur de tension. Une entrée numérique lit une tension et la traduit soit par un 0 (entre 0 V et environ 2,5 V c est le niveau bas ou LOW) soit par un 1 (entre environ 2,5 V et 5 V c est le niveau haut ou HIGH). Il y a donc un intervalle de potentiel autour de 2,5 V ou la lecture est incertaine 7. Chaque broche en entrée numérique peut par programmation être reliée au +5 V par l intermédiaire d une résistance interne de «rappel au plus» (pull-up) de 20 à 50 kω. Il faut éviter d utiliser les broches 0 (RX), 1 (TX) et 13. (voir 2.1) 5.1 État d une entrée numérique Quelques expériences avec le programme Fichier/Exemples/01.Basics/DigitalReadSerial : /* Ce programme lit l'état de la broche 2 et l'écrit sur le moniteur série On relie avec un câble la broche 2 à GND ou à la broche 5 V ou à la broche 3,3 V */ int pin = 2; void setup() Serial.begin(9600); // il faut initialiser la connexion série à 9600 bauds (nombre de symboles transmissibles par seconde) pinmode(pin, INPUT); // on déclare la broche 2 en entrée: void loop() int etat = digitalread(pin); // lit l'état 0 ou 1 sur la broche 2 Serial.println(etat); // écrit l'état sur le moniteur suivi d'un retour à la ligne (sinon print) delay(1); // précaution pour éviter que la routine soit trop rapide (en ms) Il est nécessaire de cliquer sur l icône pour lire les résultats sur le moniteur série. Attention à vérifier que la vitesse de transmission des données est la même que celle indiquée dans le programme : 9600 bauds. Si le câble relié à la broche 2 n est pas branché de l autre côté («en l air»), alors l état de l entrée devient aléatoire. Pour éviter cela et imposer dans ce cas l état 1, il suffit de remplacer pinmode(pin, INPUT) par pinmode(pin, INPUT_PULLUP) On peut remplacer INPUT par 0 7. phénomène d hystérésis : le passage de 0 à 1 n a pas lieu pour le même potentiel que pour le passage de 1 à 0. La datasheet du micro-contrôleur garantit que toute tension inférieure à 1V sera comprise comme un 0 et que toute tension supérieure à 3,5V sera comprise comme un 1. 12

13 6 Entrées analogiques - analogic input La carte Arduino Uno possède 6 broches numérotées de A0 à A5. Elles peuvent être utilisées en entrée analogique : un potentiel entre 0 V et 5 V sera converti en un nombre de 0 à 1023, proportionnellement c est le travail d un CAN convertisseur analogiquenumérique intégré au micro-contrôleur de la carte. Ce nombre peut être récupéré puis utilisé.on remarquera ainsi qu avec la carte Arduino, une variation de ,9 mv peut être détectée. On s inspire de l exemple : Fichier/Exemples/01.Basics/AnalogReadSerial : /* La broche A0 reçoit une tension entre 0 V et 5 V et la convertit en un nombre compris entre 0 et 1023 grâce à un convertisseur analogique numérique CAN 10 bits (2^10=1024) On relie avec un câble la broche A0 à GND, à la broche 5 V ou à la broche 3,3 V. */ void setup() Serial.begin(9600); // il faut initialiser la connexion série à 9600 bits par seconde void loop() int valeur = analogread(a0); // lit la tension sur la broche A0 et la convertit Serial.println(valeur); // écrit la valeur sur le moniteur série delay(500); // pause de 0,5 seconde En plaçant un potentiomètre entre 0 et 5 V et en branchant le curseur sur A0 on peut faire défiler toutes les valeurs de 0 à Remarque : On peut modifier la tension de référence du convertisseur analogique numérique de l Arduino : analogreference(internal); remplace la tension de référence 5 V par une tension de référence de 1,1 V. La conversion reste 10 bits. La résolution est alors de l ordre de 1,1 mv. analogreference(external); remplace la tension de référence 5 V par la tension appliquée sur la broche AREF; entre 1,1 et 5 V, au travers une résistance de 5kΩ (par précaution bien qu il y ait une résistance interne de 32kΩ sur la broche AREF;). analogreference(default); impose la tension de référence 5 V. 13

14 7 Gestion des durées 7.1 Pause TEMPS La commande delay(<durée>) arrête le déroulement du programme pendant la durée en millisecondes (ms) indiquée. La commande delaymicroseconds(<durée>) arrête le déroulement du programme pendant la durée en microsecondes (µs) indiquée. 7.2 Instant La commande millis() donne le nombre de ms depuis la mise en route du programme. (jusqu à 50 jours!). La commande micros() donne le nombre de µs depuis la mise en route du programme. (jusqu à 70 minutes environ). unsigned long time; void setup() Serial.begin(9600); void loop() Serial.print("Time: "); time = millis(); //affiche le temps depuis que le programme a démarré Serial.println(time); // pause d'une seconde delay(1000); Attention : Les commandes delay(<durée>) et delaymicroseconds(<durée>) bloquent l exécution du programme pendant la durée indiquée : aucune autre tâche ne peut être exécutée pendant cette durée. byte etatdel13 = HIGH; byte etatdel12 = HIGH; unsigned long datedernierchangement13 = 0; unsigned long datedernierchangement12 = 0; void setup() pinmode(13, OUTPUT); pinmode(12, OUTPUT); void flashdel13() unsigned long datecourante = millis(); unsigned long intervalle = datecourante - datedernierchangement13; if (etatdel13 == HIGH && intervalle > 20) // extinction de la DEL car elle est allumee (HIGH) et 20ms se sont ecoules etatdel13 = LOW; digitalwrite(13, etatdel13); datedernierchangement13 = datecourante; else if (etatdel13 == LOW && intervalle > 980) // allumage de la DEL car elle est eteinte (LOW) et 980ms se sont ecoules etatdel13 = HIGH; digitalwrite(13, etatdel13); datedernierchangement13 = datecourante; void flashdel12() unsigned long datecourante = millis(); unsigned long intervalle = datecourante - datedernierchangement12; if (etatdel12 == HIGH && intervalle > 100) // extinction de la DEL car elle est allumee (HIGH) et 100ms se sont ecoules etatdel12 = LOW; digitalwrite(12, etatdel12); datedernierchangement12 = datecourante; else if (etatdel12 == LOW && intervalle > 200) // allumage de la DEL car elle est eteinte (LOW) et 200ms se sont ecoules etatdel12 = HIGH; digitalwrite(12, etatdel12); datedernierchangement12 = datecourante; 14

15 void loop() flashdel13(); flashdel12(); 15

16 8 Résumé : principales commandes spécifiques de la carte Arduino broches (0, 1,) 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 et 13 pinmode(<numéro de la broche>,output) digitalwrite(<numéro de la broche>,high) digitalwrite(<numéro de la broche>,low) la broche est une SORTIE la sortie est portée à +5 V la sortie est portée à 0 V tone(<pin>, <frequence>, <durée>) la sortie est un signal carré la durée est optionnelle notone(<pin>) arrête le signal carré pinmode(<numéro de la broche>,input) la broche est une ENTRÉE lit 0 ou 1 si elle est en l air pinmode(<numéro de la broche>,input_pullup) la broche est une ENTRÉE lit 1 si elle est en l air int etat = digitalread(<numéro de la broche>) lit l état de l ENTRÉE 0 ou 1 broches A0, A1, A2, A3, A4, A5 int valeur = analogread(<numéro de la broche>) lit la valeur de l ENTRÉE 0 à 1023 analogreference(<option>); DEFAULT : 5 V INTERNAL : 1,1 V EXTERNAL : entre 1,1 et 5 V PWM broches 3, (5, 6), 9, 10 et 11 analogwrite(<numéro de la broche>, <valeur>) 0 à 255 «pseudo-analogique» moniteur série Serial.begin(<vitesse en bauds>) Serial.print(<valeur>) Serial.println(<valeur>) valeur=serial.available() valeur=serial.read() durée delay(<durée>) ouverture de la communication série écrit valeur dans le moniteur série sans retour à la ligne écrit valeur dans le moniteur série avec retour à la ligne indique le nombre de caractères dans le buffer du moniteur convertit en valeur ASCII le premier caractère dans le buffer du moniteur pause en ms maximum 128 delaymicroseconds(<durée>) pause en µs millis() permet d utiliser la durée en ms depuis le démarrage d un programme micros() permet d utiliser la durée en µs depuis le démarrage d un programme 16

17 Éléments de programmation avec le logiciel Arduino 9 Déclaration de variable exemple de syntaxe occupation mémoire commentaire boolean b = true; true ou false b =!b; inverse l état unsigned char mychar = 'A'; synonyme : byte 0 à 255 (8 bits 1 byte) code ASCII de A = 65 char mychar; -128 à 127 (8 bits 1 byte) le résultat est un caractère non un chiffre byte b = B10010; 0 à 255 (8 bits 1 byte) B10010 nombre binaire int led = 13; à (16 bits 2 bytes) à unsigned int led = 13; synonyme : word 0 à ( ) (16 bits 2 bytes) long var = <valeur>; à (32 bits 4 bytes) unsigned long var = <valeur>; 0 à ( ) (32 bits 4 bytes) float n = 1.117; synonyme : double int led[8]=4,5,6,7,8,9,10,11; 3, à 3, (32 bits 4 bytes) précision 6 ou 7 décimales. déclare un tableau de 8 constantes const byte pinled = 13; déclare une valeur qui ne changera pas au cours du programme 10 Conversions Les nombres entiers peuvent être entrés ou obtenus dans les bases 10 (base décimale), 2 (base binaire) et 16 (base hexadécimale). Par défaut, c est la base 10 qui est prise en compte. void setup() Serial.begin(9600); Serial.println(123,BIN);//123 en décimal = en binaire = 7B en hexadécimal Serial.println(B ,DEC); //préfixe B pour entrer un nombre binaire Serial.println(123,HEX); Serial.println(0x7B,DEC); //préfixe 0x pour entrer un nombre hexadécimal void loop() 11 Opérateurs logiques Attention : = est une affectation et== est une égalité.!= différent de si P est Vrai,!P est faux. && renvoie Vrai uniquement si les deux conditions sont vraies ensemble. renvoie Vrai si et seulement si une des valeurs est Vraie. ^ renvoie Vrai si une seule des conditions est vrai et l autre fausse. 12 Condition int seuil = 80 ; int valeur = analogread(a0) ; if (valeur > seuil) // traitement si la valeur est strictement supérieure else // facultatif // traitement si la valeur est inférieure ou égale 17

18 if (analogread(0) > 400) // si la valeur analogique du capteur > 400 return 1; // renvoie 1 else return 0; // renvoie 2 13 Branchement byte boutonactif = 0 ; // traitement qui permet de savoir sur quel bouton on a appuyé, contient 0 si aucun bouton n'a été utilisé switch ( boutonactif ) case 1 : // traitement si c'est le bouton 1 break ; case 2 : // traitement si c'est le bouton 2 break ; case 3 : // traitement si c'est le bouton 3 break ; default : // traitement si aucun bouton n'a été utilisé break ; 14 Itération avec for ou while int tab[128] ; // définition d'un tableau d'entiers contenant 128 cases, indexées de 0 à 127 int somme = 0 ; for (int i = 0 ; i < 128 ; i++) //i = i +1 somme += tab[i] ;//somme = somme + tab[i] float moyenne = somme / ;//128.0 float et non entier int state = LOW ; // on suppose le bouton inactivé while (state == LOW) digitalwrite(led1, HIGH) ; // on allume la LED d'alarme delay(500) ; // on attend une demi-seconde digitalwrite(led1, LOW) ; // on éteint la LED d'alarme delay(500) ; // on attend une demi-seconde state = digitalread(button) ; digitalwrite(led2, HIGH) ; // on allume la LED indiquant un bon fonctionnement do // instructions de la boucle while (condition); 15 Changement d échelle val2 = map(val1,400,1000,0,255); 18

19 16 Introduction Éléments de programmation avec le logiciel Processing Certains exemples de programmes présentés dans l IDE Arduino contiennent des sous-programmes à copier-coller dans le logiciel Processing. Un programme Processing pourra notamment remplacer avantageusement le moniteur série. On peut créer à l écran une interface de commande de la carte Arduino avec des boutons, des curseurs, des fenêtres... Attention : bien que Arduino et Processing soient produits par la même communauté de développeurs, les syntaxes sont proches mais pas identiques. Processing est multiplateforme, on peut le télécharger et l installer à partir du site Pour lancer facilement Processing sur Ubuntu, une solution consiste à ouvrir le fichier processing avec l éditeur Geany dont les fonctionnalités sont plus complètes que celles de Gedit) et taper F5. L IDE Processing ressemble beaucoup à l IDE Arduino. Remarque : La partie inférieure de l IDE Processing est une console sur laquelle on peut recueillir des données résultant de l exécution du programme en cours. Elle n a donc pas le même usage que la partie inférieure de l IDE Arduino sur laquelle on recueille notamment des messages d erreurs. Fichier/Exemples est un bon moyen pour apprendre à programmer en langage Processing. On remarquera que sans aucune ligne de programme, simplement en appuyant sur l icône un résultat : un carré gris de 100 pixels de côté. qui exécute le programme, on obtient Contrairement à l IDE Arduino, il est possible d écrire directement des lignes de code sans les insérer dans des procédures void () et obtenir un résultat après compilation. En général, un programme Processing, à l instar d un programme Arduino, comporte ces 2 procédures : void setup() dans laquelle les lignes de code sont exécutées une seule fois, et void draw() dans laquelle les lignes de code sont exécutées en bouche. Dans le cadre de ce document, il s agit d abord d utiliser les exemples des 2 IDE pour remplacer le moniteur série d Arduino par un programme Processing qui s avérera beaucoup plus évolutif. 17 Sélection de commandes Processing 17.1 Commandes générales 17.2 Commandes spécifiques de la souris 17.3 Commandes spécifiques du clavier 19

20 18 Commande d une sortie numérique par Processing L exemple suivant reprend en l épurant Fichier/Exemples/Serial/SimpleWrite de l IDE Processing : On commande l allumage ou l extinction d une LED par déplacement de la souris sur un carré : Voici le programme à téléverser dans la carte Arduino : char val; void setup() pinmode(3, OUTPUT); Serial.begin(9600); //val est une variable de type char, chaîne de caractères //broche 3 en sortie numérique //établit la communication carte - ordinateur void loop() while (Serial.available()) //tant qu'il y a des données dans le buffer val = Serial.read(); //le premier caractère dans le buffer est lu if (val == 'H') //si ce caractère est H digitalwrite(3, HIGH); //allume la LED else digitalwrite(3, LOW); //si ce n'est pas H, la LED est éteinte delay(100); //pause de 0,1 seconde Programme Progressing associé : import processing.serial.*; communication par le port USB Serial port; int val; //mise en service de la bibliothèque de gestion de //obligatoire //déclaration de variable entière 200px void setup() size(200, 200); //crée un carré (par défaut Processing crée un carré de 100 de côté) port = new Serial(this, "/dev/ttyacm0", 9600); //ouverture de la communication entre l' ordinateur et la carte void draw() if (mousex<100) port.write('h'); else port.write('l'); //création du dessin //partie gauche du carré //envoie un H vers la carte //envoie un L vers la carte 0 < mousex < < mousex < px 20

21 19 Commande d une sortie PWM par Processing L exemple suivant reprend en l épurant Fichier/Exemples/04 Communication/Dimmer de l IDE Arduino : On commande l allumage progressive ou l extinction progressive d une LED par déplacement de la souris sur un rectangle : Voici le programme à téléverser dans la carte Arduino : void setup() Serial.begin(9600); pinmode(3, OUTPUT); //ouverture de la communication entre l'ordinateur et la carte //broche 3 en sortie void loop() byte brightness; if (Serial.available()) brightness = Serial.read(); analogwrite(3, brightness); Programme Progressing associé : 255px import processing.serial.*; Serial port; void setup() size(255, 200); port = new Serial(this, "/dev/ttyacm0", 9600); void draw() port.write(mousex); mousex px 21

22 20 Graphe d une conversion analogique-numérique avec Processing Un potentiomètre est placé entre 5 V et 0 V,le curseur sur l entrée analogique A0. Programme Arduino : int mesure=0; void setup() Serial.begin(9600); //variable résultat de la conversion analogique numérique //connexion ordinateur carte void loop() mesure=analogread(0); //lecture de la tension et conversion Serial.println(mesure); //envoi de la valeur sur le moniteur série delay(100); Programme Processing : import processing.serial.*; Serial port; int x = 1; float y = 0; void setup () size(400, 300); port = new Serial(this, "/dev/ttyacm0", 9600); background(255); void draw () stroke(255,0,0); point(x, height - y); if (x >= width) x = 0; background(255); else x++; void serialevent (Serial port) String caracteres = port.readstringuntil('\n');//recueille ce qui vient de la carte tant qu'il n'y a pas de <<retour chariot>> if (caracteres!= null) caracteres = trim(caracteres);//enlève les espaces blancs entre caractères y = float(caracteres);//convertit la chaîne en nombre y = map(y, 0, 1023, 0, height);//transforme les valeurs pour que toute la hauteur de l'é cran puisse être occupé 22

23 Quelques bibliothèques de Processing 21 Introduction Des bibliothèques complètent Processing. Elles peuvent permettre d éviter de nombreuses lignes de code en fournissant des commandes prêtes à l emploi : par exemple un bouton pour commander une LED. On se limitera dans ce document à 2 d entre elles : controlp5 et G4P. 22 La bibliothèque controlp Commande d une sortie numérique Programme à écrire dans l IDE Arduino : char val; //val est une variable de type char, chaîne de caractères void setup() pinmode(3, OUTPUT); //broche 3 en sortie numérique Serial.begin(9600); //établit la communication carte - ordinateur void loop() while (Serial.available()) //tant qu'il y a des données dans le buffer val = Serial.read(); //le premier caractère dans le buffer est lu if (val == 'H') //si ce caractère est H digitalwrite(3, HIGH); //allume la LED else digitalwrite(3, LOW); //si ce n'est pas H, la LED est éteinte delay(100); //pause de 0,1 seconde Programme à écrire dans l IDE Processing : import processing.serial.*; //mise en service de la bibliothèque de gestion de communication par le port USB import controlp5.*; Serial port; //obligatoire ControlP5 cp5; int val; //déclaration de variable entière void setup() size(250, 150); port = new Serial(this, "/dev/ttyacm0", 9600); cp5 = new ControlP5(this); cp5.addbutton("allume").setposition(50,50).setsize(50,50) ; cp5.addbutton("eteint").setposition(150,50).setsize(50,50) ; void draw() public void allume() port.write('h'); public void eteint() port.write('l'); 23

24 22.2 Commande d une sortie PWM Programme à écrire dans l IDE Arduino : void setup() Serial.begin(9600); la carte pinmode(3, OUTPUT); //ouverture de la communication entre l'ordinateur et //broche 3 en sortie void loop() byte brightness; if (Serial.available()) brightness = Serial.read(); analogwrite(3, brightness); Programme Progressing associé : import processing.serial.*; import controlp5.*; Serial port; ControlP5 cp5; int slidervalue = 100; void setup() size(255, 200); cp5 = new ControlP5(this); cp5.addslider("slidervalue").setposition(80,50).setrange(0,255) ; port = new Serial(this, "/dev/ttyacm0", 9600); void draw() port.write(slidervalue); 24

25 23 La bibliothèque G4P 23.1 Commande d une sortie numérique Programme à écrire dans l IDE Arduino : char val; //val est une variable de type char, chaîne de caractères void setup() pinmode(3, OUTPUT); //broche 3 en sortie numérique Serial.begin(9600); //établit la communication carte - ordinateur void loop() while (Serial.available()) //tant qu'il y a des données dans le buffer val = Serial.read(); //le premier caractère dans le buffer est lu if (val == 'H') //si ce caractère est H digitalwrite(3, HIGH); //allume la LED else digitalwrite(3, LOW); //si ce n'est pas H, la LED est éteinte delay(100); //pause de 0,1 seconde Programme Progressing associé : Premier onglet : import processing.serial.*; import g4p_controls.*; Serial port; public void setup() size(200, 100, JAVA2D); creategui(); customgui(); port = new Serial(this, "/dev/ttyacm0", 9600); public void draw() background(230); public void customgui() Deuxième onglet : public void button1_click1(gbutton source, GEvent event) port.write('h'); public void button2_click1(gbutton source, GEvent event) port.write('l'); public void creategui() G4P.messagesEnabled(false); G4P.setGlobalColorScheme(GCScheme.BLUE_SCHEME); G4P.setCursor(ARROW); surface.settitle("sketch Window"); button1 = new GButton(this, 56, 13, 80, 30); button1.settext("allume"); button1.addeventhandler(this, "button1_click1"); button2 = new GButton(this, 55, 56, 80, 30); button2.settext("eteint"); button2.addeventhandler(this, "button2_click1"); GButton button1; GButton button2; 25

26 23.2 Commande d une sortie PWM Programme à écrire dans l IDE Arduino : void setup() Serial.begin(9600); la carte pinmode(3, OUTPUT); //ouverture de la communication entre l'ordinateur et //broche 3 en sortie void loop() byte brightness; if (Serial.available()) brightness = Serial.read(); analogwrite(3, brightness); Programme Progressing associé : Premier onglet : import processing.serial.*; import g4p_controls.*; Serial port; public void setup() size(200,100, JAVA2D); port = new Serial(this, "/dev/ttyacm0", 9600); creategui(); customgui(); public void draw() background(210); port.write(cs.getvaluei()); public void customgui() Deuxième onglet : public void custom_slider1_change1(gcustomslider source, GEvent event) public void creategui() G4P.messagesEnabled(false); G4P.setGlobalColorScheme(GCScheme.BLUE_SCHEME); G4P.setCursor(ARROW); surface.settitle("sketch Window"); cs = new GCustomSlider(this, 51, 28, 100, 40, "grey_blue"); cs.setshowvalue(true); cs.setshowlimits(true); cs.setlimits(127, 0, 255); cs.setnumberformat(g4p.integer, 0); cs.setopaque(false); cs.addeventhandler(this, "custom_slider1_change1"); GCustomSlider cs; 26

27 Approfondissements 27

28 Cette partie nécessite de connaître quelques éléments de l architecture du microcontrôleur Atmega328 de l Arduino Uno. 24 Quelques registres du microcontrôleur Atmega 328 de l Arduino Uno Le microcontrôleur est un Atmega 328. Les broches sont regroupées en ports 8 bits 8 port B port C port D bit broche bit broche bit broche AREF GND 5 13 PB PB PB PB2 1 9 PB1 0 8 PB0 25 Langage Arduino et langage C 0 A0 PC0 1 A1 PC1 2 A2 PC2 3 A3 PC3 4 A4 PC4 5 A5 PC5 7 7 PD7 6 6 PD6 5 5 PD5 4 4 PD4 3 3 PD3 2 2 PD2 1 1 PD1 0 0 PD0 Le langage Arduino se veut être une simplification du langage C. Des instructions écrites en langage C peuvent être intégrées dans le code Arduino. On peut même écrire un code entièrement écrit en C dans l IDE Arduino. Les bibliothèques avr/io.h et util/delay.h sont intégrées dans l installation de l IDE Arduino. Le langage C permet notamment de gagner du temps à l exécution d un programme. Il est bien mieux adapté lorsqu on intervient en même temps sur plusieurs broches d un même port du microcontrôleur Base 10 ou décimale base 2 ou binaire base 16 ou hexadécimale Base 2 : 0,1 Base 10 : 0,1,2,3,4,5,6,7,8,9 Base 16 : 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F A = 8 = = 4 conversion en hexadécimal : AB + 2 = = = = = = 4 32 = = = = 0 + conversion en décimal : = 2 2 = = 1 = B 1 = 1 = Certains bits ne sont pas utilisés. 28

29 binaire décimal hexadécimal binaire décimal hexadécimal binaire décimal hexadécimal F F F AB F A F FF 25.2 Règles d écriture communément admises Les constantes ont un nom qui commence par une majuscule, par exemple ValeurMax Les variables ont un nom qui commence par une minuscule demiperiode. Une accolade fermante est seule sur une ligne, sauf pour le do..while #define Led 13 au lieu de int Led=13; ou de const int Led=13;. On économise ainsi de la mémoire Comparaisons et opérations logiques Comparaisons logiques Le résultat d une comparaison est : true (vrai ou 1) ou false (faux ou 0) Opérations logiques et masque égal supérieur supérieur ou égal inférieur inférieur ou égal différent == > >= < <=!= Un masque noté m (dans le tableau le plus à droite dans ce paragraphe) permet de fixer à 0 ou à 1 certains bits dans un octet sans que les autres bits soient affectés même transitoirement. C est notamment important pour des opérations sur le port D pour lequel les bits 0 et 1 permettent la communication USB entre l ordinateur et la carte. a xxxxxxxx not ~ and & Or Xor ^ m a = a = a = a = b = b = b = ~ a = a & b = a b = a ^ b = Décalages a & m a ~m a & ~m a m 0xx00xxx 1xx11xxx x00xx000 x11xx111 unsigned signed a = a = a = a = a >> 3 = a << 4 = a >> 3 = a << 4 = Fonctions de base en langage C 26.1 Opérations dans un registre Chacun des ports B,C et D est associé à un registre de direction, respectivement DDRB, DDRC et DDRD. Ces registres permettent de déclarer les broches 1 à 13 en entrée (0 potentiel 0 V) ou en sortie (1 potentiel 5 V) : Déclaration d une broche en sortie Par exemple, on veut déclarer la broche 13 en sortie sans changer l état des autres broches. C est donc le bit 5 du port B qui est concerné. 1. L instruction pour mettre à 1 le bit 5 de DDRB pour le mettre en sortie est : DDRB = B100000; ou DDRB = DDRB B100000; le symbole est un OU logique. On compare l état de l octet DDRB à Le résultat est tel que seul le bit 5 est modifié. 29

30 exemple : OR = Remarques : On aurait pu aussi écrire DDRB = 32; en décimal ou DDRB = 0x20; en hexadécimal. Ou encore DDRB = (1<<5); qui met à 1 le bit 5. En complément : (1<<2) écrit 1 en binaire et déplace de 2 bits vers la gauche (3<<2) écrit 3 en binaire et déplace de 2 bits vers la gauche (4>>1) écrit 4 en binaire et déplace de 1 bit vers la droite (3>>1) écrit 3 en binaire et déplace de 1 bit vers la droite (4>>4) écrit 4 en binaire et déplace de 4 bits vers la droite 2. L instruction pour mettre à 1 le bit 5 de PORTB et mettre la broche 13 à 5 V : PORTB = B100000; On reprend ci-dessous le programme de clignotement de la LED 13 : void setup() DDRB = B100000; void loop() PORTB = (1<<5); delay(1000); PORTB &= ~(1<<5); delay(1000); 1<<5 écrit 1 en binaire et déplace de 5 bits vers la gauche soit ~(1<<5) est l inverse bit à bit soit L opération ET logique laisse inchangés tous les bits de PORTB sauf le bit 5 qui est mis à 0 exemple : AND = Encore plus court : void setup() DDRB = 32; void loop() PORTB ^= (1<<5); delay(1000); 26.2 Sorties numériques Le programme ci-dessous permet de faire clignoter jusqu à 6 LEDs (chacune en série avec une résistance) sur les broches 8 à 13 ( 0,5 s allumé puis 0,5 s éteint) //#include <avr/io.h> //#include <util/delay.h> int main (void) DDRB = 0x3F;//les broches 8 à 13 sont mises en sortie while (1) PORTB = 0x3F;//les broches 8 à 13 sont portées au potentiel 5V _delay_ms(500); PORTB &= ~0x3F;//les broches 8 à 13 sont portées au potentiel 0V _delay_ms(500); return 0; Les 2 programmes équivalents ci-dessous illustrent le principe d un chenillard : celui-ci fonctionne avec 3 LEDs sur les broches 8, 9 et 10 : 30

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE ARDUINO DOSSIER RESSOURCE POUR LA CLASSE Sommaire 1. Présentation 2. Exemple d apprentissage 3. Lexique de termes anglais 4. Reconnaître les composants 5. Rendre Arduino autonome 6. Les signaux d entrée

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

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

Durée estimée :1 journée Date de la réalisation : 2011. Description Fournisseur Référence Nombre PU HT LM35CZ, LM35AZ LM35DZ 001 Titre : Mesure de température interfacée par carte Arduino Type de réalisation : montage électronique, de surveillance de température Concepteur : C. Rouviere Coordonnées : Laboratoire lbv villefranche/mer

Plus en détail

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

AMICUS 18 (2ème partie) 4) Présentation du logiciel Amicus IDE AMICUS 18 (2ème partie) Dans la première partie, nous avions présenté la platine Amicus 18 et nous avions réalisé quelques montages simples. Nous allons découvrir un peu mieux la programmation. Dans la

Plus en détail

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

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter

Plus en détail

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

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3. 1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this

Plus en détail

Introduction au langage C

Introduction au langage C Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les

Plus en détail

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

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview. ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview. Sciences et Technologies de l Industrie et du Développement Durable Formation des enseignants parcours : ET24 Modèle de

Plus en détail

Activité initiation Arduino

Activité initiation Arduino 2015 Activité initiation Arduino 0 SOMMAIRE TABLE DES ILLUSTRATIONS (FIGURES)... 3 INTRODUCTION... 4 COMPOSITION DE LA PLATEFORME ARDUINO... 4 UTILISATION DE LA BREADBOARD... 6 LISTE DU MATERIEL FOURNI

Plus en détail

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

Bonjour, Le document qui suit est le support de la formation ''Arduino applications distantes''. Bonjour, Le document qui suit est le support de la formation ''Arduino applications distantes''. Ce document propose des exemples d'applications que vous pourrez utiliser, modifier et adapter à vos différentes

Plus en détail

Bien commencer avec un LaunchPad MSP430G et un Breadboard

Bien commencer avec un LaunchPad MSP430G et un Breadboard Bien commencer avec un LaunchPad MSP430G et un Breadboard Pierre-Yves Rochat Le LaunchPad et Energia Texas Instrument propose un environnement de développement très complet pour ses MSP430, appelé Code

Plus en détail

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7 Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin

Plus en détail

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

COMMUNICATION ENTRE DEUX ORDINATEURS PAR LASER MODULE EN CODE MORSE OU BINAIRE. COMMUNICATION ENTRE DEUX ORDINATEURS PAR LASER MODULE EN CODE MORSE OU BINAIRE. RESUME le fichier exécutable «morsebinaire_win_orphygts II_v2.exe», est un logiciel de démonstration permettant de faire

Plus en détail

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 Atelier Arduino Initiation à la mise en oeuvre matérielle et logicielle de l Arduino novembre 2006 Centre de Ressources Art Sensitif http://www.craslab.org http://www.artsens.org Livret Arduino en français

Plus en détail

Carte ARDUINO UNO Microcontrôleur ATMega328

Carte ARDUINO UNO Microcontrôleur ATMega328 Microcontrôleurs EI3 Option AGI Carte ARDUINO UNO Microcontrôleur ATMega328 B. Cottenceau B311 ISTIA bertrand.cottenceau@univ-angers.fr Microcontrôleurs 1/23 1 Introduction Le modèle UNO de la société

Plus en détail

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

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation

Plus en détail

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0

Plus en détail

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 Atelier Arduino Initiation à la mise en oeuvre matérielle et logicielle de l Arduino novembre 2006 Centre de Ressources Art Sensitif http://www.craslab.org http://www.artsens.org Livret Arduino en français

Plus en détail

Une carte pour vos projets

Une carte pour vos projets ARDUINO Une carte pour vos projets CHRISTOPHE ULTRÉ [1] Les projets interdisciplinaires impliquent de faire l acquisition d un matériel adaptable et peu coûteux qui réponde à des problématiques communes,

Plus en détail

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

1 Introduction C+ + Algorithm e. languag. Algorigramm. machine binaire. 1-1 Chaîne de développement. Séance n 4 1 Introduction 1-1 Chaîne de développement Algorithm e C+ + Algorigramm e languag e machine binaire Le programme est écrit à l aide de Multiprog sous forme d algorigramme puis introduit dans le microcontrôleur

Plus en détail

Le langage C. Séance n 4

Le langage C. Séance n 4 Université Paris-Sud 11 Institut de Formation des Ingénieurs Remise à niveau INFORMATIQUE Année 2007-2008 Travaux pratiques d informatique Le langage C Séance n 4 But : Vous devez maîtriser à la fin de

Plus en détail

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)

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) 1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d

Plus en détail

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

Programmation C++ (débutant)/instructions for, while et do...while Programmation C++ (débutant)/instructions for, while et do...while 1 Programmation C++ (débutant)/instructions for, while et do...while Le cours du chapitre 4 : le for, while et do...while La notion de

Plus en détail

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

Programmation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS Sommaire Programmation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS CCS Sommaire Généralités sur le langage. 2 Structure d un programme en C.. 3 Les constantes et équivalences.. 4 Les variables...

Plus en détail

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

Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr Table des matières 1 Les bases 3 2 Variables et constantes 5 3 Quelques fonctions indispensables

Plus en détail

Notions fondamentales du langage C# Version 1.0

Notions fondamentales du langage C# Version 1.0 Notions fondamentales du langage C# Version 1.0 Z 2 [Notions fondamentales du langage Csharp] [Date : 25/03/09] Sommaire 1 Tout ce qu il faut savoir pour bien commencer... 3 1.1 Qu est ce qu un langage

Plus en détail

Sélection du contrôleur

Sélection du contrôleur Démo CoDeSys - 1 - 1. Configuration de l environnement de travail : Lancer le logiciel CoDeSys Fichier Nouveau Lors de la première utilisation, une boîte de dialogue apparaît permettant la sélection du

Plus en détail

Initiation à LabView : Les exemples d applications :

Initiation à LabView : Les exemples d applications : Initiation à LabView : Les exemples d applications : c) Type de variables : Créer un programme : Exemple 1 : Calcul de c= 2(a+b)(a-3b) ou a, b et c seront des réels. «Exemple1» nom du programme : «Exemple

Plus en détail

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

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des

Plus en détail

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

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en

Plus en détail

Algorithmique et Programmation, IMA

Algorithmique et Programmation, IMA Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions

Plus en détail

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

Structure d un programme et Compilation Notions de classe et d objet Syntaxe Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types

Plus en détail

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, tableaux, opérateurs Entrées sorties de base Structures de

Plus en détail

as Architecture des Systèmes d Information

as Architecture des Systèmes d Information Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes

Plus en détail

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

STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi 802.11 module François SCHNEIDER Lycée Victor-Hugo BESANÇON. STS SE FreeRTOS Programmation réseau WIFI Programmation réseau Socket Tcp FlyPort smart Wi-Fi 802.11 module Prérequis : langage C, connaissance réseau : Ip,

Plus en détail

IV- Comment fonctionne un ordinateur?

IV- Comment fonctionne un ordinateur? 1 IV- Comment fonctionne un ordinateur? L ordinateur est une alliance du hardware (le matériel) et du software (les logiciels). Jusqu à présent, nous avons surtout vu l aspect «matériel», avec les interactions

Plus en détail

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

Guide de l utilisateur ArpentGIS-Trajet 1.2 ArpentGIS-Expert 1.4 D3E ELECTRONIQUE Copyright D3E Electronique SAS 2010 Guide de l utilisateur ArpentGIS-Trajet 1.2 ArpentGIS-Expert 1.4 D3E Electronique Parc du Grand Troyes - 3 Rond-point Winston Churchill - 10302 SAINTE

Plus en détail

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

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux. UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases

Plus en détail

Tutoriel Création d une source Cydia et compilation des packages sous Linux

Tutoriel Création d une source Cydia et compilation des packages sous Linux Tutoriel Création d une source Cydia et compilation des packages sous Linux 1. Pré-requis 1. Quelques connaissances sous Linux 2. Avoir à disposition un Serveur FTP pour héberger votre source 3. Un thème

Plus en détail

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

Enregistreur sans papier. Interface LON. B 95.5010.2.1 Description des interfaces 10.99/00370156 Enregistreur sans papier Interface LON B 95.5010.2.1 Description des interfaces 10.99/00370156 Sommaire 1 Introduction 3 1.1 Préambule... 3 1.2 Conventions typographiques... 4 1.2.1 Avertissement... 4

Plus en détail

Carte Relais GSM (Manuel Utilisateur)

Carte Relais GSM (Manuel Utilisateur) Carte Relais GSM (Manuel Utilisateur) Carte Relais GSM Introduction Cette carte est une véritable centrale de télécommande et d alarme par GSM. Elle se connecte par un port série à un modem GSM compatible

Plus en détail

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

2 Raccordement d une imprimante, d un terminal ou d un ordinateur au DULCOMARIN 1 Généralités L interface sérielle selon RS 232 sert exclusivement à l édition automatique des valeurs mesurées et des messages du DULCOMARIN sur une imprimante ou un PC. La longueur de caractères d une

Plus en détail

1. PRESENTATION DU PROJET

1. PRESENTATION DU PROJET Bac STI2D Formation des enseignants Jean-François LIEBAUT Denis PENARD SIN 63 : Prototypage d un traitement de l information analogique et numérique (PSoC) 1. PRESENTATION DU PROJET Les systèmes d éclairage

Plus en détail

ScoopFone. www.aeta-audio.com. Prise en main rapide

ScoopFone. www.aeta-audio.com. Prise en main rapide ScoopFone www.aeta-audio.com Prise en main rapide Les spécifications peuvent changer sans préavis 55 000 081-F 2015 Face avant et contrôles 4 6 9 10 12 13 14 1 2 3 20 21 5 7 8 1. Niveau de contrôle: Ce

Plus en détail

V- Manipulations de nombres en binaire

V- Manipulations de nombres en binaire 1 V- Manipulations de nombres en binaire L ordinateur est constitué de milliards de transistors qui travaillent comme des interrupteurs électriques, soit ouverts soit fermés. Soit la ligne est activée,

Plus en détail

Rappels Entrées -Sorties

Rappels Entrées -Sorties Fonctions printf et scanf Syntaxe: écriture, organisation Comportement Données hétérogènes? Gestion des erreurs des utilisateurs 17/11/2013 Cours du Langage C ibr_guelzim@yahoo.fr ibrahimguelzim.atspace.co.uk

Plus en détail

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

Bases de programmation. Cours 5. Structurer les données Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et

Plus en détail

Education Delivery Intelligent Tool

Education Delivery Intelligent Tool Education Delivery Intelligent Tool Projet AMO2 Maxence RAOUX Joachim SEGALA RICM 4 Avril 2012 Sommaire I. Presentation du projet... 2 1. Contexte... 2 2. Demande... 2 3. Spécifications... 2 II. Guide

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

BAMOSONIC IT. - Mesure de niveau -

BAMOSONIC IT. - Mesure de niveau - - Mesure de niveau - Le capteur de niveau F est destiné à la mesure de niveau de liquide sur des cuves de forme cylindrique ou rectangulaire avec possibilité d'un affichage en niveau, distance, volume

Plus en détail

Programmation C. Apprendre à développer des programmes simples dans le langage C

Programmation C. Apprendre à développer des programmes simples dans le langage C Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités

Plus en détail

Java Licence Professionnelle CISII, 2009-10

Java Licence Professionnelle CISII, 2009-10 Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation

Plus en détail

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

Mon aide mémoire traitement de texte (Microsoft Word) . Philippe Ratat Mon aide mémoire traitement de texte (Microsoft Word) Département Ressources, Technologies et Communication Décembre 2006. Sommaire PRÉSENTATION DU DOCUMENT 1 Objectif principal 1 Deux

Plus en détail

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

fullprotect inside EOLE SPEie RS E-SPEie 0.5-12-5V-0.6A-RS 1.0 revision Protection environnement Datasheet édition française Protection environnement Datasheet édition française 1.0 revision R-D-CO-D-27112011-1.0-C fullprotect inside SPEi Protection environnement interne SPEe Protection environnement externe SPEc Contrôle de

Plus en détail

Conférence sur les microcontroleurs.

Conférence sur les microcontroleurs. Conférence sur les microcontroleurs. Le microcontrôleur Les besoins et le développement. Vers 1970, pour des calculs (calculatrice). Le premier est le 4004 de Intel, 90K. La technologie. Les 2 principales

Plus en détail

TP 1. Prise en main du langage Python

TP 1. Prise en main du langage Python TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer

Plus en détail

INSTALLATION MODULE WEB

INSTALLATION MODULE WEB INSTALLATION MODULE WEB NOTICE INSTALLATEUR CP015551 02/02/2012 Version 2.0 CP015551 23/04/14 V2.1 - page 1 - BLOSOL COMBI Sommaire 1. COMPOSITION... 3 2. GENERALITE... 4 2.1. Présentation du module...

Plus en détail

Prototypage électronique

Prototypage électronique Prototypage électronique C'est quoi Arduino? Enseignant d'électronique en BTS des Systèmes Électroniques au lycée Cabanis de Brive-la-Gaillarde, j'ai commencé en 2010 à entendre parler d'arduino à gauche

Plus en détail

Codage d information. Codage d information : -Définition-

Codage d information. Codage d information : -Définition- Introduction Plan Systèmes de numération et Représentation des nombres Systèmes de numération Système de numération décimale Représentation dans une base b Représentation binaire, Octale et Hexadécimale

Plus en détail

Mini_guide_Isis.pdf le 23/09/2001 Page 1/14

Mini_guide_Isis.pdf le 23/09/2001 Page 1/14 1 Démarrer...2 1.1 L écran Isis...2 1.2 La boite à outils...2 1.2.1 Mode principal...3 1.2.2 Mode gadgets...3 1.2.3 Mode graphique...3 2 Quelques actions...4 2.1 Ouvrir un document existant...4 2.2 Sélectionner

Plus en détail

Conventions d écriture et outils de mise au point

Conventions d écriture et outils de mise au point Logiciel de base Première année par alternance Responsable : Christophe Rippert Christophe.Rippert@Grenoble-INP.fr Introduction Conventions d écriture et outils de mise au point On va utiliser dans cette

Plus en détail

L informatique en BCPST

L informatique en BCPST L informatique en BCPST Présentation générale Sylvain Pelletier Septembre 2014 Sylvain Pelletier L informatique en BCPST Septembre 2014 1 / 20 Informatique, algorithmique, programmation Utiliser la rapidité

Plus en détail

Initiation à la programmation en Python

Initiation à la programmation en Python I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de

Plus en détail

Solar Scintillation Monitor Manuel utilisateur

Solar Scintillation Monitor Manuel utilisateur 1 Solar Scintillation Monitor Manuel utilisateur Remerciements à M. Edward Joseph Seykora pour son autorisation à utiliser son design original et ses vifs encouragements, et à Jean Pierre Brahic et Christian

Plus en détail

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

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un

Plus en détail

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

AP1.1 : Montages électroniques élémentaires. Électricité et électronique STI2D Option SIN Terminale AP1.1 : Montages électroniques élémentaires Électricité et électronique Durée prévue : 3h. Problématique : connaître les composants élémentaires de l'électronique Compétences

Plus en détail

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

IUT GEII MARSEILLE Patrick GUMUCHIAN. Lycée Alphonse Benoit L'Isle sur la Sorgue Marc SILANUS 2012-2013 IUT GEII MARSEILLE Patrick GUMUCHIAN Lycée Alphonse Benoit L'Isle sur la Sorgue Marc SILANUS 2012-2013 Rev 2 SOMMAIRE 1 - Objectifs...4 1.1 - Position du problème...4 1.2 - Mise en situation de l'élève...4

Plus en détail

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

Initiation. àl algorithmique et à la programmation. en C Initiation àl algorithmique et à la programmation en C Initiation àl algorithmique et à la programmation en C Cours avec 129 exercices corrigés Illustration de couverture : alwyncooper - istock.com Dunod,

Plus en détail

USTL - Licence ST-A 1ère année 2005-2006 Codage de l information TP 1 :

USTL - Licence ST-A 1ère année 2005-2006 Codage de l information TP 1 : USTL - Licence ST-A 1ère année 2005-2006 Codage de l information TP 1 : Objectifs du TP Ce TP a pour but 1. de découvrir quelques opérations logiques sur les nombres 2. et quelques formats de fichiers.

Plus en détail

Mini_guide_Isis_v6.doc le 10/02/2005 Page 1/15

Mini_guide_Isis_v6.doc le 10/02/2005 Page 1/15 1 Démarrer... 2 1.1 L écran Isis... 2 1.2 Les barres d outils... 3 1.2.1 Les outils d édition... 3 1.2.2 Les outils de sélection de mode... 4 1.2.3 Les outils d orientation... 4 2 Quelques actions... 5

Plus en détail

Prise en main. Prise en main - 0

Prise en main. Prise en main - 0 Prise en main 0404 Prise en main - 0 1- Introduction Creative Professional Merci d avoir choisi le Digital Audio System 0404 d E-MU. Nous avons conçu ce produit E-MU pour qu il soit logique, intuitif et

Plus en détail

ANALYSE TRAMEs LIAISON SERIE

ANALYSE TRAMEs LIAISON SERIE ANALYSE TRAMEs LIAISON SERIE 1 Objectifs de ce travail Nous allons étudier dynamiquement la liaison série en utilisant la simulation. La mise en œuvre des liaisons séries simulées et de TestCom est expliquée

Plus en détail

Représentation d un entier en base b

Représentation d un entier en base b Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir

Plus en détail

HMI target Visu / PLC HMI. Pour réaliser une interface homme machine avec PLC control

HMI target Visu / PLC HMI. Pour réaliser une interface homme machine avec PLC control HMI target Visu / PLC HMI Pour réaliser une interface homme machine avec PLC control VERSION : 1.4 / PH DATE : 5 Novembre 2014 Sommaire Ce manuel explique de manière pratique les étapes successives pour

Plus en détail

Utilisation du visualiseur Avermedia

Utilisation du visualiseur Avermedia Collèges Numériques Utilisation du visualiseur Avermedia Un visualiseur est aussi appelé caméra de table et ce nom rend mieux compte de sa fonction première à savoir filmer un document (revue,carte, dissection,

Plus en détail

LECON 2 : PROPRIETES DE L'AFFICHAGE Version aout 2011

LECON 2 : PROPRIETES DE L'AFFICHAGE Version aout 2011 LECON 2 : PROPRIETES DE L'AFFICHAGE Version aout 2011 COPIER LE FICHIER LECON 1_02 DU DISQUE D : VERS LA CLE USB Cliquez gauche deux fois sur l'icône POSTE DE TRAVAIL Cliquez gauche deux fois sur DONNEES

Plus en détail

Architecture des ordinateurs Introduction à l informatique

Architecture des ordinateurs Introduction à l informatique Architecture des ordinateurs Introduction à l informatique 17 septembre 2004 1 2 3 4 5 6 Les interrupteurs... 0V 5V Ce sont des composants électroniques qui laissent pser un courant principal lorsque la

Plus en détail

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

KL5121. Pour activer des sorties en fonction de la position d'un codeur KL5121 Pour activer des sorties en fonction de la position d'un codeur VERSION : 1.0 / PH DATE : 07 Février 2006 Sommaire Ce manuel explique de manière pratique les étapes successives pour mettre en œuvre

Plus en détail

Vous allez le voir au cours de ce premier chapitre, 1. Découvrir l ipad

Vous allez le voir au cours de ce premier chapitre, 1. Découvrir l ipad 1. Découvrir l ipad Vous allez le voir au cours de ce premier chapitre, l utilisation de l ipad est très intuitive et, surtout, votre tablette obéit au doigt et à l œil. Vous ne pourrez bientôt plus vous

Plus en détail

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

La programmation des PIC en C. Les fonctions, les interruptions. La programmation des PIC en C Les fonctions, les interruptions. Réalisation : HOLLARD Hervé. http://electronique-facile.com Date : 26 août 2004 Révision : 1.2 Sommaire Sommaire... 2 Introduction... 3 Structure

Plus en détail

Introduction à MATLAB R

Introduction à MATLAB R Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d

Plus en détail

Informatique Générale

Informatique Générale Informatique Générale Guillaume Hutzler Laboratoire IBISC (Informatique Biologie Intégrative et Systèmes Complexes) guillaume.hutzler@ibisc.univ-evry.fr Cours Dokeos 625 http://www.ens.univ-evry.fr/modx/dokeos.html

Plus en détail

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

Elle supporte entièrement la gestion de réseau sans fil sous Windows 98SE/ME/2000/XP. SAGEM Wi-Fi 11g USB ADAPTER Guide de mise en route rapide But de ce guide Ce guide décrit la méthode d'installation et de configuration de votre SAGEM Wi-Fi 11g USB ADAPTER pour réseau sans fil. Lisez-le

Plus en détail

CREER ET ANIMER SON ESPACE DE TRAVAIL COLLABORATIF

CREER ET ANIMER SON ESPACE DE TRAVAIL COLLABORATIF CREER ET ANIMER SON ESPACE DE TRAVAIL COLLABORATIF SOMMAIRE Sommaire... 2 Un espace de travail collaboratif, pourquoi faire?... 3 Créer votre espace collaboratif... 4 Ajouter des membres... 6 Utiliser

Plus en détail

SCL LOGICIEL DE CONTROL

SCL LOGICIEL DE CONTROL SCL LOGICIEL DE CONTROL Version 1.3 MRC AUDIO LD- 500 www.mrcaudio.com 1 Contenu 1 - Bienvenu a MRC AUDIO SCL v1.3 2 - Installation du logiciel 3 - Configuration du programme SCL 4 - Contrôle des installations

Plus en détail

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

Etudier l influence de différents paramètres sur un phénomène physique Communiquer et argumenter en utilisant un vocabulaire scientifique adapté Compétences travaillées : Mettre en œuvre un protocole expérimental Etudier l influence de différents paramètres sur un phénomène physique Communiquer et argumenter en utilisant un vocabulaire scientifique

Plus en détail

Ladibug TM 2.0 Logiciel de présentation visuel d'image Manuel de l utilisateur - Français

Ladibug TM 2.0 Logiciel de présentation visuel d'image Manuel de l utilisateur - Français Ladibug TM 2.0 Logiciel de présentation visuel d'image Manuel de l utilisateur - Français Table des Matières 1. Introduction... 2 2. Spécifications du Système... 2 3. Installer Ladibug... 3 4. Connexion

Plus en détail

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ; CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe

Plus en détail

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

SAGEM Wi-Fi 11g USB ADAPTER Guide de mise en route rapide SAGEM Wi-Fi 11g USB ADAPTER Guide de mise en route rapide But de ce guide Ce guide décrit la méthode d'installation et de configuration de votre SAGEM Wi-Fi 11g USB ADAPTER pour réseau sans fil. Lisez-le

Plus en détail

Rappels d architecture

Rappels d architecture Assembleur Rappels d architecture Un ordinateur se compose principalement d un processeur, de mémoire. On y attache ensuite des périphériques, mais ils sont optionnels. données : disque dur, etc entrée

Plus en détail

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing 3/4/27 Programmation Avancée Multimédia Multithreading Benoît Piranda Équipe SISAR Université de Marne La Vallée Besoin Programmes à traitements simultanés Réseau Réseau Afficher une animation en temps

Plus en détail

MANUEL D UTILISATION PRO-FACE

MANUEL D UTILISATION PRO-FACE MANUEL D UTILISATION PRO-FACE SOMMAIRE Chapitre 1 Procédure d utilisation 1. En créant un écran seul..... 2. En créant un écran plus un programme logique.. 1-1 1-2 Chapitre 2 Du début à la fin 1. Guide.....

Plus en détail

! analyse du fonctionnement

! analyse du fonctionnement Coloreau chaude MT V P1 V MT! Le composant repéré TH1 sur le schéma structurel et une thermistance. Son rôle est de détecter une grandeur physique la température, et de la convertir en une grandeur électrique

Plus en détail

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

Livret Phoenix-M. Par Georges Khaznadar, Lycée Jean Bart, Dunkerque d'après Phoenix Programmer's Manual . Livret Phoenix-M Par Georges Khaznadar, Lycée Jean Bart, Dunkerque d'après Phoenix Programmer's Manual (Ajith Kumar B.P., Inter-University Accelerator Centre, New Delhi) Version 1 (octobre 2008) 1 2

Plus en détail

TS 35 Numériser. Activité introductive - Exercice et démarche expérimentale en fin d activité Notions et contenus du programme de Terminale 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 FICHE Fiche à destination des enseignants TS 35 Numériser Type d'activité Activité introductive - Exercice et démarche expérimentale en fin d activité Notions et contenus du programme de Terminale S Compétences

Plus en détail

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

Connexion sur REDLION G-308 avec le modem GSM GDW-11 pour envoi de SMS Connexion sur REDLION G-308 avec le modem GSM GDW-11 pour envoi de SMS Paramétrage du GDW-11 avec l utilitaire GD-Tool fourni avec le modem: 1. En utilisant GD-TOOL (connecté le modem sur le port série

Plus en détail

MANUEL D INSTRUCTION

MANUEL D INSTRUCTION MANUEL D INSTRUCTION ---------- Régulateur de Charge Solaire pour deux batteries, Pour Caravanes, Camping-Cars & Bateaux Courant (12V or 12/24V automatique) NOTES: Utilisable seulement avec des panneaux

Plus en détail