Résolu sur le forum : Borne Wallbox Pulsar Plus 7,4 kW sur abonnement 6 kVA : quel délestage avant accord copro (urgent)Ma panne diagnostiquée — réponse sous 48 h29 €
Arduino

Débuter avec Arduino : quelle carte, l’IDE, le premier programme et les montages de base

Uno R3 ou R4, Nano, Mega ou ESP32 : quelle carte choisir, installer l’IDE, faire clignoter une LED, lire un bouton et un DHT11, piloter servo et relais.

Arduino : qu’est-ce que c’est et à quoi ça sert ?

Une carte Arduino sur une plaque d’essai, LED allumée, fils de couleurUno R3
La carte Uno : un microcontrôleur, 14 broches numériques, 6 entrées analogiques, une prise USB et rien à souder.

Une 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.

Une rangée type : le différentiel 30 mA en tête, puis les disjoncteurs de ses circuits.
Choisir

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.

CarteMicrocontrôleurFréquenceMémoire programmeRAMBroches numériques / analogiquesTensionPrix indicatif
Uno R3ATmega328P16 MHz32 Ko2 Ko14 / 65 V25 € officielle, 8 à 12 € compatible
Uno R4 MinimaRenesas RA4M1 (32 bits)48 MHz256 Ko32 Ko14 / 6, sortie analogique vraie5 V20 €
Uno R4 WiFiRA4M1 + ESP32-S348 MHz256 Ko32 Ko14 / 6, matrice de LED, Wi-Fi, Bluetooth5 V27 €
NanoATmega328P16 MHz32 Ko2 Ko14 / 85 V22 € officielle, 4 à 6 € compatible
Mega 2560ATmega256016 MHz256 Ko8 Ko54 / 16, 4 ports série5 V40 € officielle, 15 € compatible
ESP32 DevKitESP32 double cœur240 MHz4 Mo520 Ko25 environ / 15, Wi-Fi, Bluetooth3,3 V6 à 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.

Le premier montage : une LED, une résistance de 220 Ω, la broche 13.
Le logiciel

IDE Arduino : installation, premier sketch et la boucle setup / loop

Une carte Arduino sur une plaque d’essai, LED allumée, fils de couleurUSB → IDE
Le câble USB alimente la carte et transporte le programme. Le port apparaît dans l’IDE dès que la carte est branchée.

L’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.

  1. 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.
  2. 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.
  3. Ouvrez un exempleFichier, Exemples, Basics, Blink. C’est le programme qui fait clignoter la LED de la carte. Lisez-le : deux fonctions, dix lignes.
  4. 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.
  5. 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.

Premier montage

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.

Le premier montage : une LED, une résistance de 220 Ω, la broche 13.
Lire

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.

Agir

Piloter un servo et un relais 230 V avec Arduino : montage et précautions

Une rangée de disjoncteurs modulaires sur leur rail, un levier abaissé230 V : côté puissance
Le côté puissance du relais est un circuit 230 V comme un autre : disjoncteur en amont, boîtier fermé, fils en 1,5 mm² au minimum.

Un 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.

25 €une Uno officielle, 8 € en compatible
30 à 45 €un kit de démarrage complet
0 €l’IDE et toutes les bibliothèques
ComposantQuantitéPrix indicatifUsage
Carte Uno R3 ou R418 à 27 €La carte
Câble USB (A-B pour la R3, USB-C pour la R4)13 €Programme et alimentation
Plaque d’essai 830 points14 €Tous les montages
Fils de plaque d’essai mâle-mâle et mâle-femelle654 €Liaisons
LED 5 mm rouges, vertes, jaunes202 €Sorties, voyants
Résistances 220 Ω, 1 kΩ, 10 kΩ302 €LED, pull-up, diviseurs
Boutons poussoirs 6 mm101,50 €Entrées
Potentiomètre 10 kΩ21,50 €Entrée analogique
Capteur DHT1112 €Température, humidité
Photorésistance21 €Luminosité
Servo SG9013 €Mouvement
Module relais 5 V, 1 voie12 €Commande 230 V
Buzzer piézo11 €Son
Écran LCD 16×2 avec module I2C14 €Affichage
Multimètre115 à 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.
Méthode

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.

Une rangée type : le différentiel 30 mA en tête, puis les disjoncteurs de ses circuits.
La suite

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.

La lettre du club

Une lettre par mois, accrochée au panneau

Les sujets du forum résolus dans le mois, un guide, un chiffre qu’on peut vérifier chez soi. Rien d’autre, jamais plus souvent — et on se désabonne d’un clic.

Ce qu’il y a dedans

Votre adresse

Une lettre par mois. Désabonnement en un clic.