Guides · 23 min de lecture

Installer une bibliothèque Arduino : gestionnaire, ZIP et manuel

Installer une bibliothèque Arduino pas à pas : gestionnaire, fichier .ZIP ou à la main, changer de version et corriger No such file or directory.

Installer une bibliothèque Arduino, c'est ajouter à l'Arduino IDE un paquet de code tout prêt pour pouvoir utiliser un capteur, un écran ou un module dans ton croquis, et il y a trois façons de le faire : le gestionnaire de bibliothèque (la plus simple et la plus recommandée), l'ajout d'un fichier .ZIP téléchargé dans l'IDE ou la copie manuelle du dossier de la bibliothèque dans le dossier libraries de ton carnet de croquis. Une fois l'installation faite, tu écris #include <NomBibliotheque.h> en haut de ton croquis et toutes les fonctions de la bibliothèque sont prêtes. La bonne bibliothèque s'installe en une minute ; la mauvaise bibliothèque ou la mauvaise version peut se transformer en heures de chasse aux erreurs.

Dans ce guide, nous détaillons les trois méthodes pas à pas dans l'Arduino IDE 2. Tu verras ensuite comment choisir la bonne parmi des dizaines de bibliothèques aux noms proches, revenir à une version plus ancienne, ouvrir les exemples d'une bibliothèque et régler les deux messages les plus fréquents : l'erreur No such file or directory et l'avertissement Multiple libraries were found. Les dernières parties expliquent quelles bibliothèques fonctionnent sur l'ESP32 et la Raspberry Pi Pico, lesquelles doivent être remplacées et comment ajouter des bibliothèques en MicroPython. Si l'IDE n'est pas encore installé, commence par Installer l'Arduino IDE.

Qu'est-ce qu'une bibliothèque Arduino et à quoi sert-elle ?

Une bibliothèque est un ensemble de fichiers de code qui remplit une tâche précise, empaqueté pour que d'autres puissent le réutiliser : au moins un fichier d'en-tête (.h), généralement un ou plusieurs fichiers source (.cpp) et presque toujours quelques croquis d'exemple. Le capteur DHT11, par exemple, envoie sa mesure sur un seul fil sous forme d'un paquet de 40 bits cadencé à la microseconde. Au lieu de programmer toi-même ce timing, tu installes la bibliothèque DHT et tu écris simplement dht.readTemperature() ; la bibliothèque s'occupe de la partie difficile. Ne confonds pas une bibliothèque avec un paquet de cartes : le paquet installé depuis le gestionnaire de cartes apprend à l'IDE une nouvelle famille de processeurs comme l'ESP32 ou la Pico, alors qu'une bibliothèque facilite l'usage d'un matériel ou d'une tâche précise. Les bibliothèques Arduino viennent de trois endroits différents :

Type de bibliothèqueD'où vient-elle ?Où se trouve-t-elle ?Exemples
Bibliothèques intégréesL'IDE les installe lui-même au premier lancementLe dossier libraries dans Arduino15Servo, Stepper, LiquidCrystal, SD, Ethernet, Keyboard, Mouse
Bibliothèques du paquet de cartesElles arrivent avec le paquet installé depuis le gestionnaire de cartesLe dossier libraries propre au paquet, sous Arduino15/packagesWire, SPI, EEPROM, SoftwareSerial pour l'Uno ; WiFi, WebServer, HTTPClient, Preferences pour l'ESP32
Bibliothèques que tu installesGestionnaire de bibliothèque, .ZIP ou copie manuelleLe dossier libraries de ton carnet de croquisDHT sensor library, LiquidCrystal I2C, Adafruit SSD1306, ESP32Servo

Les bibliothèques fournies avec le paquet de cartes, comme Wire, SPI ou la bibliothèque WiFi de l'ESP32, n'ont pas besoin d'être installées ; la ligne #include suffit. Celles que tu installes toi-même vont dans le dossier libraries de ton carnet de croquis. Voici les emplacements par défaut selon le système d'exploitation :

Système d'exploitationBibliothèques que tu installesArduino15 (bibliothèques intégrées et paquets de cartes)
WindowsC:\Users\<utilisateur>\Documents\Arduino\librariesC:\Users\<utilisateur>\AppData\Local\Arduino15
macOS/Users/<utilisateur>/Documents/Arduino/libraries/Users/<utilisateur>/Library/Arduino15
Linux/home/<utilisateur>/Arduino/libraries/home/<utilisateur>/.arduino15
L'emplacement réel de ton carnet de croquis s'affiche dans Fichier > Préférences, sur la ligne de l'emplacement du carnet de croquis (sketchbook) ; le dossier libraries se trouve toujours à l'intérieur. Sous Windows, si ton dossier Documents est synchronisé avec OneDrive, le chemin peut être C:\Users\<utilisateur>\OneDrive\Documents\Arduino. Les dossiers AppData (Windows), Library (macOS) et .arduino15 (Linux) sont masqués par défaut ; affiche les éléments masqués dans l'explorateur de fichiers ou appuie sur Cmd + Maj + . dans le Finder de macOS.

Méthode 1 : installer une bibliothèque avec le gestionnaire de bibliothèque

Le gestionnaire de bibliothèque te permet de chercher parmi des milliers de bibliothèques de l'index officiel d'Arduino et de les installer en un clic. Les bibliothèques de cet index suivent des règles de présentation précises : la structure des dossiers n'est donc jamais cassée, les autres bibliothèques dont elles ont besoin (dépendances) sont proposées automatiquement et l'IDE te prévient à chaque nouvelle version. Si la bibliothèque que tu cherches est dans la liste, utilise donc toujours cette méthode. Pour l'exemple, installons la bibliothèque d'Adafruit pour les capteurs DHT11 et DHT22 :

  1. Ouvre l'Arduino IDE 2 et clique sur l'icône des livres dans la barre latérale gauche. Tu peux aussi ouvrir le même panneau depuis Croquis > Importer une bibliothèque > Gérer les bibliothèques ou avec le raccourci Ctrl+Maj+I (Cmd+Maj+I sur macOS). Dans l'interface anglaise, le menu s'appelle Sketch > Include Library > Manage Libraries.
  2. Tape DHT sensor library dans la zone de recherche. En quelques secondes, toutes les bibliothèques dont le nom ou la description contient ces mots s'affichent sous forme de cartes.
  3. Chaque carte affiche en haut le nom et l'auteur de la bibliothèque, en dessous une courte description et le lien Plus d'information. Tu verras plusieurs bibliothèques DHT aux noms proches ; choisis la carte DHT sensor library dont l'auteur est Adafruit.
  4. La liste des versions en bas de la carte affiche la plus récente. Sauf raison particulière, garde la dernière version et clique sur Installer.
  5. L'IDE ouvre une fenêtre intitulée Installer les dépendances de la bibliothèque et indique que la bibliothèque a besoin d'une autre bibliothèque nommée Adafruit Unified Sensor. Clique sur Tout installer.
  6. Les lignes de téléchargement défilent dans le panneau de sortie et une notification comme Librairie installée avec succès DHT sensor library:1.4.7 apparaît en bas à droite. La carte affiche maintenant la version installée.

Le choix fait dans la fenêtre des dépendances compte. Installer sans les dépendances n'installe que la bibliothèque principale ; à la compilation, tu obtiens alors Adafruit_Sensor.h: No such file or directory, parce qu'un des fichiers de la bibliothèque DHT inclut cet en-tête. La chaîne de dépendances a parfois plusieurs maillons : la bibliothèque OLED Adafruit SSD1306 a besoin de l'Adafruit GFX Library, qui elle-même a besoin d'Adafruit BusIO. Avec Tout installer, l'IDE installe toute la chaîne d'un coup ; sauf si tu laisses volontairement une dépendance de côté, utilise toujours cette option.

Module écran OLED I2C 0,96 pouce
Écran OLED 0,96 pouce : en installant la bibliothèque Adafruit SSD1306, l'Adafruit GFX Library et Adafruit BusIO arrivent aussi comme dépendances ; s'il en manque une, le code ne compile pas.

Quand la liste devient trop longue, les deux filtres au-dessus de la zone de recherche te simplifient la vie :

FiltreOptionsÀ quoi sert-il ?
TypeTout, Pouvant être mis à jour, Installé, Arduino, Partenaire, Recommandé, Contribué, RetiréInstallé montre quelles bibliothèques sont installées et dans quelle version, Pouvant être mis à jour celles qui ont une version plus récente. Arduino liste les bibliothèques officielles, Contribué celles de la communauté et Retiré celles qui ne sont plus développées.
SujetAffichage, Capteurs, Communication, Contrôle d'appareil, Synchronisation, Stockage de données, Traitement de données, Signaux entrants/sortants, Autre, Non classéRéduit les résultats quand tu ne connais pas le nom exact d'une bibliothèque ; sous Affichage, par exemple, il ne reste que les bibliothèques LCD, OLED et TFT.

Choisir la bonne parmi des bibliothèques du même nom

Si tu tapes seulement DHT dans le gestionnaire de bibliothèque, tu obtiens des dizaines de résultats ; en cherchant LiquidCrystal I2C, tu verras aussi plusieurs bibliothèques aux noms presque identiques. Même si elles pilotent le même matériel, leurs noms de fonctions, les paramètres de leur constructeur et leurs exemples diffèrent. Un code écrit pour une bibliothèque ne compile souvent pas avec une autre au nom voisin. Pour choisir la bonne, suis cet ordre :

  • Regarde la ligne #include de ton code : si l'exemple que tu suis indique #include <LiquidCrystal_I2C.h>, il te faut la bibliothèque qui contient ce fichier. Les bons exemples précisent aussi le nom de la bibliothèque et son auteur.
  • Vérifie l'auteur : des noms connus comme Adafruit, SparkFun, Arduino et Espressif, ou le fabricant du composant, publient en général les bibliothèques les mieux documentées et maintenues le plus longtemps.
  • Ouvre le lien Plus d'information : sur la page de la bibliothèque, regarde la date de la dernière mise à jour, les problèmes ouverts et les cartes prises en charge. Une bibliothèque abandonnée depuis des années peut poser problème sur un ESP32 ou une Pico.
  • Regarde l'historique des versions : beaucoup de versions dans la liste montrent que la bibliothèque est développée régulièrement. Méfie-toi des bibliothèques avec une seule version et une description vide.
  • Essaie d'abord l'exemple de la bibliothèque : après l'installation, compile un de ses exemples. Si l'exemple compile mais pas ton code, ton code a très probablement été écrit pour une autre bibliothèque.
ComposantRechercher dans le gestionnaireBibliothèque conseillée (auteur) et dépendancesLigne #include
DHT11 / DHT22DHT sensor libraryDHT sensor library (Adafruit) + Adafruit Unified Sensor#include <DHT.h>
LCD 16x2 I2CLiquidCrystal I2CLiquidCrystal I2C (Frank de Brabander)#include <LiquidCrystal_I2C.h>
OLED SSD1306Adafruit SSD1306Adafruit SSD1306 + Adafruit GFX Library + Adafruit BusIO#include <Adafruit_SSD1306.h>
DS18B20DallasTemperatureDallasTemperature (Miles Burton) + OneWire#include <DallasTemperature.h>
RFID RC522MFRC522MFRC522 (GithubCommunity)#include <MFRC522.h>
Récepteur IR et télécommandeIRremoteIRremote (shirriff, z3t0, ArminJo)#include <IRremote.hpp>
WS2812B NeoPixelAdafruit NeoPixelAdafruit NeoPixel (Adafruit)#include <Adafruit_NeoPixel.h>
RTC DS1307 / DS3231RTClibRTClib (Adafruit) + Adafruit BusIO#include <RTClib.h>
Servo (sur l'ESP32)ESP32ServoESP32Servo (Kevin Harrington, John K. Bennett)#include <ESP32Servo.h>
Écran LCD 16x2 avec module I2C
LCD 16x2 avec module I2C : il existe pour cet écran plusieurs bibliothèques au nom presque identique, et chacune le démarre avec une fonction différente.

L'exemple le plus connu de cette confusion est l'écran LCD I2C. LiquidCrystal I2C (Frank de Brabander) du gestionnaire de bibliothèque démarre l'écran avec lcd.init(). Une autre version de la même bibliothèque qui circule sur GitHub utilise à la place lcd.begin() sans paramètre. Si tu compiles un code écrit pour cette version avec la bibliothèque du gestionnaire, tu obtiens no matching function for call to 'LiquidCrystal_I2C::begin()'. La solution est simple : remplace lcd.begin() par lcd.init() ou pars des exemples de la bibliothèque installée. Le câblage et la recherche de l'adresse I2C sont détaillés dans Utiliser un écran LCD I2C.

Tester l'installation : un afficheur de température à deux bibliothèques

Le moyen le plus rapide de vérifier que tes bibliothèques sont bien installées est de compiler un petit croquis qui les utilise. Le code ci-dessous affiche sur un LCD 16x2 I2C la température et l'humidité lues par un DHT11. Installe DHT sensor library (avec sa dépendance) et LiquidCrystal I2C depuis le gestionnaire de bibliothèque ; relie la broche de données du DHT11 à la broche 2 de l'Arduino Uno et les broches SDA et SCL du LCD à A4 et A5. Tu peux voir où se trouvent ces broches sur la carte avec l'outil Pinout.

Arduino (C++)
1// Gereken kütüphaneler / Required libraries (Kütüphane Yöneticisi / Library Manager):
2//   DHT sensor library (Adafruit) + Adafruit Unified Sensor
3//   LiquidCrystal I2C (Frank de Brabander)
4#include <Wire.h>                  // kart paketiyle gelir / bundled with the board package
5#include <DHT.h>                   // DHT sensor library
6#include <LiquidCrystal_I2C.h>     // LiquidCrystal I2C
7
8#define DHT_PIN 2                  // DHT11 veri pini / DHT11 data pin
9#define DHT_TYPE DHT11             // DHT22 için DHT22 yaz / write DHT22 for a DHT22
10
11DHT dht(DHT_PIN, DHT_TYPE);
12LiquidCrystal_I2C lcd(0x27, 16, 2);    // adres, sütun, satır / address, columns, rows
13
14void setup() {
15  Serial.begin(9600);
16  dht.begin();
17  lcd.init();                      // bu kütüphanede begin() değil init() / init(), not begin(), in this library
18  lcd.backlight();                 // arka ışığı aç / backlight on
19  lcd.print(F("Kutuphaneler OK"));
20  delay(1500);
21}
22
23void loop() {
24  float t = dht.readTemperature(); // santigrat / Celsius
25  float h = dht.readHumidity();    // bağıl nem % / relative humidity %
26
27  if (isnan(t) || isnan(h)) {      // sensör cevap vermedi / sensor did not respond
28    Serial.println(F("DHT okunamadi / DHT read failed"));
29    delay(2000);
30    return;
31  }
32
33  lcd.clear();
34  lcd.setCursor(0, 0);             // sütun 0, satır 0 / column 0, row 0
35  lcd.print(F("Sicaklik: "));
36  lcd.print(t, 1);
37  lcd.print(F(" C"));
38  lcd.setCursor(0, 1);             // ikinci satır / second row
39  lcd.print(F("Nem: %"));
40  lcd.print(h, 0);
41
42  Serial.print(t);
43  Serial.print(F(" C  "));
44  Serial.print(h);
45  Serial.println(F(" %"));
46  delay(2000);                     // DHT11 en fazla saniyede bir ölçer / DHT11 measures at most once per second
47}

Les lignes #include du début indiquent au compilateur quels fichiers de bibliothèque ajouter. Wire.h est fourni avec le paquet de cartes, il ne s'installe donc pas à part ; DHT.h et LiquidCrystal_I2C.h viennent des bibliothèques que tu viens d'installer. Si tu cliques sur Vérifier et que tu vois la ligne Sketch uses ... bytes dans le panneau de sortie, toutes les bibliothèques ont été trouvées. Si un message rouge No such file or directory apparaît, passe à la partie sur les erreurs plus bas. Le fonctionnement du capteur et sa différence avec le DHT22 sont expliqués dans Capteur de température et d'humidité DHT11.

Méthode 2 : ajouter une bibliothèque depuis un fichier .ZIP

Certaines bibliothèques ne sont pas dans le gestionnaire : une bibliothèque récente pas encore ajoutée à l'index, un pilote qu'un fabricant de capteurs partage sur son propre site ou une bibliothèque maison issue d'un livre, d'un cours ou de ton professeur. Elles sont en général diffusées via GitHub ou directement sous forme de fichier .zip. L'Arduino IDE sait décompresser l'archive et la ranger lui-même au bon endroit :

  1. Sur la page GitHub de la bibliothèque, clique sur le bouton vert Code et choisis Download ZIP. Si la page a une section Releases, il est plus sûr d'y télécharger le zip d'une version stable.
  2. Laisse le fichier téléchargé tel quel, sans le décompresser. L'IDE décompresse lui-même le zip ; ce menu n'accepte pas les dossiers.
  3. Dans l'Arduino IDE, ouvre Croquis > Importer une bibliothèque > Ajouter la bibliothèque .ZIP... (en anglais, Sketch > Include Library > Add .ZIP Library...).
  4. Dans la fenêtre qui s'ouvre, sélectionne le fichier .zip téléchargé et clique sur Ouvrir.
  5. Si l'installation réussit, la notification Bibliothèque correctement installée depuis l'archive ... apparaît en bas à droite. Si une bibliothèque du même nom existe déjà, l'IDE te demande si tu veux l'écraser ; confirme si tu veux remplacer la version installée par la nouvelle.
  6. Vérifie que la bibliothèque est bien arrivée en cherchant son nom dans Fichier > Exemples > Exemples des librairies personnalisées.
Il arrive que l'IDE refuse le fichier zip. L'erreur archive is not valid: multiple files found in zip file top level signifie qu'il y a plusieurs fichiers ou dossiers au premier niveau de l'archive au lieu d'un seul dossier de bibliothèque ; c'est souvent un paquet de projet avec plusieurs bibliothèques, du code et des documents. L'erreur library not valid indique qu'il n'y a aucun fichier d'en-tête à la racine du dossier ni dans son sous-dossier src, autrement dit que la vraie bibliothèque se trouve un niveau plus bas. Dans les deux cas, décompresse l'archive, trouve le dossier de la bibliothèque et copie-le à la main avec la méthode suivante.

Méthode 3 : copier la bibliothèque à la main dans le dossier libraries

L'installation manuelle est utile dans une salle informatique sans internet, pour un dossier de bibliothèque qu'un ami te donne sur une clé USB ou pour un zip que l'IDE refuse. Il te suffit de placer le dossier de la bibliothèque au bon endroit, avec la bonne structure :

  1. Ferme l'Arduino IDE. Il parcourt la liste des bibliothèques au démarrage et risque de ne pas voir tout de suite les dossiers copiés pendant qu'il est ouvert.
  2. Décompresse le fichier et trouve le dossier qui contient un fichier library.properties ou le fichier .h de la bibliothèque. C'est le dossier racine de la bibliothèque.
  3. Copie ce dossier dans le dossier libraries de ton carnet de croquis (sous Windows, en général Documents\Arduino\libraries). Si le dossier libraries n'existe pas, crée-le ; il doit s'appeler exactement libraries, en minuscules.
  4. Retire le suffixe -master ou -main du nom du dossier ; renomme par exemple IRremote-master en IRremote. Les noms de dossier de bibliothèque doivent commencer par une lettre ou un chiffre, ne contenir que des lettres latines simples, des chiffres, des tirets bas, des points et des tirets, et faire au plus 63 caractères ; n'utilise ni espaces ni accents.
  5. Rouvre l'IDE et vérifie que la bibliothèque apparaît dans le menu Fichier > Exemples.
Structure des dossiersRésultat
libraries/DHT_sensor_library/DHT.hCorrect : ancienne structure (à plat), l'IDE la trouve
libraries/DHT_sensor_library/library.properties + src/DHT.hCorrect : structure actuelle, l'IDE la trouve
libraries/DHT-master/DHT-sensor-library-master/DHT.hFaux : un niveau de dossier en trop, l'IDE ne trouve pas la bibliothèque
libraries/DHT.h (fichier sans dossier)Faux : chaque bibliothèque doit avoir son propre dossier
libraries/Ma bibliothèque/Risqué : les espaces et les accents enfreignent les règles de nommage et peuvent gêner la compilation
Dossier d'installation de l'IDE (ex. Program Files)Incorrect : l'Arduino IDE 2 ne cherche pas de bibliothèques à cet endroit ; dans l'ancien IDE 1.8, elles pouvaient être effacées à la mise à jour ou à la désinstallation
Si tu n'utilises une bibliothèque que dans un seul projet et que tu veux qu'elle voyage avec lui quand tu le partages, crée un dossier nommé src dans le dossier du croquis et mets-y les fichiers de la bibliothèque (ex. src/MyLib/MyLib.h). Tu l'inclus alors avec des guillemets et son chemin, pas avec des chevrons : #include "src/MyLib/MyLib.h". L'IDE compile le dossier src avec le croquis ; tu n'as rien à installer dans le dossier libraries.

Changer la version d'une bibliothèque : mise à jour et retour en arrière

Les bibliothèques évoluent, et lors des grands changements de version certaines fonctions changent de nom ou d'usage. Si un exemple trouvé sur internet a été écrit pour une version d'il y a quelques années, il peut ne pas compiler avec la dernière version, ou compiler puis mal fonctionner. Dans ce cas, soit tu reviens à la version pour laquelle le code a été écrit, soit tu adaptes le code à la nouvelle version. Le gestionnaire de bibliothèque change de version en quelques clics :

  1. Cherche le nom de la bibliothèque dans le gestionnaire ou règle le filtre Type sur Installé. La carte indique la version installée.
  2. Ouvre la liste des versions en bas de la carte. Toutes les versions publiées de la bibliothèque apparaissent sous Autres versions.
  3. Choisis la version voulue et clique sur Installer. L'IDE retire l'ancienne version et installe celle que tu as choisie ; une bibliothèque n'a qu'une seule version dans le dossier libraries.
  4. Au démarrage, l'IDE affiche parfois la notification Des mises à jour sont disponibles pour certaines de vos bibliothèques. Avant de tout mettre à jour depuis là, note les versions dont dépendent tes projets qui fonctionnent ; une mise à jour groupée peut changer d'un coup la version majeure de nombreuses bibliothèques.
  5. Pour supprimer complètement une bibliothèque, survole sa carte et clique sur Supprimer ; l'IDE demande confirmation et efface son dossier de libraries.
BibliothèqueAncien codeNouveau codeSigne d'une mauvaise version
IRremote2.x : IRrecv irrecv(11); irrecv.decode(&results); results.value3.x et 4.x : IrReceiver.begin(11); IrReceiver.decode(); IrReceiver.decodedIRData.commandAvertissements deprecated avec l'ancien code, codes de touches vides ou faux
ArduinoJson6.x : StaticJsonDocument<200> doc;7.x : JsonDocument doc;La 7.x compile les anciennes classes avec des avertissements deprecated ; le code de la 5.x (StaticJsonBuffer) ne compile pas du tout
LiquidCrystal I2CVersion GitHub : lcd.begin();Version du gestionnaire : lcd.init();no matching function for call to 'LiquidCrystal_I2C::begin()'
Paquet ESP32 et ESP32ServoPaquet 2.x : ledcSetup(), ledcAttachPin()Paquet 3.x : ledcAttach(); ESP32Servo 3.x'ledcSetup' was not declared in this scope

Le meilleur moyen de noter pour quelle version ton code a été écrit est de mettre le nom et la version des bibliothèques en commentaire en haut du fichier. Certaines bibliothèques indiquent aussi leur version via une macro ; ArduinoJson, par exemple, définit ARDUINOJSON_VERSION_MAJOR. Le croquis ci-dessous arrête la compilation avec un message clair si la mauvaise version majeure est installée ; avec la bonne version, il produit un petit texte JSON et affiche la version de la bibliothèque dans le moniteur série :

Arduino (C++)
1// ArduinoJson 7.x (Benoit Blanchon) gerekir / requires ArduinoJson 7.x
2#include <ArduinoJson.h>
3
4#if ARDUINOJSON_VERSION_MAJOR < 7
5#error "Bu kod ArduinoJson 7 ister, Kutuphane Yoneticisinden surumu degistir / This sketch needs ArduinoJson 7"
6#endif
7
8void setup() {
9  Serial.begin(115200);
10  while (!Serial) {}                     // yerel USB'li kartlarda seri portu bekle / wait for native USB serial
11
12  JsonDocument doc;                      // 7.x: boyut vermek gerekmez / 7.x: no capacity needed
13  doc["sensor"] = "DHT11";
14  doc["sicaklik"] = 23.5;
15  doc["nem"] = 48;
16
17  serializeJson(doc, Serial);            // {"sensor":"DHT11","sicaklik":23.5,"nem":48}
18  Serial.println();
19  Serial.print(F("ArduinoJson: "));
20  Serial.println(ARDUINOJSON_VERSION);   // ör. / e.g. 7.4.2
21}
22
23void loop() {
24}

Ainsi, quand tu partages ton code avec tes camarades ou en ligne, quelqu'un qui a installé la mauvaise version voit une seule ligne qui lui dit quoi faire, au lieu d'erreurs incompréhensibles. Si tu aimes la ligne de commande, l'Arduino CLI installe directement une version précise : arduino-cli lib install "DHT sensor [email protected]". Pour voir quelle version de chaque bibliothèque est réellement utilisée, active dans les Préférences la sortie détaillée pendant la compilation ; à la fin, une ligne Using library ... at version ... in folder: ... s'affiche pour chaque bibliothèque.

L'erreur No such file or directory et sa solution

C'est l'erreur que tu verras le plus souvent en ajoutant des bibliothèques. Si le compilateur ne trouve dans aucun dossier de bibliothèque le fichier demandé par une ligne #include, le panneau de sortie affiche fatal error: DHT.h: No such file or directory et compilation terminated., et la notification Compilation error: DHT.h: No such file or directory apparaît en bas à droite. Le nom du fichier dans le message t'indique quelle bibliothèque manque. Attention : ce fichier ne vient pas toujours d'une ligne que tu as écrite ; une bibliothèque installée peut elle aussi inclure une autre bibliothèque :

Fichier dans le messageCauseSolution
Le fichier inclus par ton code (DHT.h, LiquidCrystal_I2C.h)La bibliothèque n'a jamais été installéeLa chercher dans le gestionnaire de bibliothèque et l'installer
Adafruit_Sensor.h (dans un code DHT)Dépendance manquante : Installer sans les dépendances a été choisi à l'installationInstaller la bibliothèque Adafruit Unified Sensor
Adafruit_I2CDevice.h (dans un code OLED ou RTC)Adafruit BusIO manqueInstaller la bibliothèque Adafruit BusIO
OneWire.h (dans un code DS18B20)DallasTemperature n'a pas installé OneWire automatiquementInstaller la bibliothèque OneWire séparément
SoftwareSerial.h (sur l'ESP32)Cette bibliothèque est fournie avec le paquet AVR et n'existe pas dans le paquet ESP32Utiliser un port série matériel (Serial2) ou installer la bibliothèque EspSoftwareSerial
Dht.h, liquidcrystal_i2c.hErreur de majuscules ou de minuscules ; l'IDE cherche le nom du fichier lettre pour lettre, donc l'erreur apparaît aussi sous Windows et macOSÉcrire la ligne #include exactement comme le nom du fichier dans la bibliothèque
La bibliothèque semble installée mais le fichier est introuvableUn niveau de dossier en trop après une copie manuelle, ou un carnet de croquis différent de celui de l'IDE (OneDrive)Vérifier la structure des dossiers et l'emplacement du carnet de croquis dans les Préférences
Remonte dans le panneau de sortie pour voir le message d'erreur complet ; la vraie cause se trouve en général sur la première ligne rouge. Le chemin de fichier sur cette ligne montre quel fichier réclame l'en-tête manquant : si le chemin se termine par DHT_U.h et que le message cite Adafruit_Sensor.h, c'est la bibliothèque DHT, et non ton code, qui a besoin du fichier manquant. Pour les fautes de frappe, les points-virgules oubliés et les autres erreurs de compilation comme was not declared in this scope, consulte Erreurs de compilation Arduino.

Que veut dire l'avertissement Multiple libraries were found ?

Ce message apparaît quand plusieurs bibliothèques peuvent répondre à une ligne #include de ton code. Par exemple, si tu as installé dans ton dossier Documents une vieille bibliothèque Servo d'un ancien projet, il y a deux candidates avec la bibliothèque Servo intégrée à l'IDE, et la sortie affiche Multiple libraries were found for "Servo.h" suivi de Used: C:\Users\<utilisateur>\Documents\Arduino\libraries\Servo et Not used: C:\Users\<utilisateur>\AppData\Local\Arduino15\libraries\Servo. Ce n'est pas une erreur mais une information ; la compilation continue. Il n'y a un problème que si la bibliothèque de la ligne Used n'est pas celle que tu veux. L'IDE choisit à peu près dans cet ordre :

OrdreCe que l'IDE regardeExemple
1Compatibilité d'architectureSur un ESP32, une bibliothèque dont le library.properties indique esp32 ou * est préférée à une qui n'indique que avr
2Correspondance du nomPour Servo.h, un dossier nommé exactement Servo l'emporte sur un dossier Servo-master ou MyServo
3Optimisation pour la carteUne bibliothèque qui cite explicitement l'architecture de la carte (ex. architectures=esp32) passe avant une qui n'indique que *
4EmplacementLe dossier libraries de ton carnet de croquis passe avant les bibliothèques du paquet de cartes, qui passent avant les bibliothèques intégrées de l'IDE
5En dernier recoursSi tout le reste est égal, c'est la bibliothèque dont le nom ressemble le plus au fichier inclus qui est choisie
  • Lis la ligne Used : le dossier utilisé est-il la bibliothèque attendue ? Si oui, tu n'as rien à faire ; tu peux ignorer le message.
  • Supprime la copie en trop : si la mauvaise bibliothèque est choisie, trouve-la dans le gestionnaire et clique sur Supprimer, ou efface son dossier du dossier libraries de ton carnet de croquis pendant que l'IDE est fermé.
  • Attention aux restes de l'ancien IDE : les vieilles bibliothèques copiées à la main à l'époque de l'Arduino IDE 1.8 restent dans ton dossier Documents et, grâce à la priorité d'emplacement, passent devant les bibliothèques intégrées à jour de l'IDE.
  • Ne garde pas deux copies de la même bibliothèque : si le dossier libraries contient deux copies comme IRremote et IRremote-master, le gestionnaire ne peut pas mettre à jour cette bibliothèque et te demande de supprimer les doublons à la main.
  • Sauvegarde avant de supprimer : au lieu d'effacer un dossier, déplace-le d'abord temporairement sur le bureau ; si tout fonctionne, supprime-le ensuite.
Ne touche pas à la main au sous-dossier packages d'Arduino15 ni aux bibliothèques intégrées. Les bibliothèques comme Wire, SPI ou WiFi qui s'y trouvent font partie du paquet de cartes ; si tu les effaces, plus rien ne compile pour cette carte et tu dois réinstaller le paquet depuis le gestionnaire de cartes. La copie qui pose problème se trouve presque toujours dans le dossier libraries de ton propre carnet de croquis.

Ouvrir les exemples d'une bibliothèque et l'ajouter à ton code

Le moyen le plus rapide d'apprendre une bibliothèque, ce sont ses croquis d'exemple. Les exemples arrivent avec la version installée ; contrairement au code trouvé sur internet, ils lui correspondent donc toujours. Le menu Fichier > Exemples est construit pour la carte sélectionnée et comporte ces parties :

  • Exemples inclus : les exemples de base de l'IDE, comme 01.Basics et 02.Digital, où se trouve Blink.
  • La partie au nom de ta carte (ex. Exemples pour Arduino Uno) : les exemples des bibliothèques fournies avec l'IDE et avec le paquet de la carte choisie. Avec un Uno, tu y trouves Servo, EEPROM et SoftwareSerial ; avec un ESP32, WiFi, WebServer et Preferences.
  • Exemples des librairies personnalisées : les exemples des bibliothèques que tu as installées toi-même (en anglais, Examples from Custom Libraries), par exemple DHT sensor library > DHTtester.

Tu peux aussi accéder aux exemples d'une bibliothèque installée depuis le menu à trois points à côté de sa carte dans le gestionnaire. L'exemple s'ouvre dans une nouvelle fenêtre ; si tu le modifies et veux l'enregistrer, l'IDE te demande un nouveau nom et un nouvel emplacement, car les fichiers d'exemple restent protégés dans le dossier de la bibliothèque. Pour ajouter une bibliothèque à ton propre croquis, il suffit de cliquer sur son nom dans le menu Croquis > Importer une bibliothèque : l'IDE écrit lui-même les lignes #include nécessaires en haut du code. Certaines bibliothèques contiennent plusieurs fichiers d'en-tête, ce menu peut donc ajouter plusieurs lignes ; tu peux effacer celles que tu n'utilises pas.

Si les exemples de ta bibliothèque n'apparaissent pas dans le menu, vérifie d'abord la carte choisie : la liste d'exemples est construite pour elle, et les exemples des bibliothèques qui ne prennent pas en charge son architecture peuvent ne pas s'afficher. Si tu as copié la bibliothèque à la main, redémarre l'IDE. Si la structure des dossiers est fausse (un niveau de trop), la bibliothèque et ses exemples restent totalement invisibles.

Compatibilité des bibliothèques sur l'ESP32

Carte de développement ESP32
ESP32 : la plupart des bibliothèques Arduino fonctionnent, mais celles qui accèdent directement aux timers et aux registres de l'Uno sont remplacées par des équivalents pour l'ESP32.

Comme l'ESP32 se programme aussi avec l'Arduino IDE, la plupart des bibliothèques y fonctionnent sans modification, surtout les bibliothèques de capteurs et d'écrans qui communiquent en I2C, en SPI ou sur un seul fil. Celles qui posent problème accèdent directement aux timers et aux registres du processeur ATmega328P de l'Arduino Uno. Si l'IDE ne trouve pas l'architecture ESP32 dans le library.properties d'une bibliothèque, il affiche cet avertissement au début de la compilation : WARNING: library LiquidCrystal I2C claims to run on avr architecture(s) and may be incompatible with your current board which runs on esp32 architecture(s). Ce n'est qu'un avertissement : LiquidCrystal I2C n'utilise que la bibliothèque Wire et fonctionne donc sans souci sur l'ESP32. La bibliothèque Servo, elle, arrête volontairement la compilation avec un message #error qui commence par This library only supports boards with an AVR, SAM, SAMD, NRF52. N'installe pas non plus depuis le gestionnaire les bibliothèques WiFi, WebServer, HTTPClient, Preferences et BluetoothSerial déjà fournies avec le paquet ESP32 ; d'autres bibliothèques du même nom ne font que semer la confusion.

Ce que tu utilises sur l'UnoÀ utiliser sur l'ESP32Pourquoi ?
ServoESP32Servo (gestionnaire de bibliothèque)La bibliothèque Servo ne prend pas en charge l'ESP32 et s'arrête sur #error
SoftwareSerialSerial1, Serial2 (UART matériel) ou EspSoftwareSerialSoftwareSerial appartient au paquet AVR ; l'ESP32 a déjà trois UART matériels
EEPROMPreferences (fournie avec le paquet de cartes)Sur l'ESP32, l'EEPROM est émulée en flash ; Preferences enregistre des paires clé-valeur de façon plus sûre et plus simple
TimerOne, MsTimer2Ticker (fournie avec le paquet de cartes)Les bibliothèques qui accèdent aux registres des timers AVR ne compilent pas sur l'ESP32

Si tu veux utiliser le même croquis sur l'Uno, l'ESP32 et la Pico, tu peux choisir la bonne bibliothèque pour chaque carte grâce aux macros d'architecture définies par les paquets de cartes. Le paquet ESP32 définit ARDUINO_ARCH_ESP32, le paquet arduino-pico de la Pico ARDUINO_ARCH_RP2040 et les cartes AVR comme l'Uno et la Nano ARDUINO_ARCH_AVR. Le croquis de servo ci-dessous compile sur les trois cartes ; pour l'ESP32, il te suffit d'installer la bibliothèque ESP32Servo :

Arduino (C++)
1// Aynı kod Uno, ESP32 ve Pico'da / Same sketch on Uno, ESP32 and Pico
2#if defined(ARDUINO_ARCH_ESP32)
3  #include <ESP32Servo.h>            // Kütüphane Yöneticisi: ESP32Servo / Library Manager: ESP32Servo
4  const int SERVO_PIN = 18;          // güvenli bir GPIO / a safe GPIO
5#elif defined(ARDUINO_ARCH_RP2040)
6  #include <Servo.h>                 // arduino-pico paketiyle gelir / bundled with the arduino-pico core
7  const int SERVO_PIN = 15;          // GP15
8#else
9  #include <Servo.h>                 // IDE ile gelir (Uno, Nano, Mega) / bundled with the IDE
10  const int SERVO_PIN = 9;
11#endif
12
13Servo servo;
14
15void setup() {
16#if defined(ARDUINO_ARCH_ESP32)
17  servo.setPeriodHertz(50);          // yalnız ESP32: 50 Hz servo sinyali / ESP32 only: 50 Hz servo signal
18#endif
19  servo.attach(SERVO_PIN, 500, 2400); // darbe aralığı mikrosaniye / pulse range in microseconds
20}
21
22void loop() {
23  servo.write(0);    delay(1000);    // 0 derece / 0 degrees
24  servo.write(90);   delay(1000);    // orta konum / center
25  servo.write(180);  delay(1000);    // 180 derece / 180 degrees
26}

Sur l'ESP32, il faut aussi que la version de la bibliothèque corresponde à celle du paquet de cartes. Dans la série 3.x du paquet ESP32, les fonctions PWM (LEDC) ont changé : ledcSetup() et ledcAttachPin() ont été supprimées et remplacées par ledcAttach(). C'est pourquoi les versions de bibliothèques et les exemples qui utilisent les anciennes fonctions échouent en 3.x avec 'ledcSetup' was not declared in this scope. Les versions actuelles d'ESP32Servo sont écrites pour le paquet 3.x. La solution consiste à passer à la version actuelle de la bibliothèque ou, si tu dois compiler un ancien projet tel quel, à revenir dans le gestionnaire de cartes au paquet esp32 2.0.17, la dernière version 2.x. Tu trouveras les broches de la carte et un premier projet Wi-Fi dans Qu'est-ce que l'ESP32 ?, et le branchement et l'alimentation d'un servo dans Qu'est-ce qu'un servomoteur ?.

Bibliothèques sur la Raspberry Pi Pico : Arduino IDE et MicroPython

Si tu programmes la Pico avec l'Arduino IDE (paquet de cartes Raspberry Pi Pico/RP2040/RP2350 d'Earle F. Philhower), les bibliothèques s'installent comme sur l'Uno et vont dans le même dossier libraries. Le nom d'architecture de ce paquet est rp2040 ; la puce RP2350 de la Pico 2 utilise le même nom. Wire, SPI, Servo, EEPROM et un SoftwareSerial basé sur le PIO sont inclus dans le paquet, et sur la Pico W la bibliothèque WiFi est prête elle aussi. La plupart des bibliothèques de capteurs et d'écrans d'Adafruit fonctionnent bien sur la Pico ; celles qui touchent aux registres AVR ne fonctionnent pas ici non plus. Sur la Pico, l'EEPROM est émulée en flash : on la démarre avec EEPROM.begin() et on enregistre les changements avec EEPROM.commit().

En MicroPython, une bibliothèque est un fichier .py (ou un .mpy compilé) dans le système de fichiers de la Pico, généralement placé dans le dossier /lib. Des modules comme machine, time, dht, onewire, ds18x20, neopixel et framebuf sont fournis avec MicroPython ; tape help("modules") dans le Shell de Thonny pour voir la liste complète. Un pilote absent de la liste s'ajoute de quatre façons :

MéthodeQuand ?Comment ?
Gestionnaire de paquets de ThonnyLe plus simple, avec la Pico branchée en USBCherche dans Tools > Manage packages ; pour ssd1306 par exemple, choisis micropython-ssd1306 et installe-le. Le fichier arrive dans le dossier /lib de la Pico
mpremoteSi tu utilises la ligne de commandeSur l'ordinateur, mpremote mip install ssd1306 télécharge la bibliothèque depuis micropython-lib et la copie sur la Pico
mip (Pico W uniquement)Pico W connectée au Wi-Fi, sans ordinateurExécute import mip puis mip.install("ssd1306") sur la Pico elle-même
Copie manuelleSi la bibliothèque est un seul fichier .pyDans le panneau Fichiers de Thonny, ouvre le dossier /lib de la Pico, fais un clic droit sur le fichier côté ordinateur et téléverse-le sur la Pico
MicroPython
1# Pico W: kütüphane yoksa karttan kur, sonra dene / Pico W: install the library from the board if missing, then test
2import time
3
4try:
5    import ssd1306                          # zaten kurulu mu? / already installed?
6except ImportError:
7    import network, mip
8    wlan = network.WLAN(network.STA_IF)
9    wlan.active(True)
10    wlan.connect("AG_ADI", "SIFRE")         # kendi Wi-Fi ağın / your own Wi-Fi network
11    for _ in range(40):                     # en fazla 20 sn bekle / wait up to 20 s
12        if wlan.isconnected():
13            break
14        time.sleep(0.5)
15    if not wlan.isconnected():              # ağa bağlanamadı / could not join the network
16        raise RuntimeError("Wi-Fi baglantisi yok / no Wi-Fi connection")
17    mip.install("ssd1306")                  # /lib klasörüne iner / lands in /lib
18    import ssd1306
19
20from machine import Pin, I2C
21
22i2c = I2C(0, sda=Pin(4), scl=Pin(5), freq=400000)   # GP4 = SDA, GP5 = SCL
23oled = ssd1306.SSD1306_I2C(128, 64, i2c)
24oled.fill(0)                                 # ekranı temizle / clear the screen
25oled.text("Kutuphane OK", 0, 0)
26oled.show()                                  # ekrana gönder / push to the screen

La première partie du code essaie d'importer le module ssd1306 ; s'il manque, elle connecte la Pico W au Wi-Fi, télécharge la bibliothèque depuis micropython-lib puis écrit un texte sur l'écran. Sur une Pico sans Wi-Fi, tu fais la même chose depuis l'ordinateur avec Thonny ou mpremote. Le câblage et les commandes de dessin de l'OLED sont dans Utiliser un écran OLED (SSD1306), les commandes de base et le système de fichiers de MicroPython dans Les bases de MicroPython. Si tu configures la Pico pour la première fois, commence par Qu'est-ce que la Raspberry Pi Pico ?.

Erreurs fréquentes en ajoutant des bibliothèques

  • Installer la bibliothèque et oublier le paquet de cartes : installer une bibliothèque pour l'ESP32 ou la Pico n'apprend pas la carte à l'IDE ; installe d'abord le paquet de cartes depuis le gestionnaire de cartes, puis la bibliothèque.
  • Sauter les dépendances : Installer sans les dépendances est la cause la plus fréquente des erreurs de fichiers manquants comme Adafruit_Sensor.h ou Adafruit_I2CDevice.h.
  • Décompresser le zip puis utiliser le menu .ZIP : ce menu n'accepte que des fichiers zip ; si tu as un dossier, copie-le à la main dans le dossier libraries.
  • Mettre la bibliothèque au mauvais endroit : une bibliothèque copiée dans le dossier du croquis, sur le bureau ou dans le dossier d'installation de l'IDE n'est pas trouvée ; le bon endroit est le dossier libraries de ton carnet de croquis.
  • Plusieurs copies de la même bibliothèque : deux dossiers comme IRremote et IRremote-master provoquent l'avertissement Multiple libraries et l'utilisation de la mauvaise version ; supprime-en un.
  • Tout mettre à jour à l'aveugle : une mise à jour qui change de version majeure peut casser un projet qui fonctionnait ; jette un œil aux notes de version de la bibliothèque avant de mettre à jour.
  • Accents ou espaces dans ta propre bibliothèque : si tu écris ta propre bibliothèque, n'utilise dans les noms de dossiers et de fichiers que des lettres latines simples, des chiffres et des tirets bas.
Quand tu démarres un projet, écris en commentaire en haut du code le nom, l'auteur et la version de chaque bibliothèque utilisée, par exemple // DHT sensor library (Adafruit) 1.4.7. Quand tu rouvriras le projet des mois plus tard ou que tu le partageras avec un ami, tu verras d'un coup d'œil quelle version de quelle bibliothèque installer. Si ton code compile mais ne se téléverse pas sur la carte, le problème ne vient pas de la bibliothèque ; consulte plutôt Erreur de téléversement Arduino.

Une fois que tu maîtrises l'installation des bibliothèques Arduino, chaque nouveau capteur ou écran ne prend que quelques minutes : trouve dans le gestionnaire la bibliothèque du bon auteur, installe-la avec ses dépendances, essaie d'abord son propre exemple, puis passe à ton code. Dans l'application BlueGrays, tu trouveras des projets qui utilisent des bibliothèques, comme la température et l'humidité avec le DHT11, un LCD I2C, un servomoteur, un lecteur de cartes RFID, une télécommande IR, des LED WS2812B et un jeu Pong sur OLED, avec des schémas de câblage et du code expliqué pas à pas.

Questions fréquentes

Où sont installées les bibliothèques Arduino ?

Les bibliothèques installées avec le gestionnaire, un .ZIP ou à la main vont dans le dossier libraries de ton carnet de croquis ; sous Windows, c'est en général Documents\Arduino\libraries, sous Linux ~/Arduino/libraries. L'emplacement exact s'affiche dans Fichier > Préférences. Les bibliothèques intégrées à l'IDE et celles des paquets de cartes se trouvent à part, dans le dossier Arduino15.

Pourquoi ma bibliothèque ZIP téléchargée ne s'installe-t-elle pas dans l'Arduino IDE ?

Le plus souvent, le zip contient plusieurs dossiers au lieu d'un seul dossier de bibliothèque, ou la bibliothèque est cachée dans un sous-dossier ; l'IDE affiche alors "multiple files found in zip file top level" ou "library not valid". Décompresse-le, trouve le dossier qui contient library.properties ou un fichier .h et copie-le à la main dans libraries. Si tu l'as déjà décompressé, le menu .ZIP n'accepte pas le dossier.

Comment désinstaller une bibliothèque Arduino ?

Trouve la bibliothèque dans le gestionnaire, survole sa carte et clique sur Supprimer ; l'IDE efface son dossier de libraries. Une bibliothèque installée à la main peut être supprimée du dossier libraries de ton carnet de croquis pendant que l'IDE est fermé. Ne touche pas aux bibliothèques des paquets de cartes dans le dossier Arduino15.

Comment corriger l'erreur "No such file or directory" sur Arduino ?

Trouve à quelle bibliothèque appartient le fichier .h du message et installe cette bibliothèque depuis le gestionnaire. S'il s'agit d'un en-tête que tu n'as pas inclus toi-même (ex. Adafruit_Sensor.h), il manque une dépendance d'une bibliothèque installée. Si l'erreur persiste alors que la bibliothèque est installée, vérifie les majuscules et minuscules de la ligne #include et la structure des dossiers copiés à la main.

Peut-on installer une bibliothèque Arduino sans internet ?

Oui. Télécharge le zip de la bibliothèque sur un autre ordinateur connecté et apporte-le sur une clé USB. Ajoute le zip avec Ajouter la bibliothèque .ZIP ou copie le dossier décompressé dans le dossier libraries de ton carnet de croquis ; n'oublie pas d'apporter aussi, une par une, les dépendances de la bibliothèque.

Les bibliothèques Arduino fonctionnent-elles sur l'ESP32 et la Raspberry Pi Pico ?

La plupart des bibliothèques de capteurs et d'écrans qui communiquent en I2C, en SPI ou sur un seul fil fonctionnent sans modification sur l'ESP32 et avec le paquet Arduino de la Pico. Les bibliothèques comme Servo et TimerOne, qui accèdent directement aux timers du processeur AVR, sont remplacées sur l'ESP32 par ESP32Servo et Ticker, tandis que le paquet de la Pico inclut sa propre bibliothèque Servo. L'avertissement "claims to run on avr architecture(s)" ne veut pas dire à lui seul que la bibliothèque ne fonctionnera pas.

Voir tous les projets
Température et humidité avec DHT11
#55Intermédiaire

Température et humidité avec DHT11

Quelle température fait-il dans ta chambre, et l'air est-il humide ou sec ? Le capteur DHT11 mesure la température et l'humidité, et l'Arduino affiche les valeurs sur un écran LCD à deux lignes, mises

4.7(47)
64
Utilisation de l'écran LCD avec I2C
#32Débutant
Premium

Utilisation de l'écran LCD avec I2C

Offre un écran à ton Arduino et fais-lui écrire son premier message. L'écran LCD à deux lignes se branche avec seulement quelques fils ; un bonjour s'affiche sur la ligne du haut, puis un deuxième tex

4.8(53)
70
Utilisation du servomoteur
#35Débutant
Premium

Utilisation du servomoteur

Le bras d'un petit servomoteur tourne tour à tour vers trois positions : tout au début, pile au milieu et tout au bout, en attendant deux secondes à chaque arrêt. L'Arduino indique au moteur l'angle à

4.7(48)
67
Lire les codes d'une télécommande IR
#16Débutant
Premium

Lire les codes d'une télécommande IR

Chaque touche de ta télécommande envoie un code secret grâce à une lumière invisible à l'œil. Le récepteur infrarouge capte cette lumière et l'Arduino affiche sur l'écran de ton ordinateur le code de

4.5(39)
55
Lecture des valeurs RFID
#53Débutant
Premium

Lecture des valeurs RFID

Le badge de ton immeuble ou ta carte d'accès cache un numéro d'identité secret, et ce projet le lit. Approche la carte du lecteur RFID, et l'Arduino écrit son numéro sur l'écran de ton ordinateur. La

4.7(47)
61
Utilisation du ruban LED WS2812B
#69Intermédiaire
Premium

Utilisation du ruban LED WS2812B

Tu découvres un ruban LED intelligent dont chaque lumière peut prendre sa propre couleur. L'Arduino allume d'abord les cinq premières LED en rouge, une seconde plus tard les cinq autres en bleu, puis

4.8(54)
70
Jeu de Raquettes - SSD1306
#86Intermédiaire
Premium

Jeu de Raquettes - SSD1306

Une balle, deux raquettes et toi : tu joues au tennis de table, l'un des tout premiers jeux vidéo, sur un petit écran OLED. Deux boutons font monter et descendre ta raquette à droite, tandis que l'ord

4.5(47)
65
Configuration du module horloge RTC DS1302
#45Débutant
Premium

Configuration du module horloge RTC DS1302

Tu fais fonctionner un petit module horloge qui n'oublie jamais l'heure, même quand l'Arduino est éteint. Le module a sa propre petite pile et, une fois l'heure réglée, la date et l'heure s'affichent

4.5(23)
31