Cours Arduino mega 2560 [Eng]
Cours Arduino mega 2560 pdf [Eng]
...
L'Arduino Mega 2560 est une carte à microcontrôleur basée sur l'ATmega2560 (fiche technique). Il possède 54 broches d’entrée / sortie numériques (dont 14 peuvent être utilisées en tant que sorties PWM), 16 entrées analogiques, 4 UART (ports série matériels), un oscillateur à cristal de 16 MHz, une connexion USB, une prise de courant, un en-tête ICSP, et un bouton de réinitialisation. Il contient tout le nécessaire pour prendre en charge le microcontrôleur. connectez-le simplement à un ordinateur avec un câble USB ou alimentez-le avec un adaptateur CA / CC ou une batterie pour commencer. Le Mega est compatible avec la plupart des boucliers conçus pour les Arduino Duemilanove ou Diecimila.
…
L'Arduino Mega2560 peut être alimenté via la connexion USB ou avec une alimentation externe. La source d'alimentation est sélectionnée automatiquement. L’alimentation externe (non USB) peut provenir d’un adaptateur CA-CC (chargeur secteur) ou d’une batterie. L'adaptateur peut être connecté en branchant une fiche positive centrale de 2,1 mm dans la prise d'alimentation de la carte. Les fils d’une batterie peuvent être insérés dans les connecteurs à broches Gnd et Vin du connecteur POWER. La carte peut fonctionner avec une alimentation externe de 6 à 20 volts. Cependant, si elle est fournie avec moins de 7 V, la broche 5 V peut fournir moins de cinq volts et la carte peut être instable. Si vous utilisez plus de 12V, le régulateur de tension peut surchauffer et endommager la carte. La plage recommandée est de 7 à 12 volts. Le Mega2560 diffère de toutes les cartes précédentes en ce qu'il n'utilise pas la puce de pilote FTDI USB-to-serial. Au lieu de cela, il propose l’Atmega8U2 programmé en tant que convertisseur USB / série.
Les broches d'alimentation sont les suivantes:
- VIN. La tension d'entrée sur la carte Arduino lorsqu'elle utilise une source d'alimentation externe (par opposition à 5 volts de la connexion USB ou d'une autre source d'alimentation régulée). Vous pouvez alimenter en tension via cette broche ou, si vous alimentez en tension via la prise d'alimentation, y accéder via cette broche.
- 5V. L'alimentation régulée utilisée pour alimenter le microcontrôleur et les autres composants de la carte. Cela peut provenir de VIN via un régulateur intégré, ou être alimenté par USB ou une autre alimentation 5V régulée.
- 3V3. Une alimentation de 3,3 volts générée par le régulateur embarqué. Le courant maximal consommé est de 50 mA.
- GND. Broches de terre.
L'ATmega2560 dispose de 256 Ko de mémoire flash pour stocker le code (dont 8 Ko sont utilisés pour le chargeur de démarrage), 8 Ko de SRAM et 4 Ko d'EEPROM (pouvant être lus et écrits avec la bibliothèque EEPROM).
Chacune des 54 broches numériques du Mega peut être utilisée comme entrée ou sortie à l’aide des fonctions pinMode (), digitalWrite () et digitalRead (). Ils fonctionnent à 5 volts. Chaque broche peut fournir ou recevoir un maximum de 40 mA et possède une résistance de tirage interne (déconnectée par défaut) de 20 à 50 kOhms. De plus, certaines épingles ont des fonctions spécialisées:
- Série: 0 (RX) et 1 (TX); Série 1: 19 (RX) et 18 (TX); Série 2: 17 (RX) et 16 (TX); Série 3: 15 (RX) et 14 (TX). Utilisé pour recevoir (RX) et transmettre (TX) des données série TTL. Les broches 0 et 1 sont également connectées aux broches correspondantes de la puce série USB-to-TTL ATmega8U2.
- Interruptions externes: 2 (interruption 0), 3 (interruption 1), 18 (interruption 5), 19 (interruption 4), 20 (interruption 3) et 21 (interruption 2). Ces broches peuvent être configurées pour déclencher une interruption sur une valeur basse, un front montant ou descendant ou un changement de valeur. Voir la fonction attachInterrupt () pour plus de détails.
- PWM: 0 à 13. Fournissez une sortie PWM 8 bits avec la fonction analogWrite ().
- SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS). Ces broches prennent en charge la communication SPI qui, bien que fournie par le matériel sous-jacent, n’est pas actuellement incluse dans le langage Arduino. Les broches SPI sont également réparties sur l'en-tête ICSP, qui est physiquement compatible avec les modèles Duemilanove et Diecimila.
- LED: 13. Une LED intégrée est connectée à la broche numérique 13. Lorsque la broche a une valeur HIGH, la LED est allumée, lorsque la broche est LOW, elle est éteinte.
- I2C: 20 (SDA) et 21 (SCL). Prise en charge de la communication I2C (TWI) à l'aide de la bibliothèque Wire (documentation disponible sur le site Web Wiring). Notez que ces broches ne se trouvent pas au même emplacement que les broches I2C du Duemilanove.
Le Mega2560 dispose de 16 entrées analogiques, chacune offrant une résolution de 10 bits (soit 1024 valeurs différentes). Par défaut, ils mesurent de la terre à 5 volts, mais il est possible de changer l'extrémité supérieure de leur plage en utilisant la broche AREF et la fonction analogReference ()
Il y a quelques autres pins sur le tableau:
- AREF. Tension de référence pour les entrées analogiques. Utilisé avec analogReference ().
- Réinitialiser. Apportez cette ligne LOW pour réinitialiser le microcontrôleur. Généralement utilisé pour ajouter un bouton de réinitialisation aux boucliers qui bloque celui du tableau.
la communication
L'Arduino Mega2560 dispose d'un certain nombre d'installations pour communiquer avec un ordinateur, un autre Arduino ou d'autres microcontrôleurs. L'ATmega2560 fournit quatre UART matériels pour la communication série TTL (5V). Un ATmega8U2 sur la carte canalise l’un de ceux-ci via USB et fournit un port com virtuel aux logiciels de l’ordinateur (les machines Windows auront besoin d’un fichier .inf, mais les machines OSX et Linux reconnaîtront automatiquement la carte comme un port COM. Le logiciel Arduino comprend un moniteur série permettant l'envoi de données textuelles simples vers et depuis la carte. Les voyants RX et TX de la carte clignotent lors de la transmission de données via la puce ATmega8U2 et la connexion USB à l'ordinateur (pas pour la communication série broches 0 et 1) .Une bibliothèque SoftwareSerial permet la communication série sur n’importe laquelle des broches numériques du Mega. L’ATmega2560 prend également en charge les communications I2C (TWI) et SPI. Le logiciel Arduino inclut une bibliothèque Wire pour simplifier l’utilisation du bus I2C; documentation sur le site Web Wiring pour plus de détails Pour utiliser la communication SPI, veuillez consulter la fiche technique ATmega2560.
Programmation
L'Arduino Mega2560 peut être programmé avec le logiciel Arduino (téléchargement). Pour plus de détails, voir la référence et les tutoriels. L'Atmega2560 sur l'Arduino Mega est livré avec un chargeur de démarrage qui vous permet de télécharger du nouveau code sans l'aide d'un programmeur matériel externe. Il communique à l'aide du protocole STK500 d'origine (référence, fichiers d'en-tête C). Vous pouvez également contourner le chargeur de démarrage et programmer le microcontrôleur via l'en-tête ICSP (In-Circuit Serial Programming); voir ces instructions pour plus de détails.
Réinitialisation automatique (logiciel)
Plutôt que de nécessiter une pression physique sur le bouton de réinitialisation avant un téléchargement, l'Arduino Mega2560 est conçu de manière à pouvoir être réinitialisé par un logiciel exécuté sur un ordinateur connecté. L'une des lignes de contrôle de flux matériel (DTR) de l'ATmega8U2 est connectée à la ligne de réinitialisation de l'ATmega2560 via un condensateur de 100 nanofarad. Lorsque cette ligne est affirmée (prise bas), la ligne de réinitialisation tombe suffisamment longtemps pour réinitialiser la puce. Le logiciel Arduino utilise cette fonctionnalité pour vous permettre de télécharger du code en appuyant simplement sur le bouton de téléchargement dans l'environnement Arduino.
Cela signifie que le chargeur de démarrage peut avoir un délai d'expiration plus court, car l'abaissement de DTR peut être bien coordonné avec le début du téléchargement. Cette configuration a d'autres implications. Lorsque le Mega2560 est connecté à un ordinateur sous Mac OS X ou Linux, il se réinitialise chaque fois qu'une connexion est établie à partir d'un logiciel (via USB). Pendant environ une demi-seconde, le chargeur de démarrage s'exécute sur le Mega2560.
Bien qu’il soit programmé pour ignorer les données mal formées (c’est-à-dire autre chose qu’un téléchargement de nouveau code), il interceptera les premiers octets de données envoyés à la carte après l’ouverture d’une connexion. Si un croquis exécuté sur la carte reçoit une configuration unique ou d’autres données lors de son premier démarrage, assurez-vous que le logiciel avec lequel il communique attend une seconde après l’ouverture de la connexion et avant l’envoi de ces données. Le Mega contient une trace qui peut être coupée pour désactiver la réinitialisation automatique. Les pads de chaque côté de la trace peuvent être soudés ensemble pour la réactiver. C'est étiqueté "RESET-EN". Vous pouvez également désactiver la réinitialisation automatique en connectant une résistance de 110 ohm de 5 V à la ligne de réinitialisation; voir ce fil de discussion pour plus de détails.
… … …
L'Arduino Mega est doté d'un polyfuse réinitialisable qui protège les ports USB de votre ordinateur contre les courts-circuits et les surintensités. Bien que la plupart des ordinateurs offrent leur propre protection interne, le fusible fournit une couche de protection supplémentaire. Si plus de 500 mA sont appliqués au port USB, le fusible coupera automatiquement la connexion jusqu'à ce que le court-circuit ou la surcharge soit éliminé.
… … …
La longueur et la largeur maximales de la carte Mega sont respectivement de 4 et 2,1 pouces, le connecteur USB et la prise d'alimentation s'étendant au-delà de l'ancienne dimension. Trois trous de vis permettent de fixer la carte à une surface ou à un boîtier. Notez que la distance entre les broches numériques 7 et 8 est de 160 mils (0,16 m), ce qui n’est pas un multiple pair de l’espacement des 100 broches des autres broches. Le Mega est conçu pour être compatible avec la plupart des boucliers conçus pour Diecimila ou Duemilanove. Numérique les broches 0 à 13 (et les broches AREF et GND adjacentes), les entrées analogiques 0 à 5, l'en-tête d'alimentation et l'en-tête ICSP sont tous situés à des emplacements équivalents. L'UART principal (port série) est situé sur les mêmes broches (0 et 1), de même que les interruptions externes 0 et 1 (broches 2 et 3 respectivement). SPI est disponible via l'en-tête ICSP sur Mega et Duemilanove / Diecimila.Veuillez noter que I2C n'est pas situé sur les mêmes broches sur le Mega (20 et 21) comme Duemilanove / Diecimila (entrées analogiques 4 et 5).