La Mega 2560 R3 est la carte Arduino qui ne manque jamais de broches : 54 entrées-sorties numériques, 16 entrées analogiques et quatre ports série matériels. Là où une Uno s’arrête faute de place, la Mega continue.
Elle se programme exactement comme une Uno, avec le même logiciel, et accepte la plupart des shields prévus pour ces deux cartes. Elle est livrée avec son câble USB.
À quoi sert une Mega 2560 ?
Le processeur n’est pas un ATmega328P mais un ATmega2560, et cela change l’échelle du projet : huit fois plus de mémoire programme, quatre fois plus de RAM, deux fois et demie plus d’EEPROM. Concrètement, un programme qui refuse de se compiler sur une Uno parce qu’il déborde passe sans difficulté ici, et plusieurs bibliothèques volumineuses peuvent cohabiter dans le même croquis.
Les montages qui réclament une Mega sont toujours ceux où le nombre de broches est le facteur limitant :
- Imprimante 3D ou machine CNC — la carte qui pilote cinq moteurs pas à pas, trois thermistances, deux ventilateurs et un écran graphique en même temps.
- Domotique multi-capteurs — température, humidité, présence, luminosité, porte, fumée : autant de capteurs qui occupent chacun une broche.
- Bras ou robot à plusieurs servomoteurs — la bibliothèque Servo pilote jusqu’à 48 moteurs sur une Mega, contre 12 sur une Uno.
- Plusieurs écrans et claviers — un afficheur LCD, un clavier matriciel, un lecteur de carte SD et un module radio sans se disputer les broches.
- Communication série multiple — un module Bluetooth, un module GPS et un lecteur de badge branchés en même temps, chacun sur son propre port.
Caractéristiques techniques
| Microcontrôleur | ATmega2560, cœur 8 bits AVR |
|---|---|
| Fréquence | 16 MHz (oscillateur à quartz) |
| Tension de service | 5 V continu |
| Entrées-sorties numériques | 54 broches, dont 15 compatibles PWM |
| Entrées analogiques | 16 broches, résolution 10 bits (valeurs de 0 à 1023) |
| Ports série matériels | 4 (Serial, Serial1, Serial2, Serial3) |
| Mémoire programme | 256 ko de mémoire flash, dont 8 ko occupés par le chargeur d’amorçage |
| Mémoire vive | 8 ko de SRAM |
| Mémoire permanente | 4 ko d’EEPROM, conservée hors tension |
| Courant par broche d’entrée-sortie | 20 mA recommandés au maximum |
| Sortie 3,3 V | 50 mA au maximum — réservée aux petits modules |
| Alimentation par jack | 7 à 12 V recommandés, 6 à 20 V en limites absolues |
| Connecteur USB | USB type B, comme une imprimante |
| Dimensions | 101,5 × 53,3 mm, 37 g environ |
| LED de test | Broche 13 |
Ce qui change par rapport à une Uno
| Processeur | ATmega2560 (Mega) contre ATmega328P (Uno) |
|---|---|
| Entrées-sorties | 54 contre 14 |
| Sorties PWM | 15 (broches 2 à 13, plus 44, 45 et 46) contre 6 |
| Entrées analogiques | 16 contre 6 |
| Ports série | 4 contre 1 |
| Broches I2C | 20 (SDA) et 21 (SCL) |
| Broches SPI | 50 (MISO), 51 (MOSI), 52 (horloge), 53 (sélection) |
| Interruptions externes | Broches 2, 3, 18, 19, 20 et 21 |
| Mémoire programme | 256 ko contre 32 ko |
| Format | 101,5 × 53,3 mm contre 68,6 × 53,4 mm |
Un point important pour les shields. Une carte Uno a ses broches numériques sur une seule rangée et ses broches analogiques au même endroit. La Mega est plus longue : ses broches 0 à 13 et ses entrées analogiques ne tombent pas en face de celles d’un shield Uno. Un shield Uno se monte physiquement, mais ses connexions n’arrivent pas sur les bonnes broches. Pour prototyper sur une Mega, il faut un shield de prototypage au format Mega.
Les quatre ports série, l’avantage décisif
Chaque port a ses broches, et c’est ce qui permet de brancher plusieurs appareils qui parlent tous « série » sans qu’aucun ne dérange l’autre :
| Serial | Broches 0 (RX) et 1 (TX) — c’est la liaison avec l’ordinateur, par le câble USB |
|---|---|
| Serial1 | Broches 19 (RX) et 18 (TX) |
| Serial2 | Broches 17 (RX) et 16 (TX) |
| Serial3 | Broches 15 (RX) et 14 (TX) |
Sur une Uno, brancher un module Bluetooth sur la seule liaison disponible revient à débrancher le moniteur série : on ne voit plus rien de ce qui se passe pendant le téléversement. Sur la Mega, le module Bluetooth se met sur Serial1 et le moniteur série reste libre sur l’USB.
Alimentation : trois façons de faire
- Par le câble USB — 5 V fournis par l’ordinateur. C’est le mode de la programmation et de tous les projets peu gourmands. Une carte seule consomme quelques dizaines de milliampères.
- Par le jack d’alimentation — un adaptateur de 7 à 12 V continu. En dessous de 7 V, le régulateur de la carte ne tient plus la sortie 5 V ; au-dessus de 12 V, il chauffe inutilement. Une alimentation 12 V stabilisée convient parfaitement.
- Par la broche VIN — pour alimenter la carte depuis un montage existant, avec du 7 à 12 V. Ne jamais y envoyer du 5 V : cela ne suffit pas à faire fonctionner le régulateur.
Les gros consommateurs ne se branchent pas sur la carte. Servomoteurs, moteurs, bandeaux de LED, modules relais : tout ce qui dépasse quelques dizaines de milliampères réclame sa propre alimentation, avec la masse reliée à celle de la Mega. Faire passer ce courant par la carte fait chauffer le régulateur et provoque des redémarrages inexpliqués.
Mini-projet : commander la carte depuis un téléphone
Voici le montage qui montre le mieux pourquoi cette carte a quatre ports série. On branche un module Bluetooth sur le port série 1, et l’ordinateur garde l’USB pour lui : on allume et on éteint la LED de la carte depuis un téléphone, tout en suivant chaque commande dans le moniteur série.
Ce qu’il faut
| La carte | Celle de cette page, avec son câble USB |
|---|---|
| La liaison sans fil | Module Bluetooth Série HC05 |
| Le support | Plaque d’essai 400 points |
| Les liaisons | 10 × fil mâle-femelle |
Le câble mâle-femelle est le bon choix : d’un côté il se pique dans la plaque d’essai, de l’autre il se clipse sur les broches du module Bluetooth, qui sont mâles elles aussi.
Le câblage
Bluetooth VCC | → Mega 5V |
|---|---|
Bluetooth GND | → Mega GND |
Bluetooth TXD | → Mega RX1 (broche 19) |
Bluetooth RXD | → Mega TX1 (broche 18) |
Les deux lignes de données se croisent toujours. Ce que le module émet part vers la broche de réception de la carte, et inversement. Brancher TXD sur TX et RXD sur RX est l’erreur la plus fréquente : rien ne fonctionne, alors que le module s’allume.
Le module HC-05 travaille en interne en 3,3 V. Les cartes support les plus répandues intègrent un régulateur et acceptent le 5 V sur leurs broches ; si vous avez en main le module nu, sans carte support, alimentez-le en 3,3 V et intercalez un pont diviseur sur sa broche RXD.
Le programme
À copier dans le logiciel de programmation, puis à téléverser :
/*
* Mega 2560 et module Bluetooth HC-05 sur Serial1
* Carte : Arduino Mega 2560 R3
* Montage : module HC-05 sur les broches 18 et 19, LED de la broche 13
*
* Composants, brochage et fiche complete : www.marocproduits.com
*/
const int PIN_LED = 13; // la LED deja presente sur la carte
void setup() {
pinMode(PIN_LED, OUTPUT);
// Port USB : reserve au moniteur serie, pour suivre ce qui se passe.
Serial.begin(9600);
Serial.println("Mega 2560 prete.");
// Port serie 1 : la liaison avec le telephone.
// 9600 bauds est le reglage d'usine du HC-05.
Serial1.begin(9600);
}
void loop() {
// Sortie immediate s'il n'y a rien a lire dans le tampon.
if (Serial1.available() == 0) {
return;
}
char commande = Serial1.read();
if (commande == '1') {
digitalWrite(PIN_LED, HIGH);
Serial1.println("LED allumee");
Serial.println("LED allumee");
}
if (commande == '0') {
digitalWrite(PIN_LED, LOW);
Serial1.println("LED eteinte");
Serial.println("LED eteinte");
}
}Comment ça marche
Serial.begin()ouvre la liaison USB,Serial1.begin()ouvre la liaison des broches 18 et 19. Les deux vivent en parallèle, avec le même débit.Serial1.available()indique combien de caractères attendent dans le tampon de réception. Le programme sort de la boucle tant qu’il n’y a rien : c’est ce qui remplace une attente fixe, toujours trop longue ou trop courte.Serial1.read()retire un caractère du tampon. Le caractère arrive sous forme de code ASCII, et les apostrophes du programme désignent bien le caractère reçu, pas son nom.- Chaque commande est renvoyée deux fois : au téléphone par Bluetooth, et à l’ordinateur par USB. On voit donc à l’écran ce que le téléphone vient d’envoyer.
Puisque la liaison est sur le port série 1, la fenêtre du moniteur série de l’ordinateur reste utilisable pendant tout le fonctionnement. Sur une Uno, le même montage occuperait l’unique port et il faudrait débrancher le module à chaque téléversement.
Pour aller plus loin
- Rendre le montage bavard — ajoutez un afficheur LCD 16×02 avec interface I2C sur les broches 20 et 21, il affiche l’état de la LED et l’heure de la dernière commande.
- Ouvrir les deux modules à la fois — un capteur de température et d’humidité sur une entrée, et la même information consultable à distance : le capteur DHT22 se lit sur une simple broche numérique, tout en laissant les quatre ports série libres.
- Faire parler la carte en Wi-Fi — une carte WeMos avec WiFi reliée par un port série ajoute une page web au projet.
Variante : quatre appareils sur quatre ports
Rien n’empêche d’occuper les quatre ports en même temps. Un module GPS sur Serial1, un lecteur de badge ou un module radio sur Serial2, un second module Bluetooth sur Serial3 : chacun se déclare avec son propre begin() et se lit avec son propre available(). Le moniteur série de l’ordinateur reste disponible par USB pour rassembler tous les messages.
Un seul port reste à ménager : Serial, celui des broches 0 et 1, est utilisé par le câble USB pour le téléversement. Y brancher un module qui émet pendant la compilation fait échouer le transfert du programme.
Questions fréquentes
Windows ne reconnaît pas la carte, que faire ?
Regardez le petit circuit carré situé juste à côté du connecteur USB : c’est lui qui fait la conversion entre l’USB et le processeur. S’il s’agit d’un ATmega16U2, l’ordinateur le reconnaît nativement. S’il s’agit d’un CH340, il faut installer son pilote, une seule fois, pour toute la famille de cartes qui l’utilisent. Dans les deux cas, la bonne carte à choisir dans le logiciel est « Arduino Mega ou Mega 2560 ».
Mon shield pour Uno ne fonctionne pas dessus, pourquoi ?
Parce que les broches ne tombent pas au même endroit sur les deux cartes. La Mega est nettement plus longue : ses broches numériques 0 à 13 et ses entrées analogiques sont décalées. Le shield se monte, mais il n’atteint pas les broches qu’il croit viser. Utilisez un shield de prototypage au format Mega, ou repassez le montage sur une Uno R3.
Quelle différence entre la Mega 2560 et la Mega 2560 R3 ?
La révision R3 a remplacé la puce de conversion USB par un ATmega16U2, renforcé le circuit de réinitialisation, et ajouté deux broches près de la rangée d’alimentation : IOREF, qui indique aux shields la tension de la carte, et des broches SDA et SCL dédiées près de la broche AREF. Le brochage et les programmes, eux, sont identiques.
Combien de servomoteurs puis-je piloter ?
Jusqu’à 48 avec la bibliothèque Servo, contre 12 sur une Uno. En pratique, la limite n’est jamais la carte mais l’alimentation : chaque servomoteur appelle un courant de quelques centaines de milliampères au démarrage. Alimentez-les sur une alimentation séparée et reliez seulement les masses. Pour en piloter beaucoup avec peu de broches, le pilote I2C PCA9685 pour 16 servomoteurs se commande par deux fils, en laissant les broches libres pour le reste du montage.
Faut-il la programmer différemment d’une Uno ?
Non. Le logiciel est le même, le câble est simplement de type B au lieu du type B miniature, et quelques broches changent de rôle : l’I2C passe sur 20 et 21, le SPI sur 50 à 53. Un croquis écrit pour une Uno se téléverse tel quel, à condition de ne pas utiliser plus de broches que la carte n’en possède — et c’est justement là que la Mega est utile.
À combiner avec
Pour exploiter les 54 broches sans encombrer la plaque d’essai, le shield de prototypage au format Mega reprend tout le brochage et reçoit directement les modules. Pour poser le montage proprement une fois terminé, le boîtier pour Mega laisse passer le jack, le connecteur USB et les rangées de broches. Enfin, si le projet entraîne servomoteurs, relais ou moteurs, une alimentation 12 V 2 A les alimentera sans faire chauffer la carte. Si vous débutez, le KIT Starter contient déjà plaque d’essai, fils, résistances et capteurs, que vous pouvez réutiliser tels quels autour de la Mega.











