La carte Nano est la version miniature de l’Arduino Uno : même microcontrôleur, même langage, mêmes numéros de broches, mais dans un format de 45 × 18 mm qui se pique directement sur une plaque d’essai. Elle est livrée avec son câble mini-USB, celui qui sert à la fois à l’alimentation et au téléversement des programmes.
Le microcontrôleur est un ATmega328P à 16 MHz, avec 14 entrées-sorties numériques, 8 entrées analogiques et 32 Ko de mémoire programme. Tout croquis écrit pour une Uno fonctionne dessus sans une ligne de changement : il suffit de choisir la bonne carte dans l’IDE.
Pourquoi choisir une Nano plutôt qu’une Uno ?
- Le format — 45 × 18 mm. Plantée sur une plaque d’essai, elle laisse la place aux composants, là où une Uno en occupe la moitié.
- Deux entrées analogiques en plus — A6 et A7, que l’Uno n’a pas.
- Le passage au montage définitif — une fois le prototype au point, la Nano se soude sur une carte ou se visse dans un boîtier beaucoup plus facilement.
- Le même code, les mêmes bibliothèques — rien à réapprendre si vous connaissez déjà l’Uno.
En contrepartie, elle apporte trois limitations qu’il faut connaître : pas de prise jack pour l’alimentation, pas de compatibilité avec les shields Uno, et un connecteur mini-USB plus ancien qu’un micro-USB ou un USB-C — prévoyez un câble de rechange si vous en utilisez plusieurs.
Caractéristiques techniques
| Microcontrôleur | ATmega328P, quartz 16 MHz |
|---|---|
| Tension de service | 5 V (niveaux logiques en 5 V) |
| Alimentation par USB | 5 V, connecteur mini-USB type B |
| Alimentation externe | Broche VIN : 7 à 12 V recommandés, 6 à 20 V acceptés |
| Entrées-sorties numériques | 14, dont 6 sorties PWM : D3, D5, D6, D9, D10, D11 |
| Entrées analogiques | 8 (A0 à A7), convertisseur 10 bits |
| Courant par broche | 40 mA au maximum, 200 mA au total pour la puce |
| Mémoire programme | 32 Ko de Flash, dont 2 Ko occupés par le bootloader |
| Mémoire vive | 2 Ko de SRAM |
| Mémoire permanente | 1 Ko d’EEPROM |
| Liaisons intégrées | Série (D0/D1), I2C (A4/A5), SPI (D11/D12/D13 + connecteur ICSP) |
| Interruptions externes | D2 et D3 |
| Témoins lumineux | LED utilisateur sur D13, deux LED TX et RX pour la liaison série |
| Reprogrammation directe | Connecteur ICSP 6 broches, sans passer par la prise USB |
| Dimensions et poids | Environ 45 × 18 mm, environ 7 grammes |
Brochage : les broches à connaître
Les deux rangées latérales portent quinze broches chacune. Voici celles qui servent vraiment, avec ce à quoi elles exposent :
VIN | Entrée d’alimentation externe. À utiliser avec une pile 9 V ou un bloc secteur de 7 à 12 V. |
|---|---|
5V | Sortie 5 V régulée, disponible quand la carte est alimentée par USB ou par VIN. Quelques centaines de milliampères au plus. |
3V3 | Sortie 3,3 V de très faible puissance, issue du convertisseur USB. À réserver à une référence, jamais à l’alimentation d’un module. |
GND | La masse, présente à plusieurs endroits. C’est la référence commune de tout le montage. |
A0 à A7 | Entrées analogiques. A6 et A7 sont analogiques uniquement : elles ne peuvent pas servir de sortie numérique. |
A4 / A5 | SDA et SCL de l’I2C — un écran, un capteur ou une horloge s’y raccordent avec deux fils. |
D0 / D1 | RX et TX de la liaison série. Ce sont les broches du téléversement : un module branché dessus empêche l’envoi du programme. |
D2 / D3 | Les deux seules broches capables de déclencher une interruption externe. |
D3, D5, D6, D9, D10, D11 | Les six sorties PWM, pour faire varier une luminosité, une vitesse ou un son. |
D13 | Broche reliée à la LED L de la carte, pratique pour vérifier un programme sans rien câbler. |
RST | Remise à zéro. Reliée à la masse, elle redémarre le programme. |
AREF | Référence de tension des mesures analogiques. À laisser tranquille dans la plupart des montages. |
Le piège numéro un des débutants : un module Bluetooth, GPS ou convertisseur laissé sur D0 et D1 empêche le téléversement. L’IDE envoie le programme par ces deux broches, exactement comme le ferait le module. Si vous voyez « programmer is not responding » alors que tout est bien configuré, débranchez d’abord ce qui est sur D0 et D1.
Première mise en route
- Brancher la carte au poste de travail avec le câble mini-USB fourni. La LED d’alimentation s’allume, et la LED L clignote : la carte contient déjà le programme Blink d’usine.
- Dans l’IDE Arduino : Outils → Type de carte → Arduino AVR Boards → Arduino Nano.
- Outils → Processor → ATmega328P. Si le téléversement échoue, choisir ATmega328P (Old Bootloader) : les cartes clonées portent souvent un bootloader d’ancienne génération, qui dialogue à 57 600 bauds au lieu de 115 200. C’est la cause de la grande majorité des échecs d’envoi sur cette carte.
- Outils → Port : sélectionner le port apparu à la connexion.
- Téléverser. Deux LED clignotent brièvement pendant l’envoi, puis le programme démarre.
Si aucun port n’apparaît sous Windows, c’est le pilote du convertisseur USB-série qui manque. La référence exacte de ce convertisseur est sérigraphiée sur la petite puce collée au connecteur USB : les cartes clonées récentes embarquent un CH340, qui demande l’installation du pilote CH341SER, tandis que les modèles plus anciens utilisent une puce FTDI reconnue d’origine. Sous Linux et sous macOS récents, ces pilotes sont déjà inclus.
Mini-projet : un thermomètre à lecture série
Un montage qui mesure la température ambiante, l’affiche dans le moniteur série et fait varier la luminosité d’une LED selon la chaleur. Une quinzaine de minutes, aucune bibliothèque à installer.
Ce qu’il faut
| Le cerveau | La carte Nano de cette page, avec son câble mini-USB |
|---|---|
| La mesure | Capteur de température LM35 |
| Le voyant | LED 5mm Rouge |
| La protection de la LED | Résistances 1/4w 220 ohm |
| Le support | Plaque d’essai 400 points |
| Les liaisons | 10 × fils mâle-mâle 10 cm |
Les broches de la Nano et celles du LM35 sont toutes mâles : ce sont donc des fils mâle-mâle qu’il faut ici, pas des mâle-femelle. Si vous ne les avez pas encore, les fils mâle-femelle conviennent pour tous les modules broches mâles du catalogue.
Le câblage
Le LM35 se présente comme un petit boîtier noir à trois pattes. Face plate vers vous, pattes vers le bas, l’ordre est toujours le même :
| LM35, patte de gauche | → Nano 5V |
|---|---|
| LM35, patte du milieu | → Nano A0 |
| LM35, patte de droite | → Nano GND |
| LED, patte longue | → Nano D9, en passant par la résistance de 220 Ω |
| LED, patte courte | → Nano GND |
Inverser les deux pattes extérieures du LM35 inverse l’alimentation : le composant chauffe et donne des valeurs absurdes. Vérifiez le sens avant de mettre sous tension, et n’alimentez jamais le capteur par la broche 3V3.
Le programme
À copier dans l’IDE Arduino, puis à téléverser :
/*
* Thermometre a lecture serie - capteur LM35
* Carte : Arduino Nano (ATmega328P, 16 MHz)
* Montage : LM35 sur A0, une LED sur D9 via 220 ohms
*
* Composants, brochage et fiche complete : www.marocproduits.com
*/
const byte PIN_LM35 = A0;
const byte PIN_LED = 9;
void setup() {
Serial.begin(9600);
pinMode(PIN_LED, OUTPUT);
Serial.println("Thermometre pret");
}
// Vingt mesures espacees de 2 ms : le bruit de l'entree analogique
// est divise par la racine carree du nombre d'echantillons.
long lireMoyenne() {
long somme = 0;
for (byte i = 0; i != 20; i++) {
somme += analogRead(PIN_LM35);
delay(2);
}
return somme / 20;
}
void loop() {
int brut = lireMoyenne(); // 0 a 1023, soit 0 a 5 volts
float volts = brut * 5.0 / 1024.0;
float temperature = volts * 100.0; // le LM35 delivre 10 mV par degre
Serial.print("Temperature : ");
Serial.print(temperature, 1);
Serial.println(" C");
// La LED s'eclaire progressivement entre 15 et 35 degres.
// constrain borne le resultat : map extrapole en dehors de la plage.
int luminosite = constrain(map(brut, 31, 72, 0, 255), 0, 255);
analogWrite(PIN_LED, luminosite);
delay(500);
}Comment ça marche
analogRead()renvoie un nombre de 0 à 1023, proportionnel à la tension présente sur A0. Le convertisseur de la Nano travaille sur 10 bits, soit 1 024 valeurs possibles.- La tension d’un LM35 augmente de 10 mV par degré Celsius. Multiplier les volts par 100 donne donc directement des degrés.
- La moyenne de vingt lectures lisse le bruit : une seule mesure peut varier de plusieurs dixièmes de degré d’un instant à l’autre.
map()traduit la plage de mesures en plage de luminosité, mais il extrapole hors des bornes : sansconstrain(), une mesure à 40 °C donnerait une valeur supérieure à 255 et la LED se comporterait n’importe comment.- La référence de mesure par défaut est la tension d’alimentation de la carte. Comme elle vient de l’USB, elle n’est pas parfaitement à 5,00 V : comptez quelques dixièmes de degré d’écart selon le port utilisé. Pour une précision supérieure, alimentez la carte en 5 V régulés par la broche 5V.
Pour aller plus loin
- Afficher la valeur sur un écran — le afficheur LCD 16×02 I2C se raccorde à A4 et A5 et n’utilise que deux broches de la carte.
- Mesurer aussi l’humidité — un capteur DHT11 donne les deux grandeurs en numérique, sur une seule broche.
- Déclencher un ventilateur ou une lampe — un module 1 relais 5v commandé par D7 fait le lien avec le secteur, la partie puissance restant isolée du circuit de commande.
- Aller dehors — avec une alimentation 5V 2A et un boîtier, la même carte tient une mesure en continu pendant des mois.
Variante : la même mesure pour un montage soudé
Pour un montage définitivement installé, la Pro Mini Atmega328 5v 16MHz reprend le même microcontrôleur dans une carte encore plus petite, sans convertisseur USB ni câble : moins de consommation, moins de place, mais il faut un convertisseur USB to TTL pour la programmer. C’est le choix des montages autonomes. Pour un projet de taille moyenne qui a besoin de plus de broches sans multiplier les cartes, la Mega 2560 reste la base habituelle.
Questions fréquentes
La Nano peut-elle remplacer une Uno sans changer le code ?
Oui, dans la très grande majorité des cas. Les numéros des entrées-sorties et les entrées analogiques A0 à A5 sont identiques, et les bibliothèques fonctionnent à l’identique. Deux exceptions : les shields Uno ne se montent pas dessus, et les montages qui utilisent A6 ou A7 ne fonctionnent que sur la Nano — c’est un avantage de cette carte, pas une limite.
L’IDE affiche « programmer is not responding » à l’envoi, que faire ?
Trois causes, dans cet ordre : mauvais choix de processeur (essayez ATmega328P (Old Bootloader)), un composant laissé sur D0 ou D1, ou un câble USB qui ne transporte que l’alimentation — certains câbles de recharge n’ont pas de fils de données. Vérifiez ces trois points avant de suspecter la carte.
Comment alimenter la carte en dehors de l’USB ?
Par VIN avec 7 à 12 V : une pile 9 V convient, à relier entre VIN et GND, la Nano n’ayant pas de prise jack. Vous pouvez aussi injecter du 5 V déjà régulé directement sur la broche 5V. N’injectez jamais l’alimentation externe en même temps que l’USB sans précaution sur un montage bricolé : sur cette carte la source est choisie automatiquement, mais un mauvais câblage sur VIN peut endommager le régulateur.
Peut-on y brancher un servomoteur ?
Un petit servomoteur SG90 passe sur la broche 5V, mais un modèle puissant comme un MG995 non : son pic de courant fait chuter la tension, et la carte redémarre au milieu du mouvement. Alimentez toujours le servomoteur par une source séparée, en reliant les masses.
Que deviennent les broches 3V3 et AREF ?
La broche 3V3 ne sert qu’à fournir une référence de tension : elle ne peut pas alimenter un module. AREF reste libre dans la quasi-totalité des montages ; on n’y touche que pour fixer une référence de mesure externe, et jamais en la reliant directement au 5 V.
La carte chauffe-t-elle pendant le fonctionnement ?
Un peu de tiédeur à côté du régulateur est normale quand la carte alimente plusieurs composants. Une chaleur franche qui oblige à retirer le doigt signale un court-circuit ou une inversion de polarité : coupez l’alimentation immédiatement et vérifiez le câblage.
À combiner avec
Si vous débutez, la Nano complète bien un Kit Arduino Uno maroc ou un KIT Starter : le kit apporte la plaque d’essai, les fils, les résistances, les LED et les capteurs, la Nano apporte le format miniature pour le montage final. Pour élargir la base, une plaque d’essai 830 points permet de garder le montage câblé pendant qu’une autre carte sert aux essais, et la Uno R3 ou l’Uno SMD R3 restent les références quand il faut fixer des shields. Enfin, si vous voulez téléverser sans câble ni bootloader, le programmateur USBasp AVR se branche sur le connecteur ICSP et programme la puce directement — c’est aussi la solution pour recharger un bootloader perdu.












