Chapitre 1 : Arduino
Arduino (/??r'dwi?no?/) est une entreprise de matériel et de logiciels open source, un projet et une communauté d'utilisateurs qui développe des microcontrôleurs monocartes et des kits de microcontrôleurs pour la création d'appareils numériques.
Bien que le logiciel soit concédé sous licence GNU Lesser General Public License (LGPL) ou GNU General Public License (GPL), il n'est pas autorisé à être redistribué (GPL), plusieurs microprocesseurs et contrôleurs sont utilisés dans la conception des cartes Arduino. Les cartes sont équipées de broches d'entrée/sortie (E/S) numériques et analogiques qui peuvent interagir avec diverses cartes d'extension ('shields') ou planches d'expérimentation (pour le prototypage) et d'autres circuits. Les cartes ont des interfaces de communication série, y compris USB sur certains modèles, qui sont également utilisées pour charger des programmes. Les microcontrôleurs peuvent être programmés en C et C++ (Embedded C) à l'aide d'une API standard également connue sous le nom de langage de programmation Arduino, qui a été influencé par le langage de programmation Processing et utilisé avec une version modifiée de l'environnement de développement intégré (IDE) Processing. En plus des chaînes d'outils de compilation conventionnelles, le projet Arduino propose un environnement de programmation intégré (IDE) basé sur Go et un outil en ligne de commande.
Le projet Arduino a vu le jour en 2005 en tant qu'outil pour les étudiants de l'Institut de design d'interaction d'Ivrea, en Italie, dans le but de fournir une méthode simple et peu coûteuse pour les amateurs et les experts afin de concevoir des appareils qui interagissent avec leur environnement à l'aide de capteurs et d'actionneurs. De simples robots, thermostats et détecteurs de mouvement sont des exemples courants de tels gadgets conçus pour les amateurs débutants.
L'origine du nom Arduino est une taverne d'Ivrea, en Italie, où les fondateurs du projet avaient l'habitude de se réunir. Le bar a été appelé d'après le roi d'Italie de 1002 à 1014 et margrave de la Marche d'Ivrée, Arduin d'Ivrée.
Le projet Arduino a été initié à Ivrea, en Italie, à l'Interaction Design Institute Ivrea (IDII). En 2005, Massimo Banzi, avec ses collègues étudiants de l'IDII, David Mellis et David Cuartielles, a élargi le câblage en ajoutant la prise en charge du microcontrôleur ATmega8, moins coûteux. Arduino était le nouveau projet dérivé de Wiring.
Les cinq cofondateurs du projet Arduino ont créé Arduino LLC au début de 2008, En 2017, Arduino AG possédait de nombreuses marques pour Arduino. En juillet 2017, Massimo Banzi, David Cuartielles, David Meltis et Tom Igoe ont créé BCMI, qui a acheté Arduino AG et toutes les marques Arduino. Fabio Violante est le nouveau PDG d'Arduino AG, succédant à Federico Musto, qui ne fait plus partie de l'entreprise.
Arduino a annoncé son alliance avec ARM Holdings en octobre 2017. (ARM). « L'ARM a reconnu la liberté comme une valeur fondamentale d'Arduino... sans aucun verrouillage avec l'architecture ARM", a déclaré l'annonce. Arduino prévoit de continuer à coopérer avec tous les fournisseurs de technologies et les cadres architecturaux. Sous la direction de Violante, l'entreprise a commencé à se développer et à publier de nouveaux designs. La marque Genuino a été abandonnée et tous les produits ont été rebaptisés avec le nom Arduino.
Arduino a présenté son nouvel outil de ligne de commande open source (arduino-cli) en août 2018, qui peut être utilisé en remplacement de l'IDE pour programmer des cartes à partir d'un shell.
Le matériel Arduino est open-source. Les conceptions matérielles de référence sont disponibles sur le site Web d'Arduino sous une licence Creative Commons Attribution Share-Alike 2.5. Il existe également des fichiers de mise en page et de production pour différentes versions du matériel.
Bien que les plans matériels et logiciels soient accessibles au public sous des licences copyleft, les créateurs ont demandé que le nom Arduino soit réservé au produit original et ne soit pas utilisé pour des ouvres dérivées sans leur consentement. Le document de politique officiel sur l'utilisation du nom Arduino souligne la volonté du projet d'incorporer le travail de tiers dans le produit officiel.
En raison des limites de forme, la majorité des cartes Arduino sont constituées d'un microcontrôleur AVR Atmel 8 bits (ATmega8, fonctionne à 8 MHz et ne dispose pas d'un régulateur de tension intégré).
Les microcontrôleurs Arduino incluent un chargeur de démarrage qui rationalise le téléchargement des programmes sur la mémoire flash sur puce. Le chargeur d'amorçage Optiboot est le chargeur par défaut pour l'Arduino Uno. Les cartes sont programmées à l'aide d'une liaison série vers un autre ordinateur. Certaines cartes Arduino série incluent un circuit de décalage de niveau pour convertir entre les niveaux logiques RS-232 et les signaux de niveau série TTL. Les cartes Arduino actuelles sont programmées via USB à l'aide de puces d'adaptation USB vers série comme le FTDI FT232. Certaines cartes, y compris les cartes Uno de dernière génération, remplacent la puce FTDI par une puce AVR distincte contenant le firmware USB-série qui est programmable via son propre en-tête ICSP. D'autres modèles, tels que l'Arduino Mini et le Boarduino non autorisé, utilisent une carte ou un câble convertisseur USB-série détachable, Bluetooth ou d'autres techniques de communication. Lors de l'utilisation d'outils de microcontrôleur conventionnels par opposition à l'IDE Arduino, la programmation AVR standard dans le système (ISP) est utilisée.
La carte Arduino met à la disposition d'autres circuits la majorité des broches d'E/S du microcontrôleur. La face inférieure des cartes Diecimila peut comporter des broches d'en-tête mâles compatibles avec les plaques d'essai sans soudure.
Il existe de nombreuses cartes compatibles Arduino et dérivées d'Arduino. Certains sont fonctionnellement équivalents à Arduino et sont interchangeables. Pour faciliter la création de buggys et de petits robots, plusieurs personnes augmentent l'Arduino fondamental en ajoutant des pilotes de sortie, généralement pour une utilisation dans l'enseignement au niveau scolaire. D'autres sont électriquement équivalents, mais leurs facteurs de forme varient, parfois en gardant la compatibilité du bouclier et parfois non. Certaines variantes utilisent des processeurs incompatibles de différents types.
Le matériel Arduino original a été fabriqué par l'entreprise italienne Smart Projects. Il y a eu 17 versions disponibles dans le commerce du matériel Arduino.
Le protocole Arduino RS232 (broches mâles)
Arduino Diecimila
La carte Arduino Duemilanove (rev 2009b)
Arduino Uno R2
3.0 Arduino Uno SMD
Arduino Leonardo
Arduino mini Récupéré le 2020-10-29 de Internet Archive (AtMega 32U4)
Micropuce Arduino (AtMega32U4)
Arduino Elite (sans USB)
Arduino Mega
Microcontrôleur Arduino Nano (empreinte DIP-30)
Arduino LilyPad 00 (révision de 2007) (sans USB)
Arduino Robot
Arduino Esplora
La carte Arduino Ethernet (AVR + W5100).
Arduino Yún(AVR + AR9331)
Vers Arduino (cour ARM Cortex-M3)
Les cartes Arduino et les cartes compatibles Arduino utilisent des boucliers, qui sont des cartes d'extension de circuits imprimés qui se connectent aux en-têtes de broches Arduino.
Certains blindages incluent des en-têtes empilables qui permettent d'empiler de nombreux boucliers sur une carte Arduino. Ici, deux boucliers de moteur V2 Adafruit sont empilés avec un bouclier de prototypage.
Blindage de dérivation à bornier à vis dans une configuration en forme d'aile, permettant de connecter des fils nus à la carte sans avoir besoin de broches spécifiques.
Le bouclier d'enregistrement de données Adafruit est doté d'un port de carte SD (Secure Digital) et d'une puce d'horloge en temps réel (RTC), ainsi que d'un espace pour l'ajout de composants et de modules personnalisés.
Raccords à vis de raccordement du moteur pour le bouclier de moteur Adafruit. Ce bouclier a été officiellement retiré, mais il se peut qu'il soit encore disponible par des méthodes non officielles.
Le bouclier moteur Adafruit V2 utilise l'I2C, nécessitant beaucoup moins de ports d'E/S numériques que la connexion physique de chaque moteur.
Un bouclier hôte USB qui permet à une carte Arduino de s'interfacer avec un périphérique USB comme un clavier ou une souris.
Avec des compilateurs qui génèrent du code machine binaire pour le processeur cible, un programme pour le matériel Arduino peut être écrit dans n'importe quel langage de programmation. AVR Studio (plus ancien) et Atmel Studio sont les environnements de développement d'Atmel pour leurs microcontrôleurs AVR 8 bits et ARM Cortex-M 32 bits (plus récents).
L'environnement de développement intégré (IDE) pour Arduino est une application multiplateforme basée sur Java (pour Microsoft Windows, macOS et Linux). Il a évolué à partir de l'environnement de développement intégré pour les langages Traitement et Câblage. Il comprend un éditeur de code avec des fonctionnalités telles que le copier-coller de texte, la recherche et le remplacement de texte, l'indentation automatique, la correspondance d'accolades et la coloration syntaxique, ainsi que des procédures simples en un clic pour compiler et télécharger des programmes sur une carte Arduino. De plus, il comprend une zone de message, un terminal de texte, une barre...