Arduino – ArduinoBoardLeonardo

Power

L’Arduino Leonardo peut être alimenté via la connexion micro USB ou avec une alimentation externe. La source d’alimentation est sélectionnée automatiquement.
L’alimentation externe (non USB) peut provenir soit d’un adaptateur secteur (wall-wart), soit 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 têtes de broches Gnd et Vin du connecteur POWER.
Les broches d’alimentation sont les suivantes :

  • VIN. La tension d’entrée de la carte Arduino lorsqu’elle utilise une source d’alimentation externe (par opposition aux 5 volts de la connexion USB ou d’une autre source d’alimentation régulée). Vous pouvez fournir une tension par cette broche ou, si vous fournissez une tension via la prise d’alimentation, y accéder par 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 soit de VIN via un régulateur embarqué, soit être fourni par USB ou une autre alimentation régulée de 5V.
  • 3V3. Une alimentation de 3,3 volts générée par le régulateur embarqué. L’appel de courant maximum est de 50 mA.
  • GND. Broches de masse.
  • IOREF. La tension à laquelle les broches i/o de la carte fonctionnent (c’est-à-dire VCC pour la carte). C’est 5V sur la Leonardo.

Mémoire

L’ATmega32u4 a 32 KB (avec 4 KB utilisés pour le bootloader). Il possède également 2,5 Ko de SRAM et 1 Ko d’EEPROM (qui peut être lu et écrit avec la bibliothèque EEPROM).

Entrée et sortie

Chacune des 20 broches d’entrée/sortie numériques de la Leonardo peut être utilisée comme entrée ou sortie, en utilisant les fonctions pinMode(), digitalWrite(), et digitalRead(). Elles fonctionnent à 5 volts. Chaque broche peut fournir ou recevoir un maximum de 40 mA et possède une résistance pull-up interne (déconnectée par défaut) de 20-50 kOhms. De plus, certaines broches ont des fonctions spécialisées :

  • Série : 0 (RX) et 1 (TX). Utilisé pour recevoir (RX) et transmettre (TX) des données série TTL en utilisant la capacité série matérielle de l’ATmega32U4. Notez que sur la Leonardo, la classe Serial fait référence à la communication USB (CDC) ; pour la série TTL sur les broches 0 et 1, utilisez la classe Serial1.
  • TWI : 2 (SDA) et 3 (SCL). Supportez la communication TWI en utilisant la bibliothèque Wire.
  • Interruptions externes : 3 (interruption 0), 2 (interruption 1), 0 (interruption 2), 1 (interruption 3) et 7 (interruption 4). 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 : 3, 5, 6, 9, 10, 11, et 13. Fournir une sortie PWM de 8 bits avec la fonction analogWrite().
  • SPI : sur l’en-tête ICSP. Ces broches supportent la communication SPI en utilisant la bibliothèque SPI. Notez que les broches SPI ne sont pas connectées à l’une des broches d’E/S numériques comme elles le sont sur l’Uno, Elles sont uniquement disponibles sur le connecteur ICSP. Cela signifie que si vous avez un shield qui utilise SPI, mais qui n’a PAS de connecteur ICSP à 6 broches qui se connecte à l’en-tête ICSP à 6 broches de la Leonardo, le shield ne fonctionnera pas.
  • LED : 13. Il y a une LED intégrée connectée à la broche numérique 13. Quand la broche a une valeur HIGH, la LED est allumée, quand la broche est LOW, elle est éteinte.
  • Entrées analogiques : A0-A5, A6 – A11 (sur les broches numériques 4, 6, 8, 9, 10 et 12). La Leonardo possède 12 entrées analogiques, étiquetées de A0 à A11, qui peuvent toutes également être utilisées comme entrées/sorties numériques. Les broches A0-A5 apparaissent aux mêmes endroits que sur l’Uno ; les entrées A6-A11 sont sur les broches d’entrée/sortie numériques 4, 6, 8, 9, 10 et 12 respectivement. Chaque entrée analogique fournit 10 bits de résolution (c’est-à-dire 1024 valeurs différentes). Par défaut, les entrées analogiques mesurent de la terre à 5 volts, bien qu’il soit possible de modifier l’extrémité supérieure de leur plage en utilisant la broche AREF et la fonction analogReference().

Il y a quelques autres broches sur la carte :

  • AREF. Tension de référence pour les entrées analogiques. Utilisée avec la fonction analogReference().
  • Reset. Mettez cette ligne BAS pour réinitialiser le microcontrôleur. Typiquement utilisé pour ajouter un bouton de réinitialisation aux shields qui bloquent celui de la carte.

Voir aussi le mapping entre les broches Arduino et les ports ATmega32u4.

Communication

La Leonardo dispose d’un certain nombre de facilités pour communiquer avec un ordinateur, un autre Arduino, ou d’autres microcontrôleurs. L’ATmega32U4 permet la communication série UART TTL (5V), qui est disponible sur les broches numériques 0 (RX) et 1 (TX). Le 32U4 permet également la communication série (CDC) sur USB et apparaît comme un port de communication virtuel pour les logiciels de l’ordinateur. La puce agit également comme un périphérique USB 2.0 à pleine vitesse, en utilisant les pilotes USB COM standard. Sous Windows, un fichier .inf est nécessaire. Le logiciel Arduino comprend un moniteur série qui permet d’envoyer des données textuelles simples vers et depuis la carte Arduino. Les LED RX et TX de la carte clignotent lorsque des données sont transmises via la connexion USB à l’ordinateur (mais pas pour la communication série sur les broches 0 et 1). Une bibliothèque SoftwareSerial permet la communication série sur n’importe quelle broche numérique de la Leonardo. L’ATmega32U4 supporte également la communication I2C (TWI) et SPI. Le logiciel Arduino comprend une bibliothèque Wire pour simplifier l’utilisation du bus I2C ; voir la documentation pour plus de détails. Pour la communication SPI, utilisez la bibliothèque SPI. La Leonardo apparaît comme un clavier et une souris génériques, et peut être programmée pour contrôler ces périphériques d’entrée en utilisant les classes Keyboard et Mouse.

Programmation

La Leonardo peut être programmée avec le logiciel Arduino (téléchargement). Sélectionnez « Arduino Leonardo » dans le menu Outils >Carte (selon le microcontrôleur de votre carte). Pour plus de détails, voir la référence et les tutoriels. Le ATmega32U4 de l’Arduino Leonardo est livré préinstallé avec un chargeur de démarrage qui vous permet d’y charger un nouveau code sans utiliser de programmateur matériel externe. Il communique en utilisant le protocole AVR109. Vous pouvez également contourner le bootloader et programmer le microcontrôleur à travers l’en-tête ICSP (In-Circuit Serial Programming) en utilisant Arduino ISP ou similaire ; voir ces instructions pour plus de détails.

Réinitialisation automatique (logicielle) et initiation du bootloader

Plutôt que de nécessiter une pression physique sur le bouton de réinitialisation avant un téléchargement, la Leonardo est conçue de manière à pouvoir être réinitialisée par un logiciel fonctionnant sur un ordinateur connecté. La réinitialisation est déclenchée lorsque le port série / COM virtuel (CDC) de la Leonardo est ouvert à 1200 bauds, puis fermé. Lorsque cela se produit, le processeur se réinitialise, rompant la connexion USB avec l’ordinateur (ce qui signifie que le port série / COM virtuel disparaît). Après la réinitialisation du processeur, le chargeur de démarrage démarre et reste actif pendant environ 8 secondes. Le bootloader peut aussi être lancé en appuyant sur le bouton reset de la Leonardo. Notez que lorsque la carte s’allume pour la première fois, elle sautera directement à l’esquisse de l’utilisateur, si elle est présente, plutôt que d’initier le bootloader.
En raison de la façon dont la Leonardo gère le reset, il est préférable de laisser le logiciel Arduino essayer d’initier le reset avant de télécharger, surtout si vous avez l’habitude d’appuyer sur le bouton reset avant de télécharger sur d’autres cartes. Si le logiciel ne peut pas réinitialiser la carte, vous pouvez toujours lancer le bootloader en appuyant sur le bouton reset de la carte.

Protection contre les surintensités USB

La Leonardo possède un polyfusible 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 fournissent leur propre protection interne, le fusible offre une couche supplémentaire de protection. Si plus de 500 mA sont appliqués au port USB, le fusible coupe automatiquement la connexion jusqu’à ce que le court-circuit ou la surcharge soit supprimé.

Caractéristiques physiques

La longueur et la largeur maximales de la carte PCB Leonardo sont respectivement de 2,7 et 2,1 pouces, le connecteur USB et la prise d’alimentation dépassant la première dimension. Quatre trous de vis permettent de fixer la carte sur une surface ou un boîtier. Notez que la distance entre les broches numériques 7 et 8 est de 160 mil (0.16″), ce qui n’est pas un multiple pair de l’espacement de 100 mil des autres broches.