Article de reference

Arduino

[[Xinu]] [[FreeRTOS]]"},"website":{"wt":"{{URL|https://www.arduino.cc/|arduino.cc}}"}},"i":0}}] Arduino ( / ɑːrˈdwiːnoʊ / ) est une entreprise italienne de matériel et de logici...

logiciels libres (désormais propriété de Qualcomm et des kits microcontrôleurs pour licence CC BY-SA , tandis que ses logiciels sont distribués sous licence GNU LGPL ou GNU GPL , autorisant ainsi la fabrication de cartes Arduino et la distribution de logiciels par tous. Les cartes Arduino sont disponibles dans le commerce sur le site web officiel ou auprès de distributeurs agréés

Les cartes Arduino utilisent divers microprocesseurs et contrôleurs. Elles sont équipées de broches d'entrée/sortie (E/S) numériques et analogiques, connectables à différentes cartes d'extension (« shields ») ou plaques d'essai (pour le prototypage), ainsi qu'à d'autres circuits. Ces cartes disposent d'interfaces de communication série, notamment USB sur certains modèles, servant également au chargement des programmes. Les microcontrôleurs sont programmables en C et C++ (C embarqué), grâce à une API standard appelée langage de programmation Arduino , inspirée du langage Processing et utilisée avec une version modifiée de l'IDE Processing. Outre les chaînes de compilation classiques , le projet Arduino propose un environnement de développement intégré (IDE) et un outil en ligne de commande développé en Go .

Le projet Arduino a vu le jour en 2005 comme outil destiné aux étudiants de l' Institut de design d'interaction d'Ivrée , en Italie , avec pour objectif de fournir aux novices comme aux professionnels un moyen simple et économique de créer des dispositifs interagissant avec leur environnement grâce à des capteurs et des actionneurs . Parmi les exemples courants de ces dispositifs destinés aux makers , on trouve des robots simples , des thermostats et des détecteurs de mouvement .

Le nom Arduino provient du Bar di Re Arduino, où se réunissaient certains des fondateurs du projet. Ce bar se trouve à Ivrée , en Italie , et a été nommé en l'honneur d'Arduin .

Le premier prototype

Le projet Arduino a été lancé à l' Institut de Design d'Interaction d'Ivrée ( IDII) , en Italie. À cette époque, les étudiants utilisaient un microcontrôleur BASIC Stamp d'une valeur de 50 dollars. En 2004, Hernando Barragán a créé la plateforme de développement Wiring dans le cadre de son mémoire de master à l'IDII, sous la direction de Massimo Banzi et Casey Reas . Casey Reas est connu pour avoir co-créé, avec Ben Fry, la plateforme de développement Processing . L'objectif du projet était de créer des outils simples et économiques permettant aux non-ingénieurs de réaliser des projets numériques. La plateforme Wiring se composait d'une carte de circuit imprimé (PCB) avec un microcontrôleur ATmega 128, d'un environnement de développement intégré (IDE) basé sur Processing et de bibliothèques de fonctions facilitant la programmation du microcontrôleur. En 2005, Massimo Banzi, avec David Mellis, également étudiant à l'IDII, et David Cuartielles, a étendu Wiring en y ajoutant la prise en charge du microcontrôleur ATmega8, moins coûteux. Le nouveau projet, dérivé de Wiring, s'appelait Arduino .

L'équipe initiale d'Arduino était composée de Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino et David Mellis.

Suite à la finalisation de la plateforme, des versions plus légères et moins coûteuses ont été distribuées au sein de la communauté open source. On estimait mi-2011 que plus de 300 000 cartes Arduino officielles avaient été produites commercialement et qu’en 2013, 700 000 cartes officielles étaient entre les mains des utilisateurs.

Litige relatif aux marques de commerce

Début 2008, les cinq cofondateurs du projet Arduino ont créé une société, Arduino LLC , afin de détenir les marques déposées associées à Arduino. La fabrication et la vente des cartes devaient être assurées par des entreprises externes, et Arduino LLC percevrait des redevances. Les statuts d'Arduino LLC stipulaient que chacun des cinq fondateurs transférerait la propriété de la marque Arduino à la nouvelle société.Maker Faire de New York, le 1er octobre 2016, Massimo Banzi, cofondateur et PDG d'Arduino LLC, et Federico Musto, PDG d'Arduino SRL, ont annoncé la fusion des deux sociétés, donnant naissance à Arduino AG. À peu près au même moment, Massimo Banzi a annoncé la création d'une nouvelle fondation, Arduino Foundation, marquant « un nouveau départ pour Arduino », mais cette décision a été ultérieurement annulée.

En avril 2017, Wired a révélé que Musto avait falsifié son parcours universitaire. Sur le site web de son entreprise, ses profils LinkedIn personnels et même sur des documents commerciaux italiens, Musto était, jusqu'à récemment, présenté comme titulaire d'un doctorat du Massachusetts Institute of Technology (MIT). Dans certains cas, sa biographie mentionnait également un MBA de l'Université de New York (NYU). Wired a indiqué qu'aucune de ces universités ne possédait de trace de sa présence, et Musto a par la suite admis, lors d'un entretien avec Wired, n'avoir jamais obtenu ces diplômes. La controverse autour de Musto s'est poursuivie lorsqu'en juillet 2017, il aurait retiré de nombreuses licences open source , schémas et codes du site web d'Arduino, provoquant un tollé général.

En 2017, Arduino AG détenait de nombreuses marques déposées Arduino. En juillet 2017, BCMI, fondée par Massimo Banzi, David Cuartielles, David Mellis et Tom Igoe, a acquis Arduino AG et toutes les marques déposées Arduino. Fabio Violante est le nouveau PDG, succédant à Federico Musto, qui a quitté Arduino AG.

Après le litige

En octobre 2017, Arduino annonçait son partenariat avec Arm Holdings (ARM). Le communiqué précisait notamment : « ARM reconnaît l’indépendance comme une valeur fondamentale d’Arduino … sans aucune dépendance vis-à-vis de l’ architecture ARM . » Arduino entend poursuivre sa collaboration avec tous les fournisseurs de technologies et toutes les architectures. Sous la direction de Violante, l’entreprise a renoué avec la croissance et lancé de nouveaux modèles. La marque Genuino a été abandonnée et tous les produits ont été commercialisés sous la marque Arduino.

En août 2018, Arduino a annoncé son nouvel outil en ligne de commande open source ( arduino-cli ), qui peut être utilisé en remplacement de l'IDE pour programmer les cartes à partir d'un shell.

En février 2019, Arduino a annoncé son service IoT Cloud comme une extension de l'environnement en ligne Create.

En février 2020, la communauté Arduino comptait environ 30 millions d'utilisateurs actifs, selon les téléchargements de l'IDE.

En octobre 2025, il a été annoncé qu'Arduino avait été acquis, pour un montant encore non divulgué, par la multinationale américaine des semi-conducteurs Qualcomm .

Matériel

Carte Arduino R3 Uno compatible avec Arduino, sans logo Arduino.

Arduino est un logiciel libre . Les schémas de référence sont distribués sous licence Creative Commons Attribution - Partage dans les mêmes conditions 2.5 et disponibles sur le site web d'Arduino. Les fichiers de conception et de production pour certaines versions sont également disponibles.copyleft , les développeurs ont demandé que le nom Arduino soit réservé au produit officiel et ne soit pas utilisé pour des œuvres dérivées sans autorisation. Le document de politique officiel relatif à l'utilisation du nom Arduino souligne que le projet est ouvert à l'intégration de travaux tiers dans le produit officiel. Plusieurs produits compatibles Arduino commercialisés ont évité le nom du projet en utilisant divers noms se terminant par -duino .

Une carte Arduino ancienne avec une interface série RS-232 (en haut à gauche) et une puce microcontrôleur Atmel ATmega8 (noire, en bas à droite) ; les 14 broches d'E/S numériques sont en haut, les 6 broches d'entrée analogiques en bas à droite et le connecteur d'alimentation en bas à gauche.

La plupart des cartes Arduino sont composées d'un microcontrôleur Atmel AVR 8 bits (ATmega8, ATmega168, ATmega328 , ATmega1280 ou ATmega2560) avec des capacités de mémoire flash, un nombre de broches et des fonctionnalités variables. L' Arduino Due 32 bits , basé sur l'Atmel SAM3X8E, a été lancé en 2012. Ces cartes utilisent des broches à une ou deux rangées, ou des connecteurs femelles, facilitant la programmation et l'intégration dans d'autres circuits. Elles peuvent être connectées à des modules d'extension appelés shields . Plusieurs shields, éventuellement empilés, peuvent être adressés individuellement via un bus série I²C . La plupart des cartes intègrent un régulateur linéaire 5 V et un oscillateur à quartz ou un résonateur céramique de 16 MHz . Certains modèles, comme le LilyPad, fonctionnent à 8 MHz et se passent de régulateur de tension intégré en raison de contraintes de format .

Les microcontrôleurs Arduino sont préprogrammés avec un chargeur d'amorçage (bootloader) qui simplifie le chargement des programmes dans la mémoire flash intégrée . Le chargeur d'amorçage par défaut de l'Arduino Uno est Optiboot. Le code du programme est chargé sur les cartes via une connexion série avec un autre ordinateur. Certaines cartes Arduino série intègrent un circuit de conversion de niveau pour convertir les niveaux logiques RS-232 en signaux logiques TTL ( transistors-transistors série ). Les cartes Arduino actuelles sont programmées via le bus USB (Universal Serial Bus ), grâce à des puces d'adaptation USB-série telles que la FTDI FT232. Certaines cartes, comme les modèles Uno plus récents, remplacent la puce FTDI par une puce AVR distincte contenant un firmware USB-série, reprogrammable via son propre connecteur ICSP . D'autres variantes, comme l'Arduino Mini et la Boarduino (non officielle), utilisent une carte ou un câble adaptateur USB-série détachable, le Bluetooth ou d'autres méthodes. Lorsqu'il est utilisé avec des outils de microcontrôleur traditionnels, au lieu de l'IDE Arduino, la programmation système AVR standard (ISP) est utilisée.

Une carte Arduino Uno R2 officielle avec la description des emplacements des entrées/sorties

La carte Arduino expose la plupart des broches d'E/S du microcontrôleur pour une utilisation par d'autres circuits. Les cartes a ] [ b actuelle [ 14 broches d'E/S numériques, dont six peuvent générer des signaux à modulation de largeur d'impulsion (PWM), et six entrées analogiques , qui peuvent également servir de six broches d'E/S numériques. Ces broches sont situées sur la face supérieure de la carte, via des connecteurs femelles au pas de 2,54 mm (0,1 pouce). Plusieurs cartes d'extension sont également disponibles dans le commerce. Les cartes Arduino Nano, Bare Bones Board et Boarduino compatibles Arduino peuvent comporter des connecteurs mâles sur leur face inférieure, permettant leur connexion à des plaques d'essai sans soudure .

Il existe de nombreuses cartes compatibles Arduino et dérivées d'Arduino. Certaines sont fonctionnellement équivalentes à une carte Arduino et peuvent être utilisées indifféremment. Beaucoup enrichissent l'Arduino de base en ajoutant des pilotes de sortie, souvent pour une utilisation dans l'enseignement scolaire , afin de simplifier la fabrication de petits robots et de buggies. D'autres sont électriquement équivalentes, mais diffèrent par leur format, conservant parfois la compatibilité avec les shields, parfois non. Certaines variantes utilisent des processeurs différents, de compatibilité variable.

Outre les variations matérielles, des bibliothèques open source ont été développées pour prendre en charge le matériel Arduino dans les outils de CAO électronique . Un de ces projets fournit des symboles schématiques KiCad et des empreintes de circuit imprimé pour les modules Arduino, les cartes d'extension et les connecteurs, facilitant ainsi l'intégration d'Arduino dans les conceptions des ingénieurs.

Conseils officiels

SparkFun Electronics et Adafruit Industries . Arduino RS232 (broches mâles)
Arduino RS232 (broches mâles)
  • Arduino Diecimila
    Arduino Diecimila
  • Arduino Duemilanove (rév. 2009b)
    Arduino Duemilanove (rév. 2009b)
  • Arduino Uno R2
  • Arduino Uno SMD R3
  • Arduino Leonardo
    Arduino Leonardo
  • Arduino Micro (ATmega32U4)
    Arduino Micro (ATmega32U4)
  • Arduino Pro Micro (ATmega32U4)
    Arduino Pro Micro (ATmega32U4)
  • Arduino Pro (sans USB)
    Arduino Pro (Sans USB)
  • Arduino Mega
    Arduino Mega
  • Arduino Nano (boîtier DIP-30)
    Arduino Nano (Empreinte DIP-30)
  • Arduino LilyPad 00 (rév. 2007) (pas d'USB)
    Arduino LilyPad 00 (rév 2007) (pas d'USB)
  • Robot Arduino
    Robot Arduino
  • Arduino Esplora
    Arduino Esplora
  • Arduino Ethernet (AVR + W5100)
    Arduino Ethernet (AVR + W5100)
  • Arduino Yún (AVR + AR9331)
    Arduino Yun (AVR + AR9331)
  • Arduino Due (cœur ARM Cortex-M3)
    Arduino Due ( cœur ARM Cortex-M3 )
  • Arduino GIGA R1 WiFi (Cœurs ARM Cortex-M7 double cœur + ARM Cortex-M4 + Murata 1DX)
    Arduino GIGA R1 WiFi (Cœurs ARM Cortex-M7 double cœur + ARM Cortex-M4 + Murata 1DX)
  • Boucliers

    Les shields Arduino sont des cartes d'extension qui se fixent sur les cartes mères Arduino pour étendre leurs fonctionnalités et réaliser des tâches spécifiques. Parmi les utilisations courantes, on peut citer le contrôle de moteurs CC pour un robot ou une imprimante 3D, l'ajout d'un écran LCD, l'activation de la connectivité Ethernet, la navigation GPS/GNSS et la conversion de connecteurs à broches en connecteurs Grove. Les shields sont généralement conçus et fabriqués par des entreprises tierces, telles que SparkFun Electronics , Adafruit Industries , Seeed Studio et Cytron Technologies, entre autres. Il est également possible de fabriquer soi-même certains shields .

    Certaines cartes d'extension offrent des connecteurs empilables permettant d'en superposer plusieurs sur une carte Arduino. Ici, une carte d'extension de prototypage est superposée à deux cartes d'extension moteur Adafruit V2.
  • Bornier à vis de dérivation en forme d'aile, permettant de connecter des fils nus à la carte sans nécessiter de broches spécifiques.
    Bornier à vis de dérivation en forme d'aile, permettant de connecter des fils nus à la carte sans nécessiter de broches spécifiques.
  • Carte d'extension d'acquisition de données Adafruit avec emplacement pour carte Secure Digital (SD) et puce d'horloge temps réel (RTC), ainsi qu'un espace permettant l'ajout de composants et de modules pour la personnalisation.
    Carte d'extension d'acquisition de données Adafruit avec emplacement pour carte Secure Digital (SD) et puce d'horloge temps réel (RTC), ainsi qu'un espace permettant l'ajout de composants et de modules pour la personnalisation.
  • Carte d'extension moteur Adafruit avec bornes à vis pour le raccordement aux moteurs. Officiellement abandonnée, cette carte peut encore être disponible via des circuits non officiels.
    Carte d'extension moteur Adafruit avec bornes à vis pour le raccordement aux moteurs. Officiellement abandonnée, cette carte peut encore être disponible via des circuits non officiels.
  • La carte d'extension moteur Adafruit V2 utilise le protocole I2C, ce qui nécessite beaucoup moins de broches d'E/S numériques que la connexion directe de chaque moteur.
    La carte Adafruit Motor Shield V2 utilise l'interface I2C Un shield hôte USB permettant à une carte Arduino de communiquer avec un périphérique USB tel qu'un clavier ou une souris.
    Un shield hôte USB permettant à une carte Arduino de communiquer avec un périphérique USB tel qu'un clavier ou une souris.
  • Logiciel

    Un programme pour le matériel Arduino peut être écrit dans n'importe quel langage de programmation doté de compilateurs capables de produire du code machine binaire pour le processeur cible. Atmel fournit un environnement de développement pour ses microcontrôleurs 8 bits AVR et 32 ​​bits ARM Cortex-M : AVR Studio (ancienne version) et Atmel Studio (version plus récente).

    IDE hérité (1.0)

    L' environnement de développement intégré (IDE) Arduino est une application multiplateforme (pour Microsoft Windows , macOS et Linux ) basée sur Processing IDE , écrit en Java . Il utilise l' API Wiring comme style de programmation et la couche d'abstraction matérielle (HAL) . Il comprend un éditeur de code offrant des fonctionnalités telles que le copier-coller, la recherche et le remplacement de texte, l'indentation automatique, la correspondance des accolades et la coloration syntaxique . Il propose également des mécanismes simples permettant de compiler et de téléverser des programmes sur une carte Arduino en un seul clic . L'IDE contient une zone de messages, une console texte, une barre d'outils avec des boutons pour les fonctions courantes et une hiérarchie de menus. Le code source de l'IDE est distribué sous licence publique générale GNU (GPLv2).

    L'IDE Arduino prend en charge les langages C et C++ en utilisant des règles spécifiques de structuration du code. Il fournit une bibliothèque logicielle issue du projet Wiring , qui propose de nombreuses procédures d'entrée/sortie courantes. Le code écrit par l'utilisateur ne nécessite que deux fonctions de base : le démarrage du programme et la boucle principale. Ces fonctions sont compilées et liées à un stub de programme ` main()` pour former un programme exécutable cyclique grâce à la chaîne d'outils GNU , également incluse dans la distribution de l'IDE. L'IDE Arduino utilise le programme `avrdude` pour convertir le code exécutable en un fichier texte encodé en hexadécimal , lequel est ensuite chargé sur la carte Arduino par un programme de chargement intégré au firmware. Traditionnellement, l'IDE Arduino était utilisé pour programmer les cartes officielles Arduino basées sur des microcontrôleurs Atmel AVR. Cependant, avec la popularité croissante d'Arduino et la disponibilité de compilateurs open source, de nombreuses autres plateformes, telles que PIC , STM32 , TI MSP430 et ESP32, peuvent désormais être programmées avec l'IDE Arduino.

    IDE 2.0

    Eclipse Theia . Ses principales nouveautés sont :

    • Environnement de développement moderne et complet
    • Nouveau directeur du conseil d'administration
    • Nouveau gestionnaire de bibliothèque
    • Explorateur de projets
    • Saisie semi-automatique de base et vérification de la syntaxe
    • Moniteur série avec traceur graphique
    • Mode sombre et prise en compte des DPI
    • Version 64 bits
    • Capacité de débogage

    L'une des fonctionnalités importantes de l'IDE Arduino 2.0 est le débogage. Il permet d'exécuter le programme pas à pas, d'insérer des points d'arrêt et de visualiser la mémoire. Le débogage nécessite une puce cible dotée d' un port de débogage et d'une sonde de débogage. La carte Arduino Zero officielle est débogable immédiatement. Les autres cartes Arduino SAMD21 officielles requièrent un module LED d'alimentation et LED intégrée sur carte compatible Arduino

    LED d'alimentation (rouge) et LED utilisateur (verte) connectées à la broche 13 d'une carte compatible Arduino

    La plupart des cartes Arduino contiennent une diode électroluminescente (DEL) et une résistance de limitation de courant connectée entre la broche 13 et la masse, ce qui est pratique pour de nombreux tests et fonctions de programmation. Un programme typique utilisé par les débutants, similaire à « Hello, World! » , est « blink », qui fait clignoter la DEL intégrée à la carte Arduino. Ce programme utilise les fonctions `blink` Xinu OS pour l'ATmega328P (Arduino Uno et autres cartes utilisant la même puce), qui inclut la plupart des fonctionnalités de base. Le code source de cette version est disponible gratuitement.

    Il existe également un outil de threading, appelé Protothreads. Les Protothreads sont décrits comme des « threads sans pile extrêmement légers conçus pour les systèmes à mémoire très limitée, tels que les petits systèmes embarqués ou les nœuds de réseaux de capteurs sans fil.

    Il existe un portage de FreeRTOS pour Arduino. Il est disponible via le gestionnaire de bibliothèques Arduino. Il est compatible avec plusieurs cartes, dont l'Uno.

    Applications

    Simulation

    • Tinkercad Circuits est un simulateur analogique et numérique compatible avec Arduino Simulation, couramment utilisé pour créer des modèles 3D.

    Reconnaissances

    Le projet Arduino a reçu une mention honorable dans la catégorie Communautés numériques au Prix Ars Electronica 2006.

    Le kit d'ingénierie Arduino a remporté le prix Bett dans la catégorie « Services numériques pour l'enseignement supérieur ou la formation continue » en 2020.

    Plus d articles de Worldlex Wiki

    Revenez a l index pour explorer davantage de pages sur l histoire, la science, la culture, la geographie et la societe en francais.

    Explorer l index