Cours pour lapprentissage des bases de lélectronique et de la
et de la programmation sur Arduino. L'accent de cet ouvrage est mis sur une initiation ... La programmation se fait dans le logiciel Arduino IDE:.
Initiation Arduino
L'environnement de programmation Arduino. (IDE en anglais) est une application écrite en Java inspirée du langage Processing. L'IDE permet d'écrire de modifier
? Initiation à Arduino
Ils découvriront les bases de la programmation en C++ à l'aide du logiciel. Arduino IDE (Integrated Development. Environment). Objectifs d'apprentissage. •
Initiation `a la programmation embarquée/robotique avec Arduino
Initiation `a la programmation embarquée/robotique avec Arduino. Audrey Robinel (arobinel@univ-ag.fr). 13 mai 2014. 1 Introduction.
Initiation à Arduino
Après la présentation générale le tutoriel décrit
INITIATION à la programmation en ROBOTIQUE ARDUBLOCK : la
Le Robot suiveur de ligne équipé de : - 2 moteurs à courant continu. - 1 carte Arduino UNO R3. - 1 Motor Shield R3 :carte de contrôle du sens de rotation
INITIATION à la programmation en ROBOTIQUE ARDUBLOCK : la
Le Robot suiveur de ligne équipé de : - 2 moteurs à courant continu. - 1 carte Arduino UNO R3. - 1 Motor Shield R3 :carte de contrôle du sens de rotation
Cours dinitiation à Arduino
En effet beaucoup de librairies et de fonctionnalités de base occulte certains aspects de la programmation de logiciel embarquée afin de gagner en simplicité.
TP – La programmation avec arduino
TP – LA PROGRAMMATION AVEC ARDUINO INITIATION A LA PROGRAMMATION ... Le modèle UNO de la société ARDUINO est une carte électronique dont le cœur est un ...
Initiation Arduino
Arduino est un ensemble d'outils Open Source comprenant un microcontrôleur simple des composants complémentaires qui facilitent la programmation et
arduino programming notebook - NYU Tandon School of Engineering
Beginning with the basic structure of Arduino's C derived programming language this notebook continues on to describe the syntax of the most common elements of the language and illustrates their usage with examples and code fragments
Initiation Arduino - univ-paufr
L'environnement de programmation Arduino (IDE en anglais) est une application écrite en Java inspirée du langage Processing L'IDE permet d'écrire de modifier un programme et de le convertir en une série d'instructions compréhensibles pour la carte Quelques exemples d'applications :
Arduino For Beginners - Makerspacescom
Arduino is an open source programmable circuit board that can be integrated into a wide variety of makerspace projects both simple and complex This board contains a microcontroller which is able to be programmed to sense and control objects in the physical world By responding to sensors and inputs the Arduino is able to interact
Searches related to initiation programmation arduino PDF
Arduino à l'école – Arduino pour apprendre à coder
Overview
This guide is divided into four main sections: hardware, software tools, Arduino API, and Quick Reference. You can navigate to each of these sections directly through the links below:
Arduino API
Visit the Arduino Language Referenceto explore the full Arduino API. The Arduino API, aka the "Arduino Programming Language", consists of several functions, variables and structures based on the C/C++ language.
Arduino Software Tools
The Arduino IDEs are available for download for free in the Software downloads page. Another integral part of the Arduino ecosystem are its software tools. The Arduino IDE, as it is commonly referred to, is an integrated development environment.But what does that mean exactly? In order to program your board, you need to write a program, compile tha...
Quick Reference
In this section, you will find a list of some of the most common elements in the standard Arduino API. This will help you get familiar with some key building blocks. To explore the whole Arduino API, please refer to the Arduino Language Reference, an in-depth wiki maintained by Arduino and its community. You will find hundreds of entries, accompani...
What is the basic operation of an Arduino?
The basic operation of an Arduino. Circuits consist of at least one active electronic component, and a conductive material, such as wires, so that current can pass through. When working with an Arduino, you will in most cases build a circuit for your project. A simple example of a circuit, is an LED circuit.
How do you program a board using Arduino IDE?
In order to program your board, you need to write a program, compile that program into machine code, and finally: send over the new program to your board. The Arduino IDE facilitates all this, from the first line of code written, to have it executed on the Arduino board's microcontroller.
What is setup function in Arduino?
This function is the core of all Arduino programs and does the bulk of the work. setup() The setup() function is called once when your program starts. Use it to initialize pin modes, or begin serial.
What is the purpose of the Arduino notebook?
This notebook serves as a convenient, easy to use programming reference for the command structure and basic syntax of the Arduino microcontroller. To keep it simple, certain exclusions were made that make this a beginner’s reference best used as a secondary source alongside other websites, books, workshops, or classes.
Initiation a la programmation
embarquee/robotique avec ArduinoAudrey Robinel (arobinel@univ-ag.fr)
13 mai 2014
1 Introduction
Pour cette partie de l'option informatique, notre objectif sera de programmer un robot pour le rendre autonome. Nous disposons d'un robot programmable, mais qui par defaut ne sait rien faire. Notre objectif sera de creer un programme an de permettre a celui ci de se deplacer ecacement dans un environnement en evitant les obstacles. Bien que cela puisse sembler complexe, il n'y a pas d'inquietude a avoir, car la programmation se fait depuis un logiciel tres performant et simple, et le langage de programmation est tres proche du C que l'on utilise en TP. En pratique, on ecrira du code dans le programme, avec la m^eme syntaxe qu'en C, et on utilisera quelques fonctions predenies pour activer les moteurs, ou lire les capteurs du robot. Par la suite, on branche le robot en USB, et on appuie sur un bouton dans l'interface de programmation pour compiler et envoyer le programme au robot. Ainsi, aucune competence en robotique n'est requise, et quelqu'un qui conna^t quelques bases de programmation pourra sans probleme programmer ce robot.1.1 Arduino
Notre robot est base sur une plate-forme materielle et logicielle libre appelee Arduino. Il s'agit d'une carte contenant un micro-contr^oleur programmable, a savoir une puce electronique qui peut executer des commandes. Cette carte sera le "cerveau" de notre robot, et on pourra la programmer pour qu'elle puisse faire des entrees (lire les capteurs par exemple), ou des sorties (allumer une LED, faire un bip, faire tourner les moteurs...). On pourra trouver davantage d'informa- tions sur cette carte sur le site ociel de Arduino :http://arduino.cc/fr/. Pour ceux qui souhaitent se pencher davantage sur l'electronique programmable, sachez que ce genre de carte co^ute une vingtaine d'euros (la carte seule, pas le ro- bot entier!) et que vous pouvez tout a fait vous en servir pour fabriquer toutes sortes de choses. N'hesitez pas a me contacter pour plus d'informations a ce sujet. 1 Figure1 { La base du robot que nous utilisons est le Zumo de pololu. Si on ajoute une carte Arduino et un capteur de distance, on obtient notre robot.1.2 Notre robot
Le robot que nous utiliserons ici est base sur le robot "Zumo", de l'entreprise Pololu :http://www.pololu.com/product/2506, visible sur la gure 1 p 2. Ce robot est un "mini sumo", utilise entre autres pour des competitions de robots sumo. Il s'agit d'un robot dit "a conduite dierentielle", c'est a dire qu'il y a deux moteurs, un a gauche et un a droite. Chaque moteur entra^ne une chenille. Si l'on veut avancer, il faudra faire tourner les deux moteurs dans le sens positif. Pour reculer, on les fait tourner dans le sens negatif. Enn, pour tourner, on fait tourner les moteurs dans des sens contraires. Ainsi, le robot tournera sur lui m^eme. Le robot fait 10*10cm, et est alimente par 4 batteries AA rechargeables. Nous lui avons ajoute un capteur infrarouge, qui permet de conna^tre la distance des obstacles situes devant le robot. Le robot embarque une boussole magnetique, permettant de conna^tre l'orien- tation du robot, un accelerometre, permettant de de mesurer les chocs et vibra- tion, ainsi qu'un buzzer, permettant de faire de petits bruits. Pour ce projet, nous nous baserons principalement sur le capteur infrarouge pour eviter les obstacles. 22 Processing : le logiciel de programmation
Nous utiliserons pour programmer notre robot un IDE (Integrated Deve- lopment Environement, environnement de developpement integre) appelepro- cessing. Ce logiciel permet d'editer le code source, le compiler, et l'envoyer au robot.Le code source est enregistre sur l'ordinateur sur lequel vous travaillez, et ne peut pas ^etre lu depuis le robot, pensez donc a l'enregistrer d'une seance a l'autre! Vous pouvez telecharger l'archive contenant l'IDE et les librairies a cette adresse :https://www.dropbox.com/s/h8h31cb0yriwufn/arduino-1.0.5libs. tar.gz Suite au telechargement, decompressez l'archive quelquepart, puis ouvrez le repertoire ainsi cree. Vous trouverez un chier arduino, qui permet de lancer leprogramme par la commande./arduino.Figure2 { Le logiciel "processing" permet d'editer le code, de le compiler et
de l'envoyer au robot. Sur la gure 2, on peut voir une capture d'ecran du logiciel, avec un pro- gramme qui fait clignoter une LED sur le robot. 3 La zone centrale, sur fond blanc, est celle dans laquelle on edite le code source. La zone bleue en haut contient les boutons permettant de sauvegarder, enregistrer, compiler et envoyer le programme. La zone noire en bas ache lesmessages d'information et d'erreur.Figure3 { Lorsque l'on appuie sur le bouton "Televerser" (en blanc sur la
capture), le programme est compile, et s'il n'y a pas d'erreur, envoye au robot. Pour pouvoir envoyer le programme au robot, il faudra brancher le c^able USB, et verier que le port serie est bien selectionne dans le logiciel, en cliquant sur "outils", puis "port serie", et verier si la premiere case est bien cochee,comme illustre sur la gure 3.Figure4 { Lorsque l'on appuie sur le bouton "Televerser" (en blanc sur la
capture), le programme est compile, et s'il n'y a pas d'erreur, envoye au robot. Dans ce contexte, si le programme est complet, on peut alors cliquer sur le bouton Televerser (en blanc sur la gure 4) pour compiler et executer le programme. Si la zone inferieure ache des erreurs, il faut alors les corriger et recommencer l'envoi. Dans le cas contraire, le bas de la fen^etre achera "Televersement eectue", comme illustre sur la gure 5. 4 Figure5 { Le programme n'ache aucune erreur, et indique que le programme a ete execute avec succes.3 Les bases du langage : rappels generiques
3.1 Declaration de variables
On declare les variables comme en C/C++. On utilisera ainsi les types int, pour les entiers, oat pour les reels, char pour les caracteres. Nous aurons en plus un type booleen, qui prendra les valeurs true et false, et un type String pour les chaines de caracteres. La facon d'utiliser ces types de donnees est resumee brievement dans la table 1. D'autres types speciaux existent, que nous verrons lorsque nous en aurons besoin. type description valeurs exempleint entierZint i=0; oat reelR oat pi=3.1415; char caractere un caractere char c='a'; boolean booleen true ou false boolean nished=true; String chaine de caracteres texte String msg="ok!";Table1 { Les dierents types de variables.
3.1.1 Les tableaux
Les tableaux sont declares et se comportent comme en C classique. On declarera un tableau d'entier par exemple : int tableau[10]; Les tableaux ont des indices commencant a 0, donc pour un tableau de N cases, on va de 0 a N-1. On peut egalement declarer et initialiser notre tableau comme suit :Listing 1 { Declaration de tableaux
int t ableau[5]= { 2,4 ,8 ,3 ,6 }; int t ableau[]= { 2,4 ,8 ,3 ,6 }; 53.2 Declaration de fonctions
On pourra declarer des fonctions comme en C comme suit : type nomFonction(arguments)f...gListing 2 { Declaration de fonction
type nomFonction(type argument , ...) Dans ce contexte, type sera le type de retour de la fonction (int, oat, etc). Si l'on ne veut pas retourner de valeur, on mettravoidnomFonction(...), Argu- ments est la liste des parametres de la fonction, comme en C, chaque parametre ayant un type et un nom, ceux ci etant separes par des virgules. Si il n'y a aucun parametre, on laissera cette partie vide. On peut, comme en C classique, appeler une fonction depuis une autre. En bref, on fait comme pour les TP de C!3.3 structures conditionnelles
On peut egalement utiliser les structures conditionnelles classiques, a savoir if, else if, else, mais egalement switch/case. references : if/else : http://arduino.cc/en/Reference/if switc h/case: http://arduino.cc/en/Reference/SwitchCase3.3.1 Rappel sur les operateurs de comparaison
Ce qu'on mettra entre les parentheses du if sera identique a ce qu'on utilise jusqu'ici en C. Voyons un tres bref rappel : x == y (x est egal ay) x !=y (x di erentde y ) x4 Fonctions speciques pour le robot
En dehors des points classiques exposes dans la section precedente, nous disposons de quelques elements speciques pour programmer le robot. Voyons tout d'abord la structure de notre programme. Celui ci se compose de deux fonctions : setup() est ex ecuteeUNE foi s,au d emarraged urob ot; 6 |lo op()est une b oucleinnie, ex ecuteecon tinuellementapr esl'ex ecution de setup().4.1 les fonctions setup() et loop()
La fonction setup permettra par exemple d'initialiser des variables, ou de faire divers traitements avant de commencer l'algorithme principal du robot. Si vous n'avez rien de particulier a faire, laissez la fonction vide. La fonction loop quand a elle, est executee juste apres la fonction setup, et sera executee a l'inni. Ainsi, lorsqu'on arrive en bas des instructions de la fonction loop, on recommence au debut de loop. Comme avec une boucle, si vous declarez une variable dans la fonction loop, elle sera recreee et reinitialisee a chaque fois. S'il faut conserver une valeur d'une iteration a l'autre, il faudra penser a declarer la variable avant la fonction loop, un peu comme une variable globale declaree avant le main en C.4.2 les broches du robot
Le robot dispose d'un certain nombre de broches. Certaines sontanalogiques, ce qui signie en pratique qu'on lira une valeur entiere, dans ce contexte, entre0 et 1023. Cela servira par exemple a lire la valeur d'un capteur branche sur une
broche analogique. Pour notre robot, par exemple, la broche A2 est connectee au capteur de distance. Ces broches seront toujours utilisees en lecture, et jamais en ecriture. Pour cela, il faudra mettre dans la fonction setup() l'appel suivant : pinmode(A2, INPUT); D'autres broches seront des broches numeriques, c'est a dire qu'elles peuvent prendre uniquement des valeurs binaires, soit 0, soit 1. Par exemple, pour la LED connectee sur la broche 13, on pourra ecrire la valeur 0, qui eteindra la LED, ou la valeur 1, qui l'allumera. Sur notre robot, nous utiliserons ces broches en ecriture uniquement. Pour cela, il faudra mettre dans la fonction setup() l'appel suivant : pinmode(13, OUTPUT);4.3 Attendre avant d'executer d'autres instructions
La fonction loop() est une boucle innie. Elle se repete donc jusqu'a ce qu'on redemarre le robot, en eectuant successivement toutes les instructions entre les accolades. Lorsque l'on veut attendre un certain temps entre deux instructions, il faut utiliser la commandedelay(duree). Ainsi, par exemple si l'on souhaite faire clignoter la LED du robot, l'algorithme sera le suivant : 1. allumer la LED ; 2. attendre un certain temps ; 3. eteindrela LED ; 4. attendre un certain temps. 7En pratique cela donnera quelquechose du genre :
Listing 3 { Clignotement de LED
loop(){ digitalWrite(ledPin ,HIGH); allumage d e l a L ED delay(250); attente d e 2 50 ms digitalWrite(ledPin ,LOW); extinction d e l a L ED delay(250); attente d e 2 50 ms Ici, la LED s'allumera pendant 250 millisecondes, puis s'eteindra pendant la m^eme duree, avant de recommencer.4.3.1 Faire une action jusqu'a nouvel ordre
Si on appelle la fonction "avancer();", le robot avancera jusqu'a ce qu'il recoive un nouvel ordre. Ainsi, pour l'arr^eter, on pourra utiliser "stop();", qui l'arr^etera immediatement. Pour tourner a gauche, il faudra utiliser la fonction "gauche();", et pour tourner a droite, la fonction "droite()"; Par exemple si l'on souhaite avancer pendant une seconde, tourner a gauche un peu, puis recommencer pour tourner en rond, on pourra faire dans loop :Listing 4 { Exemple de contr^ole du robot
loop(){ avancer(); on a vance delay(250); attente d e 2 50 ms gauche(); extinction d e l a L ED delay(200); attente d e 2 00 ms Avec ce programme, le robot avancera pendant une seconde (1000 millise- condes), puis tournera pendant 0.2s (200 millisecondes), et repetera l'operation a l'inni.4.4 Acher des valeurs
Pour acher des valeurs en provenance du robot, il faudra utiliser lemoniteur serie. Pour cela, il faut ecrire dans la fonction setup() l'instruction suivante : Serial.begin(9600);. Cette instruction permet d'initialiser le moniteur serie, et le parametre entre parentheses est la vitesse de communication (9600 bits par seconde). Une fois ceci fait, nous pourrons faire des achages, un peu comme avec un printf. Nous utiliserons deux fonctions :Serial.prin t(parametres...)
Serial.prin tln(parametres...)
Les deux fonctions permettent d'acher ce que l'on passe en parametres entre les parentheses. La seule dierence est que la seconde fonction fait automati- quement un retour a la ligne apres l'achage. On pourra acher du texte brut, 8 par exemple : Serial.println("Lancement de l'algorithme : recherche des humains"); De m^eme, on pourra acher des variables comme suit :Listing 5 { Exemple d'achage compose
loop() int v itesse=120;Serial.print("vitesse : ");
Serial.println(vitesse);
Cela achera dans le moniteur serie :vitesse : 120, avec un retour a la ligne. Pour pouvoir visualiser le moniteur serie, il faudra cliquer suroutilspuis moniteur serie, en vous assurant que le c^able USB est bien branche.4.5 Allumer et eteindre la LED
On utilisera la fonction "digitalWrite(ledPin,HIGH);" pour allumer la LED. Elle restera allumee jusqu'a ce que le robot soit eteint, ou que l'on eteigne la LED. Pour ce faire, on utilisera la fonction "digitalWrite(ledPin,LOW);", qui eteindra la LED jusqu'a ce qu'on la rallume. 95 Exercice a realiser
5.1 Recuperation du logiciel
Telechargez le logiciel contenant les librairies a l'adresse suivante :https: Decompressez l'archive dans votre repertoire personnelle, puis rendez vous dans le dossier ainsi cree avec un terminal. Lancez le logiciel Arduino via la commande ./arduino. Une fois cela fait, ouvrez le squelette du programme a realiser en cliquant surchier,exemples, puisrobot. Vous aurez alors sous les yeux le code source a completer du robot. Cet exemple est en lecture seule, donc pour le modier, enregistrez le sous un autre nom (chier puis enregistrer sous) dans votre session. Notez bien l'endroit ou vous enregistrez pour pouvoir recupererquotesdbs_dbs23.pdfusesText_29[PDF] arduino guide francais
[PDF] arduino language reference
[PDF] reference arduino francais pdf
[PDF] arduino pour les nuls pdf download
[PDF] arduino pour les nuls pdf gratuit
[PDF] programmation arduino pour les nuls pdf
[PDF] patron d'un rectangle avec languette
[PDF] patron d'un parallélépipède rectangle
[PDF] cylindre face arête sommet
[PDF] nombre d'arête d'un cone
[PDF] face arête sommet exercices
[PDF] qu'est ce qu'une arête en géométrie
[PDF] solide 8 faces 12 sommets 18 aretes
[PDF] parallélépipède non rectangle