Chargement de la figure…
Le cerveau de l'Uno sur une carte de la taille d'un chewing-gum, faite pour s'enficher dans une platine d'essai.
Chaque leçon fait tourner votre propre code sur la carte. Réussissez ses vérifications pour la valider.
Montez la carte dans le bon ordre, puis mettez-la sous tension et vérifiez-la, comme sur l'établi.
0 étapes sur 9Ne travaillez jamais sur une carte sous tension. Retirez le câble USB et tout ce qui est branché sur VIN ou 5V avant de toucher un composant.
Chaque panne se produit vraiment dans la simulation. Déclenchez-en une, regardez la figure, puis lisez pourquoi.
La Nano (A000005, révision 3.3) a le même ATmega328P à 16 MHz et la même logique 5 V que l'Uno, sur une carte de 43,18 × 17,78 mm avec deux rangées de 15 broches espacées de 0,6 pouce, pour qu'elle enjambe le milieu d'une platine d'essai. L'USB arrive sur une prise Mini-B et passe par une puce USB-série FTDI FT232RNL, qui réinitialise aussi le 328P pour les téléversements. Vous disposez de 14 broches numériques (dont 6 en PWM), de 8 entrées analogiques (A6 et A7 sont uniquement analogiques), de 32 KB de flash dont 30 720 octets libres pour votre sketch, de 2 KB de RAM et de 1 KB d'EEPROM. Il n'y a pas de prise jack : alimentez-la par l'USB, en 7-12 V sur VIN, ou avec un 5 V régulé sur la broche 5V.
| Connecteur | Broche | Nom | Fonctions | Niveau | Courant max | Remarques |
|---|---|---|---|---|---|---|
| J1 | 1 | TX1 | D1, TXD, PCINT17 | 5 V | 20 mA | TX série. Va aussi au FT232 à travers une résistance de 1 kΩ : le moniteur série voit tout ce qui est envoyé ici. |
| J1 | 2 | RX0 | D0, RXD, PCINT16 | 5 V | 20 mA | RX série, piloté par le FT232 à travers 1 kΩ. Tout ce qui est câblé ici (un module Bluetooth ou GPS) peut bloquer les téléversements. |
| J1 | 3 | RST | RESET (active low), PCINT14 | 5 V | – | RESET, actif à l'état bas, avec un pull-up de 1 kΩ vers le 5 V. Même net que l'autre broche RST et que le bouton RESET. |
| J1 | 4 | GND | GND | – | – | |
| J1 | 5 | D2 | INT0, PCINT18 | 5 V | 20 mA | |
| J1 | 6 | D3 | PWM OC2B (490 Hz), INT1, PCINT19 | 5 V | 20 mA | PWM du Timer2. tone() utilise aussi le Timer2, ce qui arrête le PWM sur D3 et D11. |
| J1 | 7 | D4 | T0, XCK, PCINT20 | 5 V | 20 mA | |
| J1 | 8 | D5 | PWM OC0B (977 Hz), T1, PCINT21 | 5 V | 20 mA | PWM du Timer0 à 977 Hz. Le Timer0 compte aussi millis() : ne touchez pas à ses réglages. |
| J1 | 9 | D6 | PWM OC0A (977 Hz), AIN0, PCINT22 | 5 V | 20 mA | PWM du Timer0 à 977 Hz. |
| J1 | 10 | D7 | AIN1, PCINT23 | 5 V | 20 mA | |
| J1 | 11 | D8 | ICP1, CLKO, PCINT0 | 5 V | 20 mA | |
| J1 | 12 | D9 | PWM OC1A (490 Hz), PCINT1 | 5 V | 20 mA | PWM du Timer1 à 490 Hz. La bibliothèque Servo prend le Timer1, ce qui arrête le PWM sur D9 et D10. |
| J1 | 13 | D10 | PWM OC1B (490 Hz), SPI SS, PCINT2 | 5 V | 20 mA | PWM du Timer1. En tant que SS du SPI, elle doit rester une sortie tant que la Nano est le contrôleur SPI. |
| J1 | 14 | D11 | PWM OC2A (490 Hz), SPI MOSI (COPI), PCINT3 | 5 V | 20 mA | PWM du Timer2, et MOSI (COPI) du SPI. Aussi sur la pastille ICSP 4. |
| J1 | 15 | D12 | SPI MISO (CIPO), PCINT4 | 5 V | 20 mA | |
| J2 | 1 | VIN | LDO input, 7-12 V | – | – | Entrée du régulateur 5 V : 7-12 V, 15 V au maximum absolu. Aucune protection contre l'inversion de polarité. |
| J2 | 2 | GND | GND | – | – | |
| J2 | 3 | RST | RESET (active low) | 5 V | – | Le même net RESET que la broche 3 de J1. |
| J2 | 4 | 5V | +5V rail, in or out | 5 V | – | Le rail 5 V : une sortie sur l'USB (environ 4,65 V) ou VIN (5,0 V), ou une entrée 5 V régulée. |
| J2 | 5 | A7 | ADC7, Entrée seulement | 5 V | – | Entrée analogique seulement (ADC7) : pas d'E/S numérique ni de pull-up, donc digitalRead(A7) ne fonctionne pas. |
| J2 | 6 | A6 | ADC6, Entrée seulement | 5 V | – | Entrée analogique seulement (ADC6) : pas d'E/S numérique ni de pull-up, donc digitalRead(A6) ne fonctionne pas. |
| J2 | 7 | A5 | ADC5, I2C SCL, D19, PCINT13 | 5 V | 20 mA | SCL de l'I2C pour la bibliothèque Wire. La carte n'a pas de pull-ups I2C ; la plupart des modules ont les leurs. |
| J2 | 8 | A4 | ADC4, I2C SDA, D18, PCINT12 | 5 V | 20 mA | SDA de l'I2C pour la bibliothèque Wire. |
| J2 | 9 | A3 | ADC3, D17, PCINT11 | 5 V | 20 mA | |
| J2 | 10 | A2 | ADC2, D16, PCINT10 | 5 V | 20 mA | |
| J2 | 11 | A1 | ADC1, D15, PCINT9 | 5 V | 20 mA | |
| J2 | 12 | A0 | ADC0, D14, PCINT8 | 5 V | 20 mA | |
| J2 | 13 | REF | AREF, ADC reference | 5 V | – | Référence du CAN, découplée par 100 nF sur la carte. N'y injectez jamais de tension tant qu'analogReference(DEFAULT) est actif. |
| J2 | 14 | 3.3V | 3.3 V out from the FT232 (50 mA) | 3,3 V | 50 mA | Sortie 3,3 V du FT232, 50 mA au maximum. N'y injectez jamais 5 V. |
| J2 | 15 | D13 | SPI SCK, LED L, PCINT5 | 5 V | 20 mA | Pilote la LED L à travers 1 kΩ (environ 3 mA), sans tampon. À cause de cette charge, INPUT_PULLUP sur D13 ne lit pas HIGH de façon fiable. C'est aussi SCK du SPI, donc L scintille pendant les transferts SPI. |
| J4 | 1 | MISO | D12, SPI MISO | 5 V | – | Pastille ICSP. Les six pastilles restent nues sur la Nano : appuyez dessus les pointes à ressort d'un programmateur, ou un connecteur, pour graver le bootloader. |
| J4 | 2 | 5V | +5V | 5 V | – | Pastille ICSP. Les six pastilles restent nues sur la Nano : appuyez dessus les pointes à ressort d'un programmateur, ou un connecteur, pour graver le bootloader. |
| J4 | 3 | SCK | D13, SPI SCK | 5 V | – | Pastille ICSP. Les six pastilles restent nues sur la Nano : appuyez dessus les pointes à ressort d'un programmateur, ou un connecteur, pour graver le bootloader. |
| J4 | 4 | MOSI | D11, SPI MOSI | 5 V | – | Pastille ICSP. Les six pastilles restent nues sur la Nano : appuyez dessus les pointes à ressort d'un programmateur, ou un connecteur, pour graver le bootloader. |
| J4 | 5 | RESET | RESET (active low) | 5 V | – | Pastille ICSP. Les six pastilles restent nues sur la Nano : appuyez dessus les pointes à ressort d'un programmateur, ou un connecteur, pour graver le bootloader. |
| J4 | 6 | GND | GND | – | – | Pastille ICSP. Les six pastilles restent nues sur la Nano : appuyez dessus les pointes à ressort d'un programmateur, ou un connecteur, pour graver le bootloader. |
Les capteurs et actionneurs que pilote cette carte, avec les vrais branchements.
Une LED de 5 mm sur une broche PWM à travers une résistance de 220 Ω : environ 12 mA sur l'USB, lumineuse et sans danger.
| Broche du composant | Broche de la carte |
|---|---|
| A | D9Couleur du fil : orange |
| K | GNDCouleur du fil : noir |
Jamais sans la résistance : une LED branchée directement sur une broche tire bien plus que le maximum de 40 mA et tue la broche ou la LED.
Entre D2 et GND avec pinMode(2, INPUT_PULLUP) : un appui se lit LOW, sans résistance. D2 est aussi l'interruption INT0.
| Broche du composant | Broche de la carte |
|---|---|
| 1 | D2Couleur du fil : bleu |
| 3 | GNDCouleur du fil : noir |
Un potentiomètre de 10 kΩ en pont diviseur : extrémités à GND et 5V, curseur à A0. analogRead donne 0-1023.
| Broche du composant | Broche de la carte |
|---|---|
| 1 | GNDCouleur du fil : noir |
| 2 | A0Couleur du fil : jaune |
| 3 | 5VCouleur du fil : rouge |
Une photorésistance du 5V vers A0 plus une résistance de 10 kΩ de A0 vers GND : plus de lumière, lecture plus haute.
| Broche du composant | Broche de la carte |
|---|---|
| 1 | 5VCouleur du fil : rouge |
| 2 | A0Couleur du fil : jaune |
Capteur de température analogique : 0,5 V à 0 °C plus 10 mV par °C. Lisez-le sur A1 et gardez des fils courts.
| Broche du composant | Broche de la carte |
|---|---|
| +Vs | 5VCouleur du fil : rouge |
| Vout | A1Couleur du fil : jaune |
| GND | GNDCouleur du fil : noir |
Un buzzer passif sur D8 joue tone(8, 440).
| Broche du composant | Broche de la carte |
|---|---|
| + | D8Couleur du fil : orange |
| − | GNDCouleur du fil : noir |
tone() prend le Timer2, donc le PWM sur D3 et D11 s'arrête pendant qu'une note joue.
Signal sur D9 avec la bibliothèque Servo (elle prend le Timer1, donc le PWM sur D10 s'arrête aussi).
| Broche du composant | Broche de la carte |
|---|---|
| SIG | D9Couleur du fil : orange |
| GND | GNDCouleur du fil : marron |
Alimentez le fil rouge par une alimentation 5 V séparée dont le GND rejoint celui de la Nano. Un servo qui force tire environ 1 A, ce qui provoque un brown-out de la Nano sur l'USB et fait disjoncter le polyfusible.
Capteur de distance à ultrasons, 5 V : Trig sur D9, Echo sur D10, distance = écho en µs / 58 cm. Une carte 5 V n'a pas besoin d'adapter le niveau de son écho.
| Broche du composant | Broche de la carte |
|---|---|
| VCC | 5VCouleur du fil : rouge |
| Trig | D9Couleur du fil : jaune |
| Echo | D10Couleur du fil : vert |
| GND | GNDCouleur du fil : noir |
Module GY-521 avec un MPU-6050 à l'adresse I2C 0x68 (0x69 avec AD0 à l'état haut). Son propre régulateur lui permet de fonctionner sur le 5V ; SDA va à A4 et SCL à A5.
| Broche du composant | Broche de la carte |
|---|---|
| VCC | 5VCouleur du fil : rouge |
| GND | GNDCouleur du fil : noir |
| SCL | A5Couleur du fil : jaune |
| SDA | A4Couleur du fil : bleu |
La puce elle-même est en 3,3 V. Le module tire SDA et SCL vers son 3,3 V, et Wire.begin() active aussi les faibles pull-ups du 328P vers le 5 V : le bus repose donc un peu au-dessus de 3,3 V. Ça marche en pratique ; un convertisseur de niveau est la solution propre.
OLED 0,96 pouce 128 × 64 à l'adresse I2C 0x3C, sur A4 (SDA) et A5 (SCL).
| Broche du composant | Broche de la carte |
|---|---|
| GND | GNDCouleur du fil : noir |
| VCC | 5VCouleur du fil : rouge |
| SCL | A5Couleur du fil : jaune |
| SDA | A4Couleur du fil : bleu |
Lisez l'ordre des broches sur la sérigraphie : certains modules sont GND VCC, d'autres VCC GND, et les inverser tue l'écran. Sa mémoire d'image de 1 KB prend la moitié de la RAM de la Nano : gardez le texte en flash avec F("...").