Arduino : qu’est-ce que c’est et à quoi ça sert ?
Uno R3Une petite carte à 25 €, un câble USB et un programme de dix lignes : de quoi allumer une LED, lire une température, piloter un moteur ou commander un relais. Tout le reste est une suite de cette première fois.
Une carte Arduino est un microcontrôleur monté sur un circuit imprimé avec ce qu'il faut pour le programmer sans matériel spécial : une prise USB, un régulateur de tension, un quartz et des connecteurs femelles sur lesquels on enfiche des fils. Le microcontrôleur exécute en boucle le programme que vous lui envoyez depuis un ordinateur ; une fois envoyé, le programme reste dans la carte, qui fonctionne seule sur une pile ou un chargeur de téléphone.
Ce qu'elle sait faire tient en trois verbes. Lire : un bouton, un capteur de température, un potentiomètre, une cellule photo. Décider : le programme compare, compte, temporise. Agir : allumer une LED, faire tourner un servo, commander un relais, envoyer un texte sur l'écran de l'ordinateur. Un thermostat, une minuterie d'éclairage, un arrosage automatique, un compteur de passages : ce sont tous des lire-décider-agir.
L'électricité de la carte n'a rien à voir avec celle du tableau : 5 V ou 3,3 V, quelques dizaines de milliampères par broche. On peut toucher tous les fils sans risque. Le seul moment où le 230 V entre en jeu est le relais, et il a sa section plus bas, avec ses précautions.
Arduino Uno, Nano, Mega ou ESP32 : quelle carte pour débuter ?
La Uno pour apprendre, la Nano pour miniaturiser, la Mega pour les projets à cinquante fils, l’ESP32 quand il faut du Wi-Fi. Les prix, les broches et la mémoire.
| Carte | Microcontrôleur | Fréquence | Mémoire programme | RAM | Broches numériques / analogiques | Tension | Prix indicatif |
|---|---|---|---|---|---|---|---|
| Uno R3 | ATmega328P | 16 MHz | 32 Ko | 2 Ko | 14 / 6 | 5 V | 25 € officielle, 8 à 12 € compatible |
| Uno R4 Minima | Renesas RA4M1 (32 bits) | 48 MHz | 256 Ko | 32 Ko | 14 / 6, sortie analogique vraie | 5 V | 20 € |
| Uno R4 WiFi | RA4M1 + ESP32-S3 | 48 MHz | 256 Ko | 32 Ko | 14 / 6, matrice de LED, Wi-Fi, Bluetooth | 5 V | 27 € |
| Nano | ATmega328P | 16 MHz | 32 Ko | 2 Ko | 14 / 8 | 5 V | 22 € officielle, 4 à 6 € compatible |
| Mega 2560 | ATmega2560 | 16 MHz | 256 Ko | 8 Ko | 54 / 16, 4 ports série | 5 V | 40 € officielle, 15 € compatible |
| ESP32 DevKit | ESP32 double cœur | 240 MHz | 4 Mo | 520 Ko | 25 environ / 15, Wi-Fi, Bluetooth | 3,3 V | 6 à 12 € |
Pour un premier montage, prenez une Uno, R3 ou R4. Ses connecteurs acceptent les fils de plaque d'essai sans rien souder, elle tolère une erreur de branchement, tous les tutoriels et toutes les cartes d'extension sont faits pour elle, et son 5 V correspond à la plupart des capteurs de kit. La R4 coûte le même prix, va trois fois plus vite et a huit fois plus de mémoire ; la R3 a vingt ans de forums derrière elle. Les deux se programment de la même façon.
La Nano est une Uno sans les gros connecteurs : même microcontrôleur, même code, et elle s'enfiche directement sur la plaque d'essai, ce qui devient un avantage dès qu'on veut ranger le montage dans une boîte. La Mega n'est utile que si vous manquez de broches, un écran, un clavier et six capteurs par exemple. L'ESP32 est plus puissant et moins cher que tout le reste, avec le Wi-Fi : c'est la carte des objets connectés. Mais il fonctionne en 3,3 V, ses broches ne supportent pas 5 V, et ses erreurs sont moins pédagogiques. Il vient après la Uno, pas à sa place. Les cartes compatibles à 8 € font le même travail que les officielles ; leur puce USB demande parfois un pilote CH340 à installer sur Windows.
Deux détails d'alimentation évitent des cartes grillées. La carte accepte 7 à 12 V sur sa prise ronde ou sa broche VIN, jamais plus ; le 5 V du câble USB suffit pour tous les montages de cette page. Et la broche 5 V est une sortie du régulateur, pas une entrée : n'y branchez pas une alimentation externe en même temps que l'USB. Pour un projet qui doit tourner seul, un chargeur de téléphone sur la prise USB est la solution la plus simple et la plus sûre.
IDE Arduino : installation, premier sketch et la boucle setup / loop
USB → IDEL’IDE est le logiciel qui écrit, vérifie et envoie le programme dans la carte. Installation en cinq minutes, premier programme dans les dix suivantes.
- Téléchargez l’IDE 2Version Windows, macOS ou Linux, gratuite, 200 Mo. Installez-la avec les pilotes proposés. Sur Linux, ajoutez votre utilisateur au groupe dialout pour accéder au port USB.
- Branchez la carteLe voyant d’alimentation s’allume, la LED intégrée clignote : c’est le programme d’usine. Dans l’IDE, choisissez la carte et le port dans le menu déroulant du haut ; une Uno apparaît avec son nom.
- Ouvrez un exempleFichier, Exemples, Basics, Blink. C’est le programme qui fait clignoter la LED de la carte. Lisez-le : deux fonctions, dix lignes.
- Vérifiez puis téléversezLe bouton coche compile ; le bouton flèche envoie le programme. Les deux LED TX et RX clignotent une seconde, puis la LED de la carte se met à clignoter au rythme du programme.
- Ouvrez le moniteur sérieL’icône loupe en haut à droite ouvre une fenêtre où la carte peut écrire du texte. Serial.println est votre premier outil de mise au point.
Un programme Arduino s'appelle un sketch. Il contient toujours deux fonctions : setup(), exécutée une fois au démarrage, où l'on déclare le rôle de chaque broche ; et loop(), exécutée en boucle tant que la carte est alimentée, où se passe tout le reste. Il n'y a pas de programme principal à écrire, pas de système d'exploitation : la carte démarre, exécute setup, puis répète loop des milliers de fois par seconde.
Le langage est du C++ simplifié. Une variable se déclare avec son type, int pour un entier, float pour un nombre à virgule, bool pour vrai ou faux ; chaque instruction finit par un point-virgule ; un bloc s'ouvre et se ferme par des accolades. Les fonctions qu'on utilise le plus tiennent sur une main : pinMode fixe le sens d'une broche, digitalWrite et digitalRead écrivent ou lisent 0 ou 5 V, analogRead lit une tension entre 0 et 5 V sur 1 024 niveaux, analogWrite produit un signal à rapport cyclique variable qui fait varier la lumière d'une LED, et delay attend. Avec ces six fonctions et une condition if, on écrit déjà un thermostat.
Faire clignoter une LED avec Arduino : la plaque d’essai et le code complet
Une LED, une résistance de 220 Ω, deux fils. Le montage que tout le monde fait en premier, parce qu’il apprend la broche, la résistance et la boucle en même temps.
La plaque d'essai, ou breadboard, est une plaque en plastique percée de trous reliés par groupes : les cinq trous d'une même colonne courte sont connectés entre eux, et les deux rangées du bord, marquées + et −, courent sur toute la longueur. On y enfiche les composants et les fils sans souder. Reliez la rangée − au GND de la carte et la rangée + au 5 V ; tous les montages partent de là.
Pour la LED : la patte longue, l'anode, va vers la broche 8 de la carte par une résistance de 220 Ω ; la patte courte va au −. La résistance limite le courant à 15 mA ; sans elle, la LED grille ou la broche s'abîme. La valeur se lit sur les anneaux, rouge-rouge-marron ; le calculateur de code couleurs traduit n'importe quelle résistance. Ensuite, le code.
- Anode (patte longue) vers la résistance, cathode vers GND. À l’envers, rien ne s’allume, rien ne casse.
- 220 Ω pour une LED rouge en 5 V ; 100 Ω pour une bleue ou blanche, dont la tension de seuil est plus haute.
- Fils de plaque d’essai mâle-mâle, 10 cm. Prenez-en trois couleurs : rouge pour le +, noir pour le −, une autre pour les signaux.
// Une LED sur la broche 8, qui clignote une fois par seconde
const int LED = 8; // la broche de la LED
void setup() {
pinMode(LED, OUTPUT); // la broche 8 est une sortie
}
void loop() {
digitalWrite(LED, HIGH); // 5 V sur la broche : la LED s'allume
delay(500); // on attend 500 millisecondes
digitalWrite(LED, LOW); // 0 V : la LED s'éteint
delay(500);
}
Changez les deux 500 en 100 et téléversez : la LED clignote cinq fois plus vite. Remplacez le second delay par 1500 : elle reste éteinte plus longtemps qu'allumée. Chaque modification téléversée en cinq secondes, c'est ainsi qu'on apprend.
Ce qui se passe électriquement mérite une phrase. La broche 8 est reliée à un transistor dans le microcontrôleur : HIGH le ferme et la broche sort 5 V, LOW l'ouvre et la broche est à 0 V. Le courant part de la broche, traverse la résistance, traverse la LED de l'anode vers la cathode et rejoint GND. La résistance fixe le courant : 5 V moins les 2 V que la LED garde pour elle, divisés par 220 Ω, font 14 mA. C'est la loi d'Ohm, et c'est toute l'électronique de base dont on a besoin pour la suite.
Lire un bouton et un capteur de température DHT11 avec Arduino
Après agir, lire. Un bouton, c’est une broche en entrée qui voit 5 V ou 0 V. Un capteur DHT11, c’est le même principe, avec une bibliothèque qui décode la trame.
Le bouton se branche entre la broche 2 et le GND. Dans le programme, la broche est déclarée en INPUT_PULLUP : la carte tire elle-même la broche à 5 V par une résistance interne, et le bouton la met à 0 V quand on appuie. Pas de résistance à ajouter, pas de fil au 5 V, et une lecture propre. Le programme lit la broche, compare, et allume la LED tant que le bouton est enfoncé.
const int BOUTON = 2;
const int LED = 8;
void setup() {
pinMode(BOUTON, INPUT_PULLUP);
pinMode(LED, OUTPUT);
}
void loop() {
if (digitalRead(BOUTON) == LOW) { // appuyé : la broche est à 0 V
digitalWrite(LED, HIGH);
} else {
digitalWrite(LED, LOW);
}
}
Un vrai bouton rebondit : il fait dix contacts en deux millisecondes. Pour compter des appuis, on ajoute un delay(50) après la détection ; c'est l'anti-rebond le plus simple, suffisant pour débuter.
Le DHT11 mesure la température à ± 2 °C et l'humidité à ± 5 %, pour 2 €. Trois fils : VCC au 5 V, GND au −, DATA à la broche 4, avec une résistance de 10 kΩ entre DATA et 5 V si le module ne l'intègre pas. Installez la bibliothèque « DHT sensor library » depuis le gestionnaire de bibliothèques de l'IDE, puis :
#include <DHT.h>
DHT dht(4, DHT11); // broche 4, modèle DHT11
void setup() {
Serial.begin(9600); // ouvre le moniteur série
dht.begin();
}
void loop() {
float t = dht.readTemperature();
float h = dht.readHumidity();
Serial.print("Température : ");
Serial.print(t);
Serial.print(" °C Humidité : ");
Serial.print(h);
Serial.println(" %");
delay(2000); // le DHT11 ne répond pas plus d'une fois par seconde
}
Ouvrez le moniteur série à 9600 bauds : une ligne toutes les deux secondes. Une valeur « nan » signifie que le capteur n'a pas répondu : fil DATA mal enfiché, ou lecture trop rapprochée. Le DHT22, à 5 €, donne 0,5 °C de précision avec le même code.
Entre le bouton et le capteur, il y a l'entrée analogique. Un potentiomètre de 10 kΩ branché entre 5 V et GND, curseur sur A0, donne avec analogRead(A0) une valeur de 0 à 1 023 proportionnelle à la position du bouton. Divisée par quatre et envoyée dans analogWrite(9, valeur), elle fait varier la luminosité d'une LED sur la broche 9. C'est le montage qui apprend le plus : une mesure, un calcul, une sortie, en quatre lignes.
Piloter un servo et un relais 230 V avec Arduino : montage et précautions
230 V : côté puissanceUn servo tourne avec une seule ligne de code. Un relais aussi, mais de l’autre côté de ses contacts il y a le 230 V, et là les règles de la maison reprennent leurs droits.
Le servo SG90, 3 €, tourne de 0 à 180° : fil marron au GND, rouge au 5 V, orange à la broche 9. La bibliothèque Servo est incluse dans l'IDE. monServo.write(90) le place au milieu. Il consomme jusqu'à 250 mA en mouvement : un servo sur le 5 V de la carte passe, trois demandent une alimentation séparée, avec les masses reliées. Un module relais commandé depuis une carte qui pilote aussi un appareil de la maison rejoint le sujet du tableau électrique : le circuit qu'il coupe reste protégé par son disjoncteur et son différentiel.
#include <Servo.h>
Servo monServo;
void setup() {
monServo.attach(9);
}
void loop() {
monServo.write(0); // 0°
delay(1000);
monServo.write(180); // 180°
delay(1000);
}
Le module relais 5 V se commande comme une LED : IN sur la broche 7, VCC et GND, et digitalWrite(7, HIGH) ferme le contact. La plupart des modules sont actifs à l'état bas : HIGH ouvre, LOW ferme. Vérifiez au clic. Côté contacts, le relais accepte 10 A sous 250 V sur le papier : ne dépassez pas 5 A en pratique, 1 200 W, et jamais un moteur ou un radiateur sans relais statique ou contacteur dimensionné.
Coupez le disjoncteur du circuit et testez l’absence de tension avant de raccorder le côté 230 V d’un relais. Le module, la carte et les fils basse tension vont dans un boîtier fermé, séparés du 230 V ; un relais posé nu sur une plaque d’essai à côté de la phase est la première cause d’accident sur ces montages. Le circuit 230 V commandé garde son disjoncteur et son différentiel 30 mA au tableau.
Kit Arduino débutant : les composants à acheter et leur prix
Un kit de démarrage à 30 € contient tout ce qui suit. Acheté à l’unité, le détail ; dans les deux cas, la Uno se prend à part.
| Composant | Quantité | Prix indicatif | Usage |
|---|---|---|---|
| Carte Uno R3 ou R4 | 1 | 8 à 27 € | La carte |
| Câble USB (A-B pour la R3, USB-C pour la R4) | 1 | 3 € | Programme et alimentation |
| Plaque d’essai 830 points | 1 | 4 € | Tous les montages |
| Fils de plaque d’essai mâle-mâle et mâle-femelle | 65 | 4 € | Liaisons |
| LED 5 mm rouges, vertes, jaunes | 20 | 2 € | Sorties, voyants |
| Résistances 220 Ω, 1 kΩ, 10 kΩ | 30 | 2 € | LED, pull-up, diviseurs |
| Boutons poussoirs 6 mm | 10 | 1,50 € | Entrées |
| Potentiomètre 10 kΩ | 2 | 1,50 € | Entrée analogique |
| Capteur DHT11 | 1 | 2 € | Température, humidité |
| Photorésistance | 2 | 1 € | Luminosité |
| Servo SG90 | 1 | 3 € | Mouvement |
| Module relais 5 V, 1 voie | 1 | 2 € | Commande 230 V |
| Buzzer piézo | 1 | 1 € | Son |
| Écran LCD 16×2 avec module I2C | 1 | 4 € | Affichage |
| Multimètre | 1 | 15 à 25 € | Mesurer avant de se demander pourquoi ça ne marche pas |
Un kit de démarrage vendu 30 à 45 € contient une carte compatible et tout le tableau, souvent avec un moteur pas à pas, une matrice de LED et une télécommande infrarouge en plus. C'est le meilleur rapport prix-contenu pour commencer ; la qualité des fils et de la plaque d'essai est correcte, celle de la carte varie. Si vous achetez à l'unité, prenez les résistances en assortiment de 600 pièces à 6 € plutôt qu'à la valeur, et les LED par 100. Le multimètre n'est pas en option : un modèle à 20 € mesurant tension continue, résistance et continuité avec bip suffit, et il servira aussi devant le tableau électrique.
Erreurs des débutants sur Arduino : les huit qui reviennent tout le temps
- Mauvais port ou mauvaise carte dans l’IDE : l’erreur « avrdude: stk500_recv() » signifie que l’IDE ne parle à personne. Vérifiez le menu de la carte, changez de câble USB, certains ne transportent que l’alimentation.
- Pas de résistance devant la LED : elle brille très fort une seconde, puis plus jamais. 220 Ω, toujours.
- Masses non reliées : un capteur alimenté à part, dont le GND n’est pas relié à celui de la carte, renvoie n’importe quoi. Toutes les masses ensemble, toujours.
- Trop de courant sur une broche : 20 mA par broche, 200 mA pour toute la carte. Un moteur, un servo ou un ruban de LED se commandent par un transistor ou un relais, jamais en direct.
- 5 V sur une entrée d’ESP32 : la broche grille. Un pont diviseur à deux résistances, 10 kΩ et 20 kΩ, ramène 5 V à 3,3 V.
- Des delay() partout : pendant un delay(1000), la carte ne lit plus rien. Pour faire deux choses à la fois, on compare millis() à une échéance ; c’est l’exemple BlinkWithoutDelay de l’IDE.
- Fil enfiché dans la mauvaise rangée de la plaque d’essai : les cinq trous d’une colonne sont reliés, pas les dix. La moitié des « ça ne marche pas » se règle en regardant la plaque de près.
- Point-virgule oublié, accolade en trop : l’IDE souligne la ligne. Lisez le message d’erreur en entier ; il dit la ligne et le mot.
Un changement à la fois
Quand un montage ne fonctionne pas, revenez au dernier état qui marchait, puis ajoutez un seul élément. Un multimètre en position tension continue, entre GND et la broche, dit en deux secondes si la carte fait ce que le programme demande. Si oui, le problème est dans le montage ; si non, dans le code. Cette règle règle 90 % des questions posées sur le forum.
Le second réflexe est le moniteur série. Un Serial.println à chaque étape, qui affiche la valeur lue ou l'état atteint, montre exactement où le programme s'arrête de faire ce qu'on croit. C'est plus rapide que de réfléchir, et ça se retire en une minute quand tout marche. Le troisième est de lire le schéma du composant avant de le brancher : un module relais, un écran I2C ou un capteur ont chacun leur brochage, et deux modules qui se ressemblent n'ont pas le même.
Après le premier montage : les projets Arduino et l’électronique de base
Un thermostat qui pilote un relais, un arrosage sur capteur d’humidité, un afficheur de consommation branché sur la téléinformation du compteur : les projets suivants utilisent exactement les briques de cette page.
La rubrique Arduino rassemble plusieurs centaines de tutoriels, des premiers programmes aux projets complets : afficheurs, communication série, cartes d'extension, capteurs de tous types, pilotage de moteurs pas à pas, enregistrement sur carte SD. La rubrique électronique explique ce qu'il y a derrière : la loi d'Ohm, le transistor, le condensateur, le pont diviseur, la lecture d'un schéma et l'usage du multimètre. Les deux se lisent en parallèle : un montage Arduino qui ne marche pas est presque toujours un problème d'électronique, pas de programme.
Trois projets pour continuer, dans l'ordre. Un thermostat : le DHT11 lit la température, le programme compare à une consigne réglée au potentiomètre, le relais commande un ventilateur ou un radiateur d'appoint par l'intermédiaire d'un contacteur. Une minuterie d'éclairage : un bouton, un relais, et millis() pour couper après dix minutes sans bloquer la lecture du bouton. Un afficheur de consommation : la sortie téléinformation du compteur, deux fils sur une interface à 5 €, un écran LCD, et la puissance de la maison en watts s'affiche sur l'établi. Chacun est détaillé dans les tutoriels Arduino, avec le schéma et le code complet.
Et quand ça bloque, le forum électronique et Arduino répond avec la photo du montage et le code : c'est là que se règlent les cas particuliers, les capteurs exotiques et les modules dont la notice est en chinois.

Code erreur E03 sur un lave-linge Candy : 3 contrôles avant d’appeler un réparateur
Le code E03 apparaît quand un lave-linge Candy n’a pas réussi à évacuer son eau dans le délai prévu, généralement 3 minutes. Avant de remplacer une…

Code erreur sur un lave-linge Bosch : décoder la panne et éviter une réparation inutile
Sur un lave-linge Bosch, 11 codes reviennent régulièrement : E17, E18, E23, E29, E32, E36, E43 et leurs équivalents F17, F18, F21, F23. Le bon…

Erreur L11-06 sur Livebox 4 : 4 vérifications avant d’appeler Orange
Le code L11-06 se diagnostique en 4 vérifications et moins de 15 minutes dans la majorité des cas : chaîne demandée, liaison réseau, redémarrage dans…
