Leçon 1 / 8
Leçon 01 · Arduino

C'est quoi Arduino ?

Une plateforme open-source pour tout le monde

Arduino, c'est à la fois un matériel (une petite carte électronique) et un logiciel (un environnement de développement simplifié). L'objectif ? Permettre à n'importe qui — artiste, maker, étudiant, ingénieur — de prototyper rapidement des objets interactifs sans avoir besoin d'une formation poussée en électronique ou en programmation embarquée.

Le projet Arduino est né en 2005 en Italie, à l'Interaction Design Institute d'Ivrea. Il est open-source : les schémas des cartes sont publics, le logiciel est gratuit, et une immense communauté mondiale partage bibliothèques, tutoriels et projets.

💡

Dans ce module, on part de zéro. On commence par comprendre le matériel, puis on installe l'IDE, on écrit les premiers sketches et on attaque les capteurs, les actionneurs et la communication série.

L'Arduino Uno : la carte de référence

L'Arduino Uno est la carte la plus utilisée pour apprendre. Son microcontrôleur principal est l'ATmega328P, un circuit intégré 8 bits d'Atmel (aujourd'hui Microchip) cadencé à 16 MHz.

Caractéristique Valeur
Microcontrôleur ATmega328P (8 bits, 16 MHz)
Flash (stockage programme) 32 Ko (dont 0,5 Ko réservés au bootloader)
SRAM (mémoire vive) 2 Ko
EEPROM 1 Ko
Pins numériques 14 (dont 6 avec PWM)
Pins analogiques 6 entrées (A0 à A5), résolution 10 bits
Tension de fonctionnement 5 V
Connexion PC USB-B (ou USB-C selon révision)

Les pins en détail

Les pins (broches) sont les points de connexion entre la carte et le reste du monde. Chaque pin a un rôle précis.

Pins numériques (D0 à D13)

Les 14 pins numériques peuvent être configurées soit en entrée, soit en sortie. Elles ne connaissent que deux états : HIGH (5 V) ou LOW (0 V).

  • D0 et D1 — réservées à la communication série (RX / TX). À éviter si tu utilises le moniteur série.
  • D2 et D3 — supportent les interruptions externes (réaction immédiate à un événement).
  • D3, D5, D6, D9, D10, D11 — marquées d'un tilde ~ : elles supportent la PWM (modulation de largeur d'impulsion), qui simule une tension analogique.

Pins analogiques (A0 à A5)

Les 6 pins analogiques mesurent une tension entre 0 V et 5 V et la convertissent en valeur entière entre 0 et 1023 grâce au convertisseur analogique-numérique (ADC) 10 bits de l'ATmega328P. Idéales pour lire un potentiomètre, un capteur de lumière ou une thermistance.

Elles peuvent aussi être utilisées comme pins numériques (A0 = D14, A1 = D15…) si tu as besoin de plus de sorties.

Pins d'alimentation

  • 5V — sortie régulée à 5 V. Alimente capteurs et modules.
  • 3.3V — sortie régulée à 3,3 V. Pour les modules à logique 3,3 V.
  • GND — masse (référence 0 V). Toujours connecter la masse en commun.
  • Vin — entrée d'alimentation directe (7 à 12 V recommandé).
  • AREF — tension de référence pour l'ADC (usage avancé).
  • RESET — redémarre le programme quand mis à LOW.

Règle d'or : ne jamais dépasser 40 mA par pin ni 200 mA au total sur toutes les pins numériques. Toujours mettre une résistance en série avec une LED pour limiter le courant.

L'alimentation de la carte

L'Arduino Uno peut être alimentée de trois façons, avec une priorité automatique :

  • Via USB — 5 V fournis par le port USB du PC. Idéal pour programmer et tester. Courant limité à environ 500 mA selon le port.
  • Via le jack barrel (7–12 V DC) — un régulateur linéaire L7805 abaisse la tension à 5 V. Au-delà de 12 V, le régulateur chauffe inutilement.
  • Via la pin Vin (7–12 V) — équivalent au jack, sans connecteur. Pratique pour souder directement des fils.

Les alimentations USB et jack sont protégées par une diode : impossible d'alimenter simultanément les deux sources et de créer un court-circuit.

⚠️

Ne jamais alimenter la carte en 5 V directement via la pin 5V en contournant le régulateur, sauf si tu sais exactement ce que tu fais. Cela supprime toute protection.

Les autres modèles de cartes Arduino

L'Uno est le point de départ, mais l'écosystème propose de nombreux autres modèles selon les besoins en taille, puissance ou connectivité.

Carte MCU Points forts
Arduino Nano ATmega328P Très compact, même puissance que l'Uno, idéal breadboard
Arduino Mega 2560 ATmega2560 54 pins numériques, 16 analogiques, 4 UART — pour les gros projets
Arduino MKR WiFi 1010 SAMD21 (32 bits) Wi-Fi intégré, 3,3 V logique, pour l'IoT
Arduino Leonardo ATmega32U4 USB natif : peut se faire passer pour un clavier ou une souris
ESP8266 / ESP32 Xtensa LX6 (32 bits) Wi-Fi + Bluetooth intégrés, très puissant, compatibles IDE Arduino

Les cartes ESP8266 et ESP32 ne sont pas fabriquées par Arduino, mais elles sont compatibles avec l'IDE et les bibliothèques Arduino. On peut les programmer exactement comme un Uno en ajoutant simplement leur support dans le gestionnaire de cartes.

Le cycle de vie d'un sketch

Un programme Arduino s'appelle un sketch. Il est toujours structuré autour de deux fonctions obligatoires :

  • setup() — exécutée une seule fois au démarrage (ou après un reset). On y configure les pins, on initialise la communication série, les bibliothèques, etc.
  • loop() — exécutée en boucle infinie tant que la carte est alimentée. C'est ici que vit la logique principale du programme.

Voici le sketch le plus célèbre de l'écosystème Arduino : le Blink. Il fait clignoter la LED intégrée à la carte (connectée à la pin D13) :

// Blink — faire clignoter la LED intégrée

void setup() {
  pinMode(13, OUTPUT);   // configure D13 en sortie
}

void loop() {
  digitalWrite(13, HIGH);  // allume la LED (5 V)
  delay(1000);             // attend 1 000 ms (1 seconde)
  digitalWrite(13, LOW);   // éteint la LED (0 V)
  delay(1000);             // attend 1 000 ms
}

Ce sketch illustre le cycle complet : setup() configure la pin, puis loop() l'allume, attend, l'éteint, attend… indéfiniment.

Ce qu'on peut faire avec Arduino

Arduino permet de connecter le code au monde physique. Voici quelques exemples concrets pour illustrer la richesse de l'écosystème :

  • LEDs et afficheurs — faire clignoter des LEDs, piloter un bandeau RGB (NeoPixel), afficher du texte sur un écran LCD ou OLED.
  • Capteurs — lire la température (DS18B20, DHT22), la distance (HC-SR04 ultrasons), la luminosité (LDR), l'humidité, la pression atmosphérique.
  • Actionneurs — contrôler un servomoteur en position angulaire, piloter un moteur DC via un pont en H (L298N), faire vibrer un buzzer.
  • Communication — envoyer des données au PC via le moniteur série, communiquer avec d'autres appareils en I2C, SPI ou UART.
  • IoT — avec un module Wi-Fi (ESP8266) ou une carte MKR, envoyer des données sur un serveur, piloter des appareils depuis Internet.
💡

La bibliothèque Arduino est immense : il existe une lib pour presque tout. Un module GPS, un capteur de gaz, un lecteur RFID, un écran TFT — quelques lignes de code suffisent à les intégrer dans un projet grâce au gestionnaire de bibliothèques de l'IDE.

// à retenir
  • Arduino — plateforme open-source hardware + software pour prototyper facilement des objets interactifs.
  • Arduino Uno — carte de référence basée sur l'ATmega328P (8 bits, 16 MHz, 5 V).
  • Pins numériques (D0–D13) — deux états : HIGH (5 V) ou LOW (0 V). Certaines supportent le PWM (~).
  • Pins analogiques (A0–A5) — entrées ADC 10 bits : valeur de 0 à 1023 pour 0–5 V.
  • Alimentation — USB (5 V), jack barrel (7–12 V) ou pin Vin. Ne jamais dépasser 40 mA par pin.
  • Autres modèles — Nano (compact), Mega (plus de pins), MKR (IoT), ESP32 (Wi-Fi/BT).
  • Sketch — deux fonctions obligatoires : setup() (une fois) et loop() (en boucle).