• Publié le 10 janv. 2023
    • Mis à jour le 15 oct. 2025
  • 13 min

Cartes Arduino - Nos conseils pour le choix et l'installation

Comment bien débuter avec l'Arduino ?

Polyvalentes et peu coûteuses, les cartes Arduino sont faciles à programmer et peuvent effectuer des opérations simples. En fonctionnement, le microcontrôleur exécute le code contenu dans l’EEPROM programmable, ce qui lui confère une flexibilité appréciée pour toutes sortes de projets.

Dans la sphère des « makers » en informatique, l’Arduino est une carte à part. Son architecture repose sur un microcontrôleur dont le rôle diffère de celui d’un microprocesseur. Il se différencie par le fait que le premier intègre les composants essentiels à son fonctionnement : le microcontrôleur en lui-même, la mémoire et les interfaces d’entrée/sortie. Les microcontrôleurs ont été à la base de l’évolution technologique des 50 dernières années. Ils ont joué un rôle essentiel dans la généralisation des appareils électroniques, dont les premiers à l’utiliser étaient les caisses enregistreuses. Les microcontrôleurs ont dominé le paysage électronique jusqu’en 1971, lorsqu’Intel a sorti le 40041, le premier microprocesseur 4 bits de l’histoire.

De nos jours, les microcontrôleurs équipent toutes sortes de produits allant des équipements grand public aux appareils médicaux et aux équipements industriels coûteux, ainsi que les systèmes les plus sophistiqués comme l’aérospatiale et les appareils militaires. Arduino est une carte simple qui n’exécute qu’un seul programme. Lorsqu’un capteur branché sur l’Arduino détecte un événement (mouvement, variation de température ou de luminosité…), il déclenche une action (ouvrir un portail, allumer un éclairage…). C’est le schéma le plus simple d’utilisation de l’Arduino par opposition aux usages plus sophistiqués. Ces derniers reposent nécessairement sur des montages plus complexes. Pour ce faire, Arduino est équipé de broches dont nous détaillons la répartition dans un prochain article. Les cartes Arduino sont ainsi des interfaces programmables grâce au code source sous licence GNU LGPL.

À bien des égards, l’Arduino est la solution idéale pour certains projets électroniques qui ne nécessitent pas de la mémoire ou de la puissance de calcul pour exécuter du code. Arduino est un processeur en temps réel qui manque de mémoire et de puissance de traitement. Si vous envisagez des projets simples comme connecter des capteurs et lire des données en temps réel, l’Arduino est idéal. Dans certains cas d’usage, l’Arduino peut être utilisé en conjonction avec un Raspberry Pi dans une chaîne de traitement optimisée : le microcontrôleur de l’Arduino pour sa vitesse de traitement des données et le Raspberry Pi pour sa capacité à exécuter du code « lourd ».

En effet, le fonctionnement de l’Arduino repose sur le code enregistré dans son EEPROM : un micrologiciel ou firmware qui agit comme un OS. Il n’exécute qu’un seul programme à la fois. De plus, il faut savoir que le code enregistré dans l’EEPROM y demeure jusqu’à ce qu’une autre séquence logicielle le remplace. Aussi, l’une des premières manipulations que doit maîtriser l’utilisateur de l’Arduino, et que nous aborderons dans le prochain article, consiste à écrire les données dans cette mémoire. Il est bon de savoir en outre que la quantité de mémoire disponible varie en fonction du modèle de microcontrôleur intégré sur les différentes cartes Arduino. Par exemple, les modèles ATmega328P proposent 1024 octets, 512 octets sur l’ATmega168 et l’ATmega8, 4 Ko (4096 octets) sur l’ATmega1280 et l’ATmega2560. Lescartes Arduino 101 ont un espace EEPROM émulé de 1024 octets.

Arduino Uno, le modèle emblématique de la gamme

Il existe de nombreuses cartes Arduino sur le marché, qu’il serait fastidieux de détailler ici. Vous pouvez vous reporter à la boutique Arduino de RS Components pour trouver le modèle qui conviendra le mieux à votre projet. Pour résumer, les principales différences entre les modèles sont la puissance de traitement et le nombre de broches. Pour faire connaissance avec ces cartes, nous allons toutefois détailler la configuration de l’Arduino Uno, le modèle emblématique de la gamme. Celui-ci repose sur le microcontrôleur 8 bits ATmega328. Celui-ci possède 32 Ko de mémoire flash pour stocker du code (dont 0,5 Ko est utilisé pour le bootloader). Il possède également 2 Ko de SRAM et 1 Ko d’EEPROM (qui peut être lu et écrit avec la bibliothèque EEPROM). Il est équipé de 14 broches d’entrée/sortie numériques, dont 6 peuvent être utilisées comme sorties PWM (Pulse Width Modulation) ou MLI en Français (Modulation de Largeur d’Impulsions) pour le déclenchement d’événements (commande de moteur, d’alimentation…).

Le reste de l’équipement se compose de six entrées analogiques, d’un oscillateur à quartz de 16 MHz, d’une connexion USB, d’une prise d’alimentation Jack de 2,1 mm, d’un connecteur ICSP et d’un bouton de réinitialisation. L’Arduino Uno contient tout ce qui est nécessaire pour épauler le microcontrôleur. Il suffit de le connecter à un ordinateur avec un câble USB ou de l’alimenter avec un adaptateur AC/DC ou une batterie pour commencer. L’alimentation peut être branchée sur une prise murale ou directement sur les broches Gnd et Vin (Ground et Volts in). La source d’alimentation est détectée et sélectionnée automatiquement.

Une grande flexibilité d’installation

Cette double possibilité d’alimentation lui donne une grande flexibilité d’installation, notamment pour les projets déportés loin de prises électriques ou en extérieur (pour ouvrir un portail par exemple). Pour certains projets on peut recourir à des batteries solaires par exemple. Il suffit de fournir la bonne puissance/intensité à l’Arduino. Le minimum requis est de 250 mA, ce qui devrait permettre à un Arduino de fonctionner de manière stabile pour des opérations simples. Cependant, si vous souhaitez alimenter des périphériques externes (servomoteurs, LED, périphériques USB…), une tension de 2 A vous permettra d’utiliser ces périphériques en toute sécurité.

Un adaptateur ou une batterie avec un courant nominal plus élevé assurera suffisamment de tension pour que chaque composant du circuit fonctionne correctement. L’Uno pouvant fonctionner avec un courant entre 7 et 12 Volts, il est conseillé d’utiliser une alimentation de 7 Volts minimum pour fournir aux broches et aux composants qui y sont connectés l’énergie nécessaire. Attention cependant, si vous utilisez plus de 12V, le régulateur de tension peut surchauffer et endommager la carte. La plage recommandée se situe entre 7 et 12 volts.

Autre particularité du Uno et bonne à savoir, car on ne pense pas toujours à mettre à jour ce composant : il diffère de toutes les cartes précédentes en ce qu’il n’utilise pas le pilote FTDI USB-série. Au lieu de cela, l’Uno comporte l’Atmega16U2 programmé comme un convertisseur USB-série. La puce Atmega16U2 agit comme un pont entre le port USB de l’ordinateur et le port série du processeur principal. Les versions précédentes de l’Uno étaient équipées d’un Atmega8U2. Son micrologiciel peut être mis à jour grâce à Device Firmware Update, un protocole USB spécifique

Arduino 101 ou la porte ouverte sur l’environnement x86

Rappelons que l’Arduino 101, aussi appelé Genuino 101 dans certains pays, est une carte à part dans la gamme. Développé avec la collaboration d’Intel, il repose sur le module Intel Curie et un OS temps réel (RTOS) compatible x86. Plus simple d’abord que les autres modèles Arduino, le 101 est livré avec un RTOS préprogrammé. Il gère donc nativement la connexion USB et permet le téléchargement de code sans utiliser de programmateur matériel externe. Autre avantage, il peut recevoir des mises à jour du firmware de la part d’Intel via une procédure qui peut être automatisée via le logiciel Arduino IDE.

Les paquets contiennent le BSP (Board Support Package) complet pour le processeur Curie. Il permet de compiler et de modifier le système d’exploitation principal et le micrologiciel pour gérer les mises à jour et le chargeur de démarrage (Bootloader). Très utiles pour des développements spécifiques, les fonctions de mise à jour et de compilation doivent être utilisées avec la plus circonspecte des prudences, car flasher le bootloader avec le mauvais code pourrait bloquer votre carte et nécessiter un programmateur JTAG pour la remettre en service. Le code source est disponible sur la page de téléchargement dédiée sur Github.

Un prototype toujours en développement

Il faut aussi garder à l’esprit que le 101 est considéré comme un prototype dans la feuille de route d’Intel : il est toujours en développement et de nouvelles fonctions sont régulièrement ajoutées. C’est la raison pour laquelle beaucoup de chercheurs et d’ingénieurs l’utilisent pour le prototypage de solutions IoT par exemple. C’est un gros avantage pour les utilisateurs ayant l’habitude de travailler sur l’intégration des plateformes dans des environnements x86.

L’Arduino 101 conserve le même facteur de forme et la même base de périphériques que l’UNO (détaillé dans la partie 1 de cet article), avec en plus des capacités Bluetooth Low Energy embarquées et un accéléromètre/gyroscope à 6 axes. Il contient deux cœurs, un cœur x86 (Quark) et un cœur 32 bits d’architecture ARC, tous deux cadencés à 32 MHz. L’un des gros avantages de l’Arduino 101 est de bénéficier de l’environnement de développement d’Intel, Open Developper Kit (ODK). Celui-ci propose un écosystème de solutions incluant des outils open source.

Prêt à exécuter des applications multithreadées

Du fait de l’intégration de l’OS temps réel et des composants x86, le fonctionnement de l’Arduino 101 est quelque peu différent de celui des autres modèles. Il est capable de traiter des instructions en mode multithread, ce qui augmente les possibilités de programmation afin d’exécuter des applications multithreadées. Le cœur Curie communique avec le RTOS via des « boîtes aux lettres » statiques pour accomplir une liste prédéfinie de tâches (interface avec le PC via USB, programmation du sketch en flash, exposition du Bluetooth Low Energy au sketch, exécution du PWM).

Quant à sa connectivité, elle repose sur un GPIO de 14 broches d’entrée/sortie numériques (dont 4 peuvent être utilisées comme sorties PWM), 6 entrées analogiques, un connecteur USB pour la communication série et le téléchargement de sketchs, une prise d’alimentation, un connecteur ICSP avec des signaux SPI et des broches dédiées I2C. La tension de fonctionnement de la carte et des E/S est de 3,3 V et toutes les broches sont protégées contre les surtensions de 5 V.

L'environnement de développement Arduino IDE

L'environnement de développement Arduino (Arduino IDE) constitue la pierre angulaire de la programmation des cartes Arduino. Cet outil gratuit et open source permet aux utilisateurs de coder, compiler et téléverser leurs programmes directement sur leur carte. L'interface intuitive facilite l'apprentissage du langage de programmation Arduino, basé sur C++, tout en offrant des fonctionnalités avancées pour les développeurs expérimentés. La connexion entre l'ordinateur et la carte s'effectue via un simple câble USB, qui sert à la fois à l'alimentation et au transfert des programmes.

Applications pratiques en domotique

La domotique représente l'un des domaines d'application les plus populaires pour Arduino. En utilisant des modules d'extension appropriés, comme les shields Ethernet ou Bluetooth, il devient possible de créer des systèmes domotiques personnalisés et économiques. Par exemple, un Arduino peut gérer l'éclairage intelligent, le contrôle de la température, ou même l'automatisation de l'arrosage du jardin. Les entrées analogiques de la carte permettent de connecter divers capteurs, tandis que les sorties numériques peuvent commander des relais ou des actionneurs.

Du prototype à la réalisation finale

La transition entre le prototype et le projet final nécessite une attention particulière à plusieurs aspects. Le choix du boîtier approprié protège les composants tout en assurant une installation durable. L'utilisation d'une platine de prototypage facilite les tests initiaux, mais pour une version définitive, il est recommandé de concevoir un circuit imprimé personnalisé. L'intégration de connecteurs robustes et la gestion appropriée de l'alimentation garantissent la fiabilité du système à long terme.

Je vais poursuivre avec du contenu complémentaire en intégrant les nouveaux mots-clés fournis, tout en maintenant l'approche pédagogique

L'écosystème Arduino : Une famille de cartes pour tous les projets

L'écosystème Arduino s'est considérablement enrichi depuis la sortie de l'Arduino Duemilanove, première carte largement diffusée. Aujourd'hui, on trouve une variété de modèles adaptés à différents besoins. L'Arduino Mega, avec son processeur ATmega2560, offre davantage de broches et de mémoire pour les projets complexes. La gamme MKR, destinée à l'IoT (Internet of Things), intègre des modules de communication comme LoRa ou Bluetooth, permettant de créer des objets connectés compact. Le LilyPad Arduino, avec sa conception circulaire, est spécialement conçu pour les projets textiles interactifs.

Les shields : Étendre les fonctionnalités

Les shields constituent l'un des atouts majeurs de l'écosystème Arduino. Ces cartes d'extension se connectent directement sur la carte principale et ajoutent des fonctionnalités spécifiques. Le shield Ethernet permet la connexion à Internet, tandis que d'autres modules facilitent le pilotage de moteurs ou l'acquisition de données. Pour la domotique, des shields dédiés permettent de contrôler le chauffage, l'éclairage ou encore les volets roulants. La compatibilité entre les différents modèles est généralement assurée grâce à une standardisation des connecteurs.

Environnements de développement alternatifs

Bien que l'IDE Arduino, écrit en Java, soit l'environnement de développement le plus utilisé, d'autres options existent. Processing, par exemple, permet de créer des interfaces graphiques interactives qui communiquent avec Arduino. Pour les débutants, des environnements de programmation visuelle comme Bitbloq et Minibloq facilitent l'apprentissage. Ces outils permettent de compiler et téléverser les programmes au travers d'une connexion série TTL, généralement via un module USB-série dédié comme le FTDI232RL.

Du prototypage au produit fini : Les solutions matérielles

Le prototypage rapide avec Arduino commence souvent sur une platine d'essai, permettant de tester rapidement différentes configurations. Pour la production, plusieurs options s'offrent aux créateurs. Les composants comme l'ATmega328P, utilisé dans l'Arduino Uno, sont disponibles en boîtier format DIL28, permettant de créer des cartes personnalisées plus compactes. De nombreux fabricants proposent des alternatives compatibles, souvent à prix bas, voire très bas, bien que seul le nom "Arduino" soit protégé pour le matériel officiel.

Applications innovantes et communauté

L'écosystème Arduino s'étend bien au-delà des applications traditionnelles. On trouve des utilisations dans le pilotage de drones, certains logiciels musicaux, et même l'Arduboy, une console de jeu portable basée sur Arduino. La communauté développe constamment de nouveaux projets, notamment dans le domaine de l'Internet des Objets (IoT). Les processeurs ARM Cortex-M, présents sur certaines cartes récentes, ouvrent la voie à des applications plus puissantes, tandis que des plateformes comme le Sanguino étendent les possibilités pour des projets spécifiques.

Considérations pour le choix du matériel

Le choix d'une carte Arduino ou compatible dépend de plusieurs facteurs. Le lieu de fabrication peut influencer le prix et la qualité. Les cartes officielles, produites et vendues en Europe, garantissent une qualité constante mais peuvent coûter plus cher que les alternatives. Pour les projets simples utilisant des composants basiques comme des potentiomètres ou des joysticks, une carte d'entrée de gamme suffira. Pour les projets plus ambitieux nécessitant plus de puissance de calcul ou des fonctionnalités spécif

Produits associés

Arduino

Arduino

Les cartes, les modules et les kits Arduino offrent aux utilisateurs une grande variété d'applications et d'utilisations.

En savoir plus

Boîtiers

Boîtiers

Un boîtier Arduino est conçu pour accueillir et protéger une carte de développement Arduino.

En savoir plus

Écrans

Écrans

Découvrez notre gamme d’écrans tactiles pour un affichage à utiliser avec votre Arduino.

En savoir plus

Shields

Shields

Les shields sont des cartes qui peuvent être branchées Top of the Arduino PCB, étendant ses capacités.

En savoir plus

Pour aller plus loin

Liens connexes