Brochage Arduino Nano : schéma des broches, A6/A7, alimentation
Brochage de l'Arduino Nano en un guide : D0–D13, A0–A7 (A6/A7 analogiques seulement), PWM, VIN/5V/3V3, pilote CH340, Old Bootloader et correspondance Uno.
Le brochage de l'Arduino Nano compte 30 broches alignées sur les deux grands côtés d'une carte de 45 × 18 mm : 14 broches numériques d'entrée/sortie (D0–D13), dont 6 peuvent fournir du PWM (~3, 5, 6, 9, 10, 11), 8 entrées analogiques (A0–A7) et les broches d'alimentation et de contrôle VIN, 5V, 3V3, AREF, deux GND et deux RST. Comme le Nano utilise le même processeur ATmega328P que l'Arduino Uno, les numéros et les fonctions des broches sont aussi les mêmes : un programme écrit pour l'Uno fonctionne sans aucune modification, il suffit de choisir le Nano dans le menu des cartes.
Quelques détails importants distinguent pourtant le Nano de l'Uno, et c'est précisément là que les débutants bloquent : A6 et A7 sont seulement analogiques, la carte n'a pas de prise jack, la broche 3V3 fournit très peu de courant, sur les clones l'USB est géré par une puce CH340 et, pour téléverser, il faut souvent choisir ATmega328P (Old Bootloader). Dans ce guide, tu vas découvrir chaque broche, apprendre à bien placer le Nano sur une breadboard, voir la correspondance des broches avec l'Uno et comprendre en quoi les Nano Every et Nano ESP32 diffèrent du Nano classique.

Qu'est-ce que l'Arduino Nano et en quoi diffère-t-il de l'Uno ?
L'Arduino Nano réunit toutes les fonctions de base de l'Uno sur une carte de 45 × 18 mm pesant environ 7 grammes. Ses broches sont orientées vers le bas, il se pique donc directement sur une breadboard ; cela limite les fils de liaison et, une fois le montage terminé, il passe facilement dans un boîtier ou sur un circuit définitif. À l'intérieur, on retrouve le même ATmega328P à 16 MHz que sur l'Uno, la logique est en 5 V et les mêmes bibliothèques fonctionnent sans changement. Sur le Nano d'origine, la communication USB-série est assurée par une puce FT232RL ; presque tous les clones bon marché du marché ont à la place un CH340G ou un CH340C sous la carte. Pour les voitures robots, les projets portables, les télécommandes et tout montage qui doit tenir dans un boîtier, le Nano est un choix plus pratique que l'Uno.
| Caractéristique | Arduino Nano (V3) |
|---|---|
| Microcontrôleur | ATmega328P, 8 bits, 16 MHz (boîtier TQFP-32) |
| Tension logique (de fonctionnement) | 5 V |
| Tension d'entrée VIN | 7–12 V recommandés |
| Entrées/sorties numériques | 14 broches (D0–D13) ; 20 avec A0–A5 |
| Sorties PWM | 6 broches : D3, D5, D6, D9, D10, D11 |
| Entrées analogiques | 8 broches (A0–A7), 10 bits (0–1023) |
| Courant par broche | 20 mA recommandés, 40 mA maximum absolu |
| Mémoire | 32 Ko de flash (30 720 octets utilisables dans l'IDE), 2 Ko de SRAM, 1 Ko d'EEPROM |
| USB | Mini-B ; FT232RL (original) ou CH340 (clone) |
| Taille et poids | 45 × 18 mm, environ 7 g |
Schéma des broches de l'Arduino Nano : quelle broche est où ?
Les 30 broches du Nano sont disposées en deux rangées face à face de 15 broches, espacées de 15,24 mm (0,6 pouce). Pose la carte devant toi avec la prise mini USB de ton côté : juste à côté de la prise, tu vois deux broches face à face, D12 et D13. La rangée de D13 regroupe 3V3, AREF, A0–A7 et les broches d'alimentation ; la rangée de D12 contient les broches numériques de D11 à D2, suivies de GND, RST, RX0 (D0) et TX1 (D1). À l'extrémité la plus éloignée de l'USB, VIN et TX1 se font face, et le connecteur ICSP 2×3 se trouve aussi de ce côté. Autour du bouton reset, au centre, tu trouves la LED d'alimentation (POW ou ON), la LED L reliée à D13 ainsi que les LED TX et RX qui clignotent pendant le téléversement.
| Position (depuis l'USB) | Rangée analogique et alimentation | Rangée numérique | Remarque |
|---|---|---|---|
| 1 | D13 (SCK, LED L) | D12 (MISO) | Juste à côté de la prise USB |
| 2 | 3V3 | ~D11 (MOSI) | 3V3 fournit très peu de courant |
| 3 | AREF | ~D10 (SS) | - |
| 4 | A0 | ~D9 | - |
| 5 | A1 | D8 | - |
| 6 | A2 | D7 | - |
| 7 | A3 | ~D6 | - |
| 8 | A4 (SDA) | ~D5 | Ligne de données I2C |
| 9 | A5 (SCL) | D4 | Ligne d'horloge I2C |
| 10 | A6 | ~D3 (INT1) | A6 seulement analogique |
| 11 | A7 | D2 (INT0) | A7 seulement analogique |
| 12 | 5V | GND | 5V et GND face à face |
| 13 | RST | RST | Les deux sont la même ligne de reset |
| 14 | GND | D0 (RX0) | D0 est reliée à la puce USB-série |
| 15 | VIN | D1 (TX1) | Le connecteur ICSP est de ce côté |
Broches numériques (D0–D13), PWM et fonctions spéciales
Chaque broche numérique est configurée en entrée ou en sortie avec pinMode() ; en sortie, HIGH donne environ 5 V et LOW 0 V. Pour qu'une entrée ne reste pas flottante, tu peux activer avec INPUT_PULLUP la résistance interne de 20–50 kΩ de la puce. Le courant sûr par broche est de 20 mA ; une LED rouge avec une résistance de 220 Ω consomme environ 13 mA, et tu peux trouver la bonne résistance avec le calculateur de résistance pour LED. Certaines broches ont des fonctions supplémentaires, et les connaître à l'avance évite les conflits quand ton projet grandit :
| Broche | Fonction supplémentaire | Point d'attention |
|---|---|---|
| D0 (RX), D1 (TX) | Port série matériel (Serial) | Reliées à la puce USB-série par des résistances de 1 kΩ ; à laisser libres pendant le téléversement |
| D2, D3 | Interruptions externes INT0, INT1 | attachInterrupt() ne fonctionne que sur ces deux broches |
| ~D3, ~D11 | PWM, Timer2 (environ 490 Hz) | Le PWM de ces broches est perturbé pendant tone() |
| ~D5, ~D6 | PWM, Timer0 (environ 980 Hz) | Même timer que millis() et delay() |
| ~D9, ~D10 | PWM, Timer1 (environ 490 Hz) | La bibliothèque Servo coupe le PWM de ces deux broches |
| D10–D13 | SPI : SS, MOSI, MISO, SCK | En SPI, D10 doit rester une sortie |
| D13 | LED L de la carte | La LED et sa résistance sont reliées directement à la broche |
Un petit détail important distingue le Nano de l'Uno : D13. Sur l'Uno R3, la LED L est pilotée par un amplificateur opérationnel, alors que sur le Nano la LED et sa résistance sont reliées directement à la broche. Si tu utilises D13 comme entrée de bouton avec INPUT_PULLUP, la LED tire la broche vers le bas et tu peux lire LOW même sans appui ; réserve cette broche aux sorties ou au SPI. Le fonctionnement du PWM et la signification des valeurs d'analogWrite() sont expliqués dans Qu'est-ce que le PWM ?, et les interruptions dans Interruptions Arduino.
Broches analogiques A0–A7 : pourquoi A6 et A7 sont-elles différentes ?
Les huit entrées analogiques du Nano mesurent les tensions entre 0 et 5 V avec une résolution de 10 bits : analogRead() renvoie un nombre de 0 à 1023 et un pas vaut environ 4,9 mV. Si besoin, A0–A5 fonctionnent aussi comme des broches numériques normales (A0 = 14 … A5 = 19), et A4 et A5 sont en même temps les lignes SDA et SCL du bus I2C. A6 et A7, absentes de l'Uno, sont deux canaux ADC supplémentaires qu'on ne trouve que sur le boîtier CMS (TQFP) de l'ATmega328P. Ces deux canaux ne sont reliés qu'au convertisseur analogique-numérique ; derrière eux, il n'y a ni registre de port, ni étage de sortie, ni résistance de tirage. C'est pourquoi pinMode(), digitalRead(), digitalWrite() et INPUT_PULLUP ne fonctionnent pas sur ces deux broches.
Le fait que A6 et A7 soient seulement analogiques ressemble à un inconvénient, mais on peut en tirer parti. Si tu relies plusieurs boutons à une broche analogique à travers des résistances de valeurs différentes, chaque bouton produit une tension différente ; tu lis ainsi quatre boutons avec une seule broche et tu gardes les broches numériques pour les moteurs et les écrans. Dans le montage, relie A6 à 5V par une résistance de 10 kΩ ; branche le premier bouton directement entre A6 et GND, et les trois autres vers GND à travers des résistances de 2,2 kΩ, 4,7 kΩ et 10 kΩ respectivement.
1// A6'da 4 buton: 10 kΩ pull-up + farklı seri dirençler / 4 buttons on A6: 10 kΩ pull-up + different series resistors
2const byte LADDER_PIN = A6; // yalnız analog pin / analog-only pin
3
4byte readButton() {
5 int v = analogRead(LADDER_PIN);
6 if (v < 92) return 1; // 0 Ω -> yaklaşık 0 / about 0
7 if (v < 256) return 2; // 2,2 kΩ -> yaklaşık 184 / about 184
8 if (v < 419) return 3; // 4,7 kΩ -> yaklaşık 327 / about 327
9 if (v < 767) return 4; // 10 kΩ -> yaklaşık 512 / about 512
10 return 0; // basılı değil -> 1023 / not pressed -> 1023
11}
12
13void setup() {
14 Serial.begin(9600);
15}
16
17void loop() {
18 static byte lastButton = 0;
19 byte b = readButton();
20 if (b != lastButton) {
21 delay(20); // kontak sıçramasını bekle / wait out contact bounce
22 b = readButton(); // değeri doğrula / confirm the value
23 if (b != lastButton) {
24 lastButton = b;
25 if (b != 0) {
26 Serial.print(F("Buton / Button: "));
27 Serial.println(b);
28 }
29 }
30 }
31}| Bouton | Résistance en série vers GND | analogRead attendu | Plage acceptée dans le code |
|---|---|---|---|
| Bouton 1 | 0 Ω (direct) | 0 | 0–91 |
| Bouton 2 | 2,2 kΩ | Environ 184 | 92–255 |
| Bouton 3 | 4,7 kΩ | Environ 327 | 256–418 |
| Bouton 4 | 10 kΩ | Environ 512 | 419–766 |
| Aucun | - | 1023 | 767–1023 |
Les valeurs viennent de la formule analogRead = 1023 × R / (10 kΩ + R), et chaque seuil se trouve exactement à mi-chemin entre deux valeurs voisines. Comme la résistance de tirage et l'ADC sont alimentés par la même ligne 5 V, les lectures ne changent pas même si l'alimentation tombe à 4,7 V ; on parle de mesure ratiométrique. Si deux boutons sont appuyés en même temps, leurs résistances se retrouvent en parallèle et la valeur lue baisse : le code voit un bouton de plus petit numéro, et 3 et 4 appuyés ensemble donnent même 2. L'échelle de résistances convient donc aux menus où l'on n'appuie que sur une touche à la fois. Tu peux vérifier le calcul avec le calculateur de pont diviseur et en savoir plus sur les lectures analogiques dans l'article sur l'ADC.
Broches d'alimentation : VIN, 5V, 3V3 et GND
| Broche | Rôle | Limites et précautions |
|---|---|---|
| VIN | Alimente la carte en 7–12 V ; le régulateur abaisse la tension à 5 V | L'AMS1117 des clones supporte au plus 15 V et chauffe vite à 12 V |
| 5V | La ligne 5 V de la carte : en sortie elle alimente les capteurs, en entrée elle accepte du 5 V régulé | Environ 4,7 V sur USB ; ne jamais y injecter plus de 5 V |
| 3V3 | Sortie 3,3 V | Fournie par le FT232RL sur l'original et par le CH340 sur les clones ; courant très limité |
| GND (2 broches) | Masse commune | La masse de toute source externe doit y être reliée |
| RST (2 broches) | Redémarre la carte quand on la met à LOW | Pour un bouton reset externe ; les deux sont la même ligne |
| AREF | Entrée de référence externe pour les mesures analogiques | Appeler analogReference(EXTERNAL) avant de l'utiliser |
Tu peux alimenter le Nano de trois façons. Par USB, le 5 V vient de l'ordinateur à travers une diode Schottky ; la diode fait chuter environ 0,3 V, si bien que tu mesures généralement 4,6–4,8 V sur la broche 5V, et la diode MBR0520 de la carte d'origine est prévue pour 500 mA au maximum. Si tu appliques 7–12 V sur VIN, le régulateur situé sous la carte (un LM1117 sur l'original, le plus souvent un AMS1117 sur les clones) l'abaisse à 5 V. Le régulateur transforme la tension en trop en chaleur : la puissance dissipée vaut (VIN − 5 V) × courant ; si tu consommes 150 mA avec 12 V en entrée, le petit régulateur dissipe environ 1 W et devient trop chaud pour être touché. C'est pourquoi 7–9 V sont idéaux sur VIN. La troisième façon consiste à injecter du 5 V régulé de l'extérieur sur la broche 5V ; le régulateur n'intervient alors plus et la diode côté USB empêche le courant de repartir vers ton ordinateur. Si tu travailles avec une alimentation 12 V, il est bien plus frais de produire du 5 V avec un convertisseur abaisseur LM2596 et de l'envoyer sur la broche 5V ; toutes les façons d'alimenter la carte sont détaillées dans Comment alimenter un Arduino.
La broche 3V3 est la plus mal comprise du Nano. Sur l'Uno, cette broche provient d'un régulateur dédié, alors que le Nano classique n'a pas de régulateur 3,3 V séparé. Sur le Nano d'origine, le 3,3 V provient d'un petit régulateur intégré à la puce FT232RL (50 mA au maximum) et, d'après l'ancienne documentation d'Arduino, cette sortie n'est pas disponible quand la carte n'est pas alimentée par USB. Sur la plupart des clones, la broche est reliée au régulateur interne du CH340 et ne convient qu'à des charges de quelques mA. N'alimente donc pas de modules 3,3 V comme le nRF24L01, l'ESP-01 ou le RC522 par cette broche ; utilise un régulateur AMS1117-3.3 séparé alimenté par la broche 5V. Et quand tu relies une sortie 5 V du Nano à l'entrée d'un module 3,3 V, place entre les deux un convertisseur de niveaux logiques ou un pont diviseur.
Le fait que la broche 5V tourne autour de 4,7 V sur USB influe aussi sur les mesures analogiques : analogRead() prend la tension d'alimentation comme limite haute, et si tu mets 5,0 V dans ton calcul, le résultat est faussé de 4 à 6 %. On peut calculer la vraie tension d'alimentation en mesurant la référence interne fixe d'environ 1,1 V de l'ATmega328P. Le premier programme de test ci-dessous fait exactement cela, convertit les huit entrées analogiques en volts avec la vraie tension d'alimentation et fait clignoter la LED L sur D13 :
1// Arduino Nano: A0-A7'yi ve gerçek besleme gerilimini oku / read A0-A7 and the real supply voltage
2const byte ANALOG_PINS[8] = {A0, A1, A2, A3, A4, A5, A6, A7};
3
4long readVccMillivolts() {
5 // Referans AVcc, ölçülen kanal dahili 1,1 V / reference AVcc, measured channel internal 1.1 V
6 ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1);
7 delay(2); // referansın oturmasını bekle / let the reference settle
8 ADCSRA |= _BV(ADSC); // dönüşümü başlat / start the conversion
9 while (bit_is_set(ADCSRA, ADSC)) {} // bitmesini bekle / wait until it finishes
10 unsigned int raw = ADC; // 10 bit sonuç / 10-bit result
11 return 1125300L / raw; // 1,1 V x 1023 x 1000 / 1.1 V x 1023 x 1000
12}
13
14void setup() {
15 Serial.begin(9600);
16 pinMode(LED_BUILTIN, OUTPUT); // D13'teki L LED'i / L LED on D13
17}
18
19void loop() {
20 long vcc = readVccMillivolts();
21 analogRead(A0); // kanal değişti, ilk okumayı at / channel changed, discard the first reading
22 Serial.print(F("Vcc: "));
23 Serial.print(vcc);
24 Serial.print(F(" mV |"));
25 for (byte i = 0; i < 8; i++) {
26 int raw = analogRead(ANALOG_PINS[i]); // A6 ve A7 de okunur / A6 and A7 are read too
27 Serial.print(F(" A"));
28 Serial.print(i);
29 Serial.print(F("="));
30 Serial.print(raw * (vcc / 1000.0) / 1023.0, 2); // gerçek Vcc ile volta çevir / convert to volts using the real Vcc
31 }
32 Serial.println();
33 digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN)); // L LED'ini çevir / toggle the L LED
34 delay(1000);
35}Après le téléversement, ouvre le moniteur série à 9600 bauds. La valeur Vcc doit se situer autour de 4600–4800 mV sur USB et autour de 5000 mV avec une alimentation par VIN. Les broches analogiques non reliées affichent des valeurs aléatoires ; si tu branches un potentiomètre sur A0 et que tu le tournes, la valeur varie régulièrement entre 0 et Vcc. La référence interne peut varier de ±10 % d'une puce à l'autre ; pour un résultat plus précis, mesure la broche 5V au multimètre et multiplie la constante 1125300 du code par le rapport valeur mesurée / valeur affichée par le code. Comme ce programme utilise directement les registres de l'ATmega328P, il ne fonctionne ni sur le Nano Every ni sur le Nano ESP32.
Mini USB, CH340 et installation du pilote
Le Nano classique a une prise USB Mini-B ; les câbles Micro-USB ou USB-C des téléphones n'y entrent pas. Certains clones récents ont une prise Micro-USB ou USB-C, mais la plupart sont toujours en mini USB. La raison la plus fréquente pour laquelle la carte n'apparaît pas du tout dans la liste des ports est un câble de charge seule, sans fils de données : la LED d'alimentation s'allume, mais l'ordinateur ne voit pas la carte. Si le câble est bon, retourne la carte et regarde la puce près de la prise USB. S'il est écrit FT232RL, c'est un Nano d'origine dont le pilote est généralement déjà présent dans le système ; s'il est écrit CH340G ou CH340C, tu as un clone.
Windows 10 et 11 installent souvent eux-mêmes le pilote CH340 via Windows Update, et la carte apparaît dans le Gestionnaire de périphériques sous un nom comme USB-SERIAL CH340 (COM3). Si tu vois un USB2.0-Serial avec un point d'exclamation jaune sous Autres périphériques, installe le pilote CH341SER du fabricant de la puce, WCH, puis débranche et rebranche la carte. Les versions récentes de macOS intègrent le pilote ; le port apparaît sous le nom /dev/cu.usbserial-…, et installer en plus d'anciens pilotes peut créer des conflits. Sous Linux, le pilote est inclus dans le noyau ; si le port disparaît dès que tu branches la carte sous Ubuntu 22.04 ou plus récent, c'est le paquet de lecteur d'écran brltty qui s'approprie le CH340, et si tu ne l'utilises pas tu peux le supprimer avec sudo apt remove brltty. Tous les problèmes de port et de pilote sont traités dans Erreur de téléversement Arduino, et les différences entre puces USB-série dans Convertisseurs USB-TTL.
Téléverser le code : ATmega328P ou Old Bootloader ?
- Dans l'IDE Arduino, choisis Outils > Carte > Arduino AVR Boards > Arduino Nano.
- Branche la carte et choisis dans Outils > Port le port qui vient d'apparaître (par exemple COM3 sous Windows ou /dev/cu.usbserial-… sous macOS).
- Dans Outils > Processor, essaie d'abord de téléverser l'exemple Blink avec l'option ATmega328P.
- Si la sortie répète programmer is not responding ou not in sync pendant dix tentatives, passe Processor sur ATmega328P (Old Bootloader) et téléverse à nouveau.
- Si ça ne marche toujours pas, essaie un autre port USB, retire les fils de D0 et D1 et vérifie que la LED L clignote rapidement quand tu appuies sur le bouton reset.
- Note l'option qui a fonctionné ; les autres Nano achetés chez le même vendeur auront très probablement besoin du même réglage.
Cette confusion vient d'un changement fait en 2018. Arduino a remplacé l'ancien bootloader de 2 Ko du Nano (ATmegaBOOT) par l'Optiboot de 512 octets utilisé sur l'Uno. Optiboot reçoit le code à 115200 bauds, alors que l'ancien bootloader attend 57600 bauds ; quand les vitesses ne correspondent pas, la carte semble ne pas répondre du tout. Comme les fabricants de clones ont continué pendant des années à livrer des cartes avec l'ancien bootloader, l'IDE propose les deux options, et un mauvais choix n'abîme pas la carte. Si tu veux, tu peux utiliser un second Arduino comme ArduinoISP pour graver le nouveau bootloader sur le Nano : les téléversements sont plus rapides et la boucle de redémarrages sans fin de l'ancien bootloader après un reset du watchdog disparaît aussi.
| Option Processor | Bootloader | Vitesse de téléversement | Place pour le code |
|---|---|---|---|
| ATmega328P | Optiboot (depuis 2018) | 115200 bauds | 30 720 octets |
| ATmega328P (Old Bootloader) | ATmegaBOOT (ancien) | 57600 bauds | 30 720 octets |
| ATmega168 | ATmegaBOOT (ancien) | 19200 bauds | 14 336 octets |
Placement sur breadboard et soudure

Quand tu piques le Nano sur une breadboard, place-le de façon que les deux rangées de broches se trouvent de part et d'autre de la rainure centrale. Ainsi, chaque broche tombe sur sa propre bande et tu peux y relier des fils par les trous libres de la bande. Comme la carte recouvre la rainure et les trous situés entre les broches, il ne reste que quelques trous à côté de chaque broche ; sur les breadboards courantes de 830 points, si tu centres la carte sur la rainure, il reste 2 trous libres d'un côté et 3 de l'autre. En orientant la prise USB vers le petit côté de la breadboard, le câble se branche facilement. Relie ensuite les broches 5V et GND du Nano aux lignes d'alimentation rouge et bleue de la breadboard pour pouvoir y alimenter tes capteurs. Pour te rappeler comment une breadboard est reliée à l'intérieur, lis Qu'est-ce qu'une breadboard ?.
- Souder les barrettes : Sur les clones livrés avec des broches en vrac, pique d'abord les barrettes mâles dans la breadboard, pose le Nano dessus et soude-le ainsi ; la breadboard maintient les barrettes droites et exactement à 0,6 pouce d'écart. La technique est expliquée dans Comment souder.
- Pour le retirer : Soulever la carte par une seule extrémité tord les broches ; soulève les deux extrémités petit à petit, ou glisse un tournevis plat dessous et retire-la de façon uniforme.
- Faux contacts : Sur les breadboards anciennes ou bon marché, les ressorts se détendent ; le Nano redémarre de temps en temps ou un capteur disparaît par moments. Essaie de déplacer la carte sur une autre zone de la breadboard.
- Carte d'extension Nano : Pour un projet définitif, un Nano I/O shield avec borniers à vis ou connecteurs 3 broches, qui fournit signal, 5V et GND pour chaque broche, réduit fortement le fouillis de fils.
- Mini breadboard : Les petites breadboards de 170 points n'ont pas de lignes d'alimentation ; amène 5V et GND sur des bandes séparées et repère-les avec des couleurs de fils.
Tableau de correspondance des broches Arduino Uno et Nano
| Fonction | Arduino Uno R3 | Arduino Nano | Remarque |
|---|---|---|---|
| E/S numériques | D0–D13 | D0–D13 | Mêmes numéros et fonctions |
| PWM | ~3, 5, 6, 9, 10, 11 | ~3, 5, 6, 9, 10, 11 | Mêmes fréquences et timers |
| Entrées analogiques | A0–A5 | A0–A7 | A6 et A7 seulement sur le Nano, et seulement analogiques |
| I2C SDA / SCL | A4 / A5 (copie près d'AREF) | A4 / A5 | Pas de broches SDA/SCL séparées sur le Nano |
| SPI SS / MOSI / MISO / SCK | 10 / 11 / 12 / 13 | 10 / 11 / 12 / 13 | Aussi présents sur le connecteur ICSP des deux cartes |
| Interruptions externes | D2, D3 | D2, D3 | Identique |
| LED intégrée | D13 (tamponnée par un AOP) | D13 (reliée directement à la broche) | Prudence en utilisant D13 comme entrée sur le Nano |
| Entrée d'alimentation | Jack et Vin, 7–12 V | Broche VIN seulement, 7–12 V | Pas de jack sur le Nano |
| USB | USB-B ; ATmega16U2 ou CH340 | Mini-B ; FT232RL ou CH340 | Câbles différents |
| Sortie 3,3 V | Régulateur dédié, 50 mA | Via la puce USB, très limitée | Ne pas y alimenter de modules sur le Nano |
| IOREF | Oui | Non | Pour la compatibilité des shields |
| Place pour le code | 32 256 octets | 30 720 octets | L'IDE réserve 2 Ko sur le Nano |
| Montage de shields | Directement | Avec un adaptateur ou une carte d'extension | - |
Comme le montre le tableau, pour passer au Nano un montage prévu pour l'Uno, il suffit de relier les fils aux broches de même numéro : un servo sur D9 de l'Uno va sur D9 du Nano, et un écran I2C sur A4/A5 reste sur A4/A5. Le seul changement dans le code est de choisir Arduino Nano dans Outils > Carte. En revanche, les shields qui s'enfichent directement sur l'Uno ne vont pas sur le Nano ; il existe pour cela des cartes adaptatrices qui donnent au Nano le brochage de l'Uno. Tu trouveras le rôle détaillé de chaque broche de l'Uno dans Brochage Arduino Uno, et de l'aide pour choisir ta carte dans Quel Arduino acheter ?.
Nano Every et Nano ESP32 : différences avec le Nano classique
| Caractéristique | Nano classique (V3) | Nano Every | Nano ESP32 |
|---|---|---|---|
| Processeur | ATmega328P, 8 bits, 16 MHz | ATmega4809, 8 bits, 16 MHz dans l'IDE (jusqu'à 20 MHz) | ESP32-S3, double cœur, 32 bits, 240 MHz |
| Flash / SRAM | 32 Ko / 2 Ko | 48 Ko / 6 Ko | 16 Mo / 512 Ko (+8 Mo de PSRAM) |
| Tension logique | 5 V | 5 V | 3,3 V (ne tolère pas le 5 V) |
| USB | Mini-B | Micro-B | USB-C |
| Plage VIN | 7–12 V recommandés | 7–21 V | 6–21 V |
| Broches PWM | D3, D5, D6, D9, D10, D11 | D3, D5, D6, D9, D10 (pas sur D11) | Presque toutes les broches numériques |
| A6 / A7 | Analogiques seulement | Analogiques et numériques | Analogiques et numériques |
| Interruptions externes | D2, D3 seulement | Toutes les broches numériques | Toutes les broches |
| Liaison série D0 / D1 | Partagée avec l'USB (Serial) | Séparée de l'USB (Serial1) | Séparée de l'USB (Serial0) |
| Sans fil | Non | Non | Wi-Fi et Bluetooth LE |
| Paquet de cartes de l'IDE | Arduino AVR Boards | Arduino megaAVR Boards | Arduino ESP32 Boards |
Le Nano Every est une version plus puissante du Nano classique, de même taille et au même brochage. Il embarque un ATmega4809, fonctionne en 5 V et offre 48 Ko de flash et 6 Ko de SRAM ; les projets avec écran OLED ou ruban de LED qui manquent de RAM sur le Nano classique respirent donc mieux. Côté USB, une puce SAMD11 sert de pont et le code est téléversé via l'interface UPDI, il n'y a donc pas de souci d'Old Bootloader. Pour utiliser la carte, installe le paquet Arduino megaAVR Boards depuis le gestionnaire de cartes. Voici les différences à connaître : le PWM n'existe que sur D3, D5, D6, D9 et D10 (D11 n'a pas de PWM), A6 et A7 fonctionnent aussi en numérique, chaque broche numérique peut servir d'interruption externe, et D0 et D1 forment un port Serial1 indépendant de l'USB. Le réglage Outils > Registers emulation > ATMEGA328 émule les registres de port comme PORTB, mais l'ancien code qui écrit directement dans les registres des timers ou de l'ADC ne fonctionne toujours pas. Le programme ci-dessous montre deux différences de l'Every à la fois : il dialogue avec un module sur D0/D1 pendant que le moniteur série est ouvert, et il utilise A7 comme entrée de bouton avec la résistance de tirage interne.
1// Nano Every: Serial = USB, Serial1 = D0 (RX) ve D1 (TX) / Serial = USB, Serial1 = D0 (RX) and D1 (TX)
2const byte BUTTON_PIN = A7; // Every'de A7 dijital de çalışır / A7 also works as digital on the Every
3
4bool lastState = HIGH;
5
6void setup() {
7 Serial.begin(9600); // Seri Monitör / Serial Monitor
8 Serial1.begin(9600); // D0/D1'deki modül, ör. HC-05 / module on D0/D1, e.g. HC-05
9 pinMode(BUTTON_PIN, INPUT_PULLUP); // klasik Nano'nun A7'sinde çalışmaz / does not work on the classic Nano's A7
10}
11
12void loop() {
13 if (Serial1.available()) {
14 Serial.write(Serial1.read()); // modülden bilgisayara / module to computer
15 }
16 if (Serial.available()) {
17 Serial1.write(Serial.read()); // bilgisayardan modüle / computer to module
18 }
19 bool state = digitalRead(BUTTON_PIN);
20 if (state != lastState) { // durum değişince bildir / report when the state changes
21 lastState = state;
22 Serial1.println(state == LOW ? "Buton basildi / Button pressed" : "Buton birakildi / Button released");
23 delay(20); // kontak sıçraması / contact bounce
24 }
25}Le Nano ESP32, lui, est un tout autre monde dans le même format : le processeur ESP32-S3 du module u-blox NORA-W106 tourne à 240 MHz et offre le Wi-Fi et le Bluetooth LE. La différence la plus importante est la tension : toutes les broches fonctionnent en 3,3 V et ne tolèrent pas le 5 V ; un capteur à sortie 5 V que tu brancherais directement sur un Nano classique peut endommager le Nano ESP32. À l'emplacement de la broche 5V du Nano classique se trouve une broche VBUS, qui ne fournit du 5 V que lorsque la carte est alimentée par USB ; avec une alimentation par VIN, cette broche reste hors tension. À la place d'AREF et de la broche RST côté analogique, tu trouves BOOT0 et BOOT1. La carte se programme avec le paquet Arduino ESP32 Boards, et le menu Outils > Pin Numbering propose deux options : avec le réglage par défaut By Arduino pin, ce sont les noms D et A imprimés sur la carte qui comptent ; avec By GPIO number, les nombres sont les numéros GPIO de l'ESP32. Par exemple, D2 est en réalité le GPIO5 ; en mode GPIO, écrire pinMode(2, OUTPUT) configure en fait la broche A1. Si tu écris toujours les broches par leur nom, comme D2 et A0, ton code fonctionne correctement dans les deux modes.
1// Nano ESP32: Araçlar > Pin Numbering > By Arduino pin (default)
2// Nano ESP32: Tools > Pin Numbering > By Arduino pin (default)
3bool ledOn = false;
4
5void setup() {
6 Serial.begin(115200); // USB-C üzerinden / over USB-C
7 pinMode(LED_BUILTIN, OUTPUT); // D13 = GPIO48
8 pinMode(LED_RED, OUTPUT);
9 pinMode(LED_GREEN, OUTPUT);
10 pinMode(LED_BLUE, OUTPUT);
11 digitalWrite(LED_RED, HIGH); // RGB LED ters mantık: HIGH = sönük / active low: HIGH = off
12 digitalWrite(LED_GREEN, HIGH);
13 digitalWrite(LED_BLUE, HIGH);
14 analogReadResolution(12); // 0-4095 arası / range 0-4095
15}
16
17void loop() {
18 int raw = analogRead(A0); // 12 bit ham değer / 12-bit raw value
19 int mv = analogReadMilliVolts(A0); // kalibre edilmiş milivolt / calibrated millivolts
20 Serial.printf("A0: %d (%d mV)\n", raw, mv);
21 digitalWrite(LED_GREEN, mv > 1650 ? LOW : HIGH); // 1,65 V üstünde yeşil / green above 1.65 V
22 digitalWrite(LED_RED, mv > 1650 ? HIGH : LOW); // altında kırmızı / red below
23 ledOn = !ledOn;
24 digitalWrite(LED_BUILTIN, ledOn ? HIGH : LOW); // D13 LED'ini yakıp söndür / blink the D13 LED
25 delay(500);
26}Les entrées analogiques du Nano ESP32 mesurent sur 12 bits et renvoient des valeurs de 0 à 4095, tandis que analogReadMilliVolts() utilise les données d'étalonnage de la puce pour donner directement le résultat en millivolts. La LED RGB de la carte fonctionne en logique inversée : elle s'allume quand tu écris LOW. Si le code ne se téléverse pas et que la carte disparaît de la liste des ports, tu peux la passer en mode bootloader en appuyant deux fois rapidement sur le bouton reset. Pour découvrir le côté Wi-Fi de l'ESP32, lis Qu'est-ce que l'ESP32 ?, et pour choisir ta carte, Arduino ou ESP32 ?. Parmi les autres membres de la famille, le Nano R4 apporte le même Renesas RA4M1 à 48 MHz que l'Uno R4 au format Nano 5 V, mais ne fournit que 8 mA par broche, tandis que les Nano 33 IoT et Nano 33 BLE sont, comme le Nano ESP32, des cartes 3,3 V.
Idées de projets avec l'Arduino Nano
- Thermomètre de poche : Affiche la température mesurée par un DHT11 sur un petit écran OLED ; le Nano et l'écran tiennent dans une boîte d'allumettes.
- Mini voiture robot : La petite taille du Nano fait gagner de la place sur le châssis ; pilote les moteurs avec un L298N et suis les étapes de Fabriquer une voiture robot.
- Robot suiveur de ligne : Huit entrées analogiques suffisent largement pour lire une barrette de cinq capteurs ; les détails sont dans Robot suiveur de ligne.
- Télécommande Bluetooth : Relie un module HC-05 à D8 et D7 avec SoftwareSerial et commande une LED ou un relais depuis ton téléphone ; D0 et D1 restent libres pour le téléversement.
- Lumière à porter : Fabrique un badge lumineux ou une lumière de sac avec un Nano sur piles et quelques LED WS2812B.
- Un clavier sur une seule broche : Monte l'échelle de résistances ci-dessus sur A6 et sur A7 pour obtenir un menu à huit boutons, et garde les broches numériques pour l'écran et les moteurs.
- Tu veux un clavier USB ? L'ATmega328P du Nano classique n'a pas d'USB intégré, il ne peut donc pas se présenter à l'ordinateur comme un clavier ou une souris ; pour cela il faut des cartes à ATmega32U4 comme le Leonardo et le Pro Micro.
Erreurs fréquentes et solutions
| Symptôme | Cause | Solution |
|---|---|---|
| Le Nano n'apparaît pas dans la liste des ports | Câble de charge seule ou pilote CH340 manquant | Utilise un câble de données, installe le pilote CH341SER ; sous Linux, supprime brltty |
| Le téléversement s'arrête sur l'erreur "not in sync" | La carte a l'ancien bootloader | Outils > Processor > ATmega328P (Old Bootloader) |
| Un bouton sur A6 ou A7 ne réagit pas du tout | Ces broches n'ont ni digitalRead ni résistance de tirage interne | Ajoute une résistance de tirage externe de 10 kΩ et utilise un seuil avec analogRead |
| Un bouton sur D13 semble toujours appuyé | La LED L et sa résistance tirent la broche vers le bas | Déplace le bouton sur une autre broche |
| Un module alimenté par 3V3 est instable ou ne marche pas | La broche 3V3 fournit très peu de courant | Utilise un régulateur 3,3 V séparé alimenté par le 5V |
| Les mesures analogiques sont trop hautes de quelques pour cent | Sur USB, la broche 5V est à environ 4,7 V | Mesure la vraie Vcc ou alimente la carte par VIN |
| La carte chauffe beaucoup avec 12 V sur VIN | Le régulateur dissipe (12 − 5) × courant en chaleur | Applique 7–9 V sur VIN ou alimente la broche 5V avec un module abaisseur |
| Avec un servo, la LED sur D9/D10 ne varie plus | La bibliothèque Servo utilise le Timer1 | Déplace la LED sur D3, D5, D6 ou D11 |
L'Arduino Nano est le moyen le plus simple d'emmener tout ce que tu as appris avec l'Uno vers des projets compacts et définitifs ; tant que tu connais les particularités d'A6/A7, du 3V3 et du bootloader, tu n'auras pas de mauvaise surprise. Si tu veux revenir aux bases, commence par Qu'est-ce qu'Arduino ?. Dans l'application BlueGrays, tu trouveras pas à pas, avec schémas de câblage et code prêt à l'emploi, des projets pour allumer une LED, une LED avec bouton, mesurer la lumière avec une LDR, une distance avec le HC-SR04, la température et l'humidité avec le DHT11, une LED RGB, un servo avec un potentiomètre et une communication série entre deux Arduino ; tous fonctionnent sur le Nano avec les mêmes numéros de broches.
Questions fréquentes
Combien de broches a l'Arduino Nano ?
L'Arduino Nano classique a 30 broches réparties sur deux rangées. 14 sont des entrées/sorties numériques (D0–D13), 8 sont des entrées analogiques (A0–A7) et les autres sont VIN, 5V, 3V3, AREF, deux GND et deux RST. Comme A0–A5 peuvent aussi servir de broches numériques, tu disposes de 20 broches numériques ; A6 et A7 ne lisent que des valeurs analogiques.
Quelles sont les broches PWM de l'Arduino Nano ?
Les broches PWM sont D3, D5, D6, D9, D10 et D11 ; sur la carte ou dans les schémas de brochage, elles sont marquées d'un ~ à côté du numéro. D5 et D6 fonctionnent à environ 980 Hz, les autres à environ 490 Hz. La bibliothèque Servo perturbe le PWM de D9 et D10, et la fonction tone() celui de D3 et D11.
Peut-on utiliser A6 et A7 de l'Arduino Nano en numérique ?
Non. A6 et A7 sont deux canaux de l'ATmega328P reliés uniquement au convertisseur analogique-numérique ; pinMode, digitalRead, digitalWrite et la résistance de tirage interne n'y fonctionnent pas. Pour lire un bouton, ajoute une résistance de tirage externe de 10 kΩ et compare la valeur d'analogRead() à un seuil. Sur les Nano Every et Nano ESP32, en revanche, A6 et A7 peuvent aussi servir en numérique.
Quelle tension pour alimenter un Arduino Nano ?
Tu peux alimenter le Nano par USB, avec 7–12 V sur la broche VIN ou avec du 5 V régulé sur la broche 5V. Le régulateur AMS1117 des clones peut lâcher au-delà de 15 V et chauffe vite même à 12 V, donc 7–9 V sont idéaux sur VIN. N'applique jamais plus de 5 V sur la broche 5V.
Que signifie Old Bootloader sur l'Arduino Nano ?
En 2018, Arduino a remplacé le bootloader du Nano par Optiboot, plus petit et plus rapide ; le nouveau communique à 115200 bauds, l'ancien à 57600 bauds. La plupart des clones du marché ont encore l'ancien bootloader, donc si tu ne choisis pas ATmega328P (Old Bootloader) dans Outils > Processor, le téléversement s'arrête sur une erreur not in sync. Un mauvais choix n'abîme pas la carte, tu peux donc essayer les deux options.
Quelle est la différence entre l'Arduino Nano et l'Uno ?
Les deux utilisent un ATmega328P à 16 MHz, donc les numéros de broches, les broches PWM, les lignes I2C (A4/A5) et SPI (D10–D13) et le code sont identiques. Le Nano est plus petit, se pique sur une breadboard et a deux entrées analogiques de plus (A6, A7), mais il n'a ni prise jack ni connecteurs pour shields. De plus, le Nano utilise le mini USB et l'IDE lui laisse 30 720 octets pour le code, contre 32 256 octets pour l'Uno.
Projets à réaliser après cet article
Voir tous les projets
Clignotement d'une LED
Le tout premier bonjour de l'électronique : allumer et éteindre une seule LED. L'Arduino allume et éteint la LED à intervalles très courts, la lumière clignote donc rapidement. Tu vois de la façon la

Allumer une LED avec un bouton-poussoir (Push)
Comme une sonnette : la lumière reste allumée tant que tu appuies et s'éteint quand tu relâches. L'Arduino surveille le bouton en permanence ; tant qu'il est enfoncé la LED est allumée, et dès que tu

Mesurer l'intensité lumineuse avec une LDR
Envie de voir en chiffres à quel point ta chambre est lumineuse ? Le LDR, une petite pièce sensible à la lumière, mesure la lumière ambiante, et l'Arduino écrit la valeur sur l'écran de ton ordinateur

HC-SR04 Mesure de la distance (affichage en série)
Le capteur HC-SR04 fonctionne comme une chauve-souris qui trouve son chemin dans le noir : il envoie un son que tu ne peux pas entendre, écoute l'écho et mesure à quelle distance se trouve l'objet dev

Température et humidité avec DHT11
Quelle température fait-il dans ta chambre, et l'air est-il humide ou sec ? Le capteur DHT11 mesure la température et l'humidité, et l'Arduino affiche les valeurs sur un écran LCD à deux lignes, mises

Utilisation d'une LED RVB
Trois couleurs se cachent dans une seule LED : la LED RGB s'allume en rouge, puis en vert, puis en bleu, chaque couleur allumée une demi-seconde puis éteinte une demi-seconde, avant que tout recommenc

Utilisation d'un servomoteur avec un potentiomètre
Quand tu tournes le bouton du potentiomètre, le bras du servomoteur tourne avec lui : un bout du bouton correspond à zéro degré, l'autre à un demi-tour. L'Arduino lit sans arrêt la position du bouton,

Communication unidirectionnelle entre 2 Arduino
Tu fais discuter deux Arduino par un seul fil : appuie sur le bouton de l'un et la LED de l'autre s'allume, appuie encore et elle s'éteint. La carte qui envoie signale l'appui par un court message, et
Autres articles
Application BlueGrays
Réalise ce montage pas à pas sur ton téléphone
Schéma, code et liste des composants sur un seul écran. Plus de 200 projets Arduino, ESP32 et Pico à réaliser.
Scanne avec ton téléphone
Pointe l’appareil photo vers le code : la boutique d’applications de ton téléphone s’ouvre.
ou ouvre la boutique

