EIE LP CONDORCET YOUNSI A. ROBOT SUIVEUR DE LIGNE 1/ 14 La carte ARDUINO UNO Fi
EIE LP CONDORCET YOUNSI A. ROBOT SUIVEUR DE LIGNE 1/ 14 La carte ARDUINO UNO Figure 1 : présentation de la carte utilisée pour le projet ROBOT SUIVEUR DE LIGNE I. Présentation générale de l’ARDUINO ............................................................................................................................... 2 A. La partie logicielle ......................................................................................................................................................... 3 B. La partie matérielle....................................................................................................................................................... 3 1. Alimentation : ............................................................................................................................................................. 4 2. Mémoire ........................................................................................................................................................................ 4 3. Entrées et sorties ...................................................................................................................................................... 4 4. Communication .......................................................................................................................................................... 5 5. Programmation .......................................................................................................................................................... 5 6. Reset automatique par Software ........................................................................................................................ 5 7. Protection de surintensité USB ........................................................................................................................... 5 8. Dimensions .................................................................................................................................................................. 5 9. Schéma structurel ..................................................................................................................................................... 6 II. Présentation de l’Espace de développement Intégré (EDI) Arduino .................................................................. 7 A. Description de l’interface ........................................................................................................................................... 7 B. Description de la structure d’un programme .................................................................................................... 8 1. Description générale des parties ........................................................................................................................ 8 2. Description détaillée des parties ........................................................................................................................ 9 a. Définition des variables et constantes ......................................................................................................... 9 b. Fonction principale : void setup() .................................................................................................... 10 c. Fonction boucle : void loop() ............................................................................................................... 10 C. Compilation et programmation de l’ARDUINO .............................................................................................. 10 1. Ecriture de l’algorithme ...................................................................................................................................... 10 2. Ecriture du programme ....................................................................................................................................... 10 3. Compilation du programme .............................................................................................................................. 11 4. Sélection de la cible et du port série .............................................................................................................. 11 5. Transfert du programme vers la carte ARDUINO ..................................................................................... 12 EIE LP CONDORCET YOUNSI A. ROBOT SUIVEUR DE LIGNE 2/ 14 DOSSIER La carte ARDUINO I. Présentation générale de l’ARDUINO Le système Arduino est une carte électronique basée autour d’un microcontrôleur et de composants minimum pour réaliser des fonctions plus ou moins évoluées à bas coût. Elle possède une interface usb pour la programmer. C’est une plateforme open-source qui est basée sur une simple carte à microcontrôleur (de la famille AVR), et un logiciel, véritable environnement de développement intégré, pour écrire, compiler et transférer le programme vers la carte à microcontrôleur. Arduino peut être utilisé pour développer des applications matérielles industrielles légères ou des objets interactifs (création artistiques par exemple), et peut recevoir en entrées une très grande variété de capteurs. Arduino peut aussi controler une grande variété d’actionneurs (lumières, moteurs ou toutes autres sorties matériels). Les projets Arduino peuvent être autonomes, ou communiquer avec des logiciels sur un ordinateur (Flash, Processing ou MaxMSP). Les cartes électroniques peuvent être fabriquées manuellement ou bien être achetées préassemblées ; le logiciel de développement open-source est téléchargeable gratuitement. Synthèse des caractéristiques Microcontrôleur Atmega328 Tension de fonctionnement 5V Tension d’alimentation (recommandée) 7-12V Tension d’alimentation (limites) 6-20V Broches E/S numériques 14 (dont 6 disposent d’une sortie PWM) Broches d’entrées analogiques 6 (utilisables en broches E/S numériques) Intensité maxi disponible par broche E/S (5V) 40 mA (ATTENTION : 200mA cumulé pour l’ensemble des broches E/S) Intensité maxi disponible pour la sortie 3.3V 50 mA Intensité maxi disponible pour la sortie 5V Fonction de l’alimentation utilisée – 500 mA max si port USB utilisé seul Mémoire Programme Flash 32 KB (Atmega328) dont 0.5 KB sont utilisés par le bootloader Mémoire SRAM (mémoire volatile) 2 KB (Atmega328) Mémoire EEPROM (mémoire non volatile) 1 KB (Atmega328) Vitesse d’horloge 16 MHz Figure 2 : carte ARDUINO UNO EIE LP CONDORCET YOUNSI A. ROBOT SUIVEUR DE LIGNE 3/ 14 Qu’est-ce qu’un microcontrôleur ? Figure 3 : schéma simplifié du contenu type d’un microcontrôleur. Un microcontrôleur est un circuit intégré qui rassemble les éléments essentiels d’un ordinateur : processeur, mémoires (mémoire morte pour le programme, mémoire vive pour les données), unités périphériques et interfaces d’entrées-sorties. Les microcontrôleurs se caractérisent par un plus haut degré d’intégration, une plus faible consommation électrique (quelques milliwatts en fonctionnement, quelques nanowatts en veille), une vitesse de fonctionnement plus faible (quelques mégahertz à quelques centaines de mégahertz) et un coût réduit par rapport aux microprocesseurs polyvalents utilisés dans les ordinateurs personnels. A. La partie logicielle Le logiciel de programmation des modules Arduino est une application Java, libre et multi- plateformes, servant d’éditeur de code et de compilateur, et qui peut transférer le firmware et le programme au travers de la liaison série (RS232, Bluetooth ou USB selon le module). Il est également possible de se passer de l’interface Arduino , et de compiler les programmes en ligne de commande. Le langage de programmation utilisé est le C++, compilé avec avr-g++, et lié à la bibliothèque de développement Arduino, permettant l’utilisation de la carte et de ses entrées/sorties. La mise en place de ce langage standard rend aisé le développement de programmes sur les plates-formes Arduino, à toute personne maitrisant le C ou le C++. B. La partie matérielle Un module Arduino est généralement construit autour d’un microcontroleur ATMEL AVR (Atmega328 ou Atmega2560 pour les versions récentes, Atmega168 ou Atmega8 pour les plus anciennes), et de composants complémentaires qui facilitent la programmation et l’interfaçage avec d’autres circuits. Chaque module possède au moins un régulateur linéaire 5V et un oscillateur à quartz 16 MHz (ou un résonateur céramique dans certains modèles). Le microcontrôleur est pré-programmé avec un boot loader de façon à ce qu’un programmateur dédié ne soit pas nécessaire. Les modules sont programmés au travers une connexion série RS-232, mais les connexions permettant cette programmation diffèrent selon les modèles. Les premiers Arduino possédaient un port série, puis l’USB est apparu sur les modèles Diecimila, tandis que certains modules destinés à une utilisation portable se sont affranchis de l’interface de programmation, relocalisée sur un module USB- série dédié (sous forme de carte ou de câble). L’Arduino utilise la plupart des entrées/sorties du microcontrôleur pour l’interfaçage avec les autres circuits. Le modèle Diecimila par exemple, possède 14 entrées/sorties numériques, dont 6 peuvent produire des signaux PWM, et 6 entrées analogiques. Les connexions sont établies au travers de connecteurs femelle HE14 situés sur le dessus de la carte, les modules d’extension venant s’empiler sur l’Arduino. Plusieurs sortes d’extensions sont disponibles dans le commerce. EIE LP CONDORCET YOUNSI A. ROBOT SUIVEUR DE LIGNE 4/ 14 1. Alimentation : La carte Arduino UNO peut être alimentée par l’USB ou par une alimentation externe. La source est sélectionnée automatiquement. La tension d’alimentation extérieure (hors USB) peut venir soit d’un adaptateur AC-DC ou de piles. L’adaptateur peut être connecté grâce à un ‘jack’ de 2.1mm positif au centre. Le raccordement vers un bloc de piles peut utiliser les bornes Gnd et Vin du connecteur d’alimentation (POWER). La carte peut fonctionner à l’aide d’une tension extérieure de 7 à 12 volts. Les broches (pins) d’alimentation sont les suivantes : VIN. La tension d’entrée positive lorsque la carte Arduino est utilisée avec une source de tension externe (à distinguer du 5V de la connexion USB ou autre source 5V régulée). Vous pouvez alimenter la carte à l’aide de cette broche, ou, si l’alimentation est fournie par le jack d’alimentation, accéder à la tension d’alimentation sur cette broche. 5V. La tension régulée utilisée pour faire fonctionner le microcontrôleur et les autres composants de la carte (pour info : les circuits électroniques numériques nécessitent une tension d’alimentation parfaitement stable dite « tension régulée » obtenue à l’aide d’un composant appelé un régulateur et qui est intégré à la carte Arduino). Le 5V régulé fourni par cette broche peut donc provenir soit de la tension d’alimentation VIN via le régulateur de la carte, ou bien de la connexion USB (qui fournit du 5V régulé) ou de tout autre source d’alimentation régulée. 3V3. Une alimentation de 3.3V fournie par le circuit intégré FTDI (circuit intégré faisant l’adaptation du signal entre le port USB de votre ordinateur et le port série de l’Atmega) de la carte est disponible : ceci est intéressant pour certains circuits externes nécessitant cette tension au lieu du 5V). L’intensité maximale disponible sur cette broche est de 50mA GND. Broche de masse (ou 0V). 2. Mémoire L’ Atmega328 a 32 KB de mémoire (dont 0.5 KB pour le bootloader). Il a également 2 KB de SRAM et 1 KB de mémoire non volatile EPROM (qui peut être écrite et lue grâce à la librairie ‘EEPROM’). 3. Entrées et sorties Chacune des 14 broches numériques de la Uno peut être utilisée en entrée (input) ou en sortie (output), en utilisant les fonctions pinMode(), digitalWrite(), et digitalRead(). Elles fonctionnent en logique TTL (0V-5V) ; chacune pouvant fournir (source) ou recevoir un courant maximal de 40 mA et dispose si besoin est d’une résistance interne de ‘pull-up’. En outre, certaines broches ont des fonctions spécialisées : • Serial : broche 0 (RX) et broche1 (TX). Permet de recevoir (RX) et de transmettre (TX) des données séries TTL. Ces broches sont raccordées à leurs homologues sur le chip Atmega8U2 spécialisé dans la conversion USB-to-TTL série. • Interruptions externes 2 et 3. Ces broches peuvent être configurées pour déclencher une interruption sur une valeur LOW, sur un front montant ou descendant, ou encore sur le changement de valeur. (voir la fonction attachInterrupt() pour des détails). • PWM : 3, 5, 6, 9, 10, and 11. Output 8-bit de PWM avec la fonction analogWrite(). • SPI : 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Ces broches fournissent le support de communication SPI en utilisant la ‘library’ spécialisée • LED : 13. Il y a une uploads/Geographie/ 1-dossier-arduino-pdf.pdf
Documents similaires
-
24
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Nov 22, 2022
- Catégorie Geography / Geogra...
- Langue French
- Taille du fichier 1.5190MB