Page de la plate-forme Arduino

Arduino

Depuis ses débuts en 2005, Arduino a développé une carte à microcontrôleur très appréciée et très facile d'utilisation, qui peut être programmée pour de multiples fonctions, des plus basiques aux plus complexes. Grâce à la fonction simple de compilation/téléchargement d'un seul clic dans l'éditeur Open Source, non seulement les experts en programmation peuvent extraire le meilleur de l'Arduino, mais le système peut également être utilisé par des personnes relativement débutantes. De nombreux artistes créatifs, des utilisateurs non professionnels et des bricoleurs ont adopté le système avec enthousiasme, car il offre des moyens simples et accessibles pour réaliser différents modèles qui requièrent de l'Arduino des connaissances et des capacités techniques étendues.

 

L'Arduino se compose essentiellement de deux composants : le matériel (le microcontrôleur monocarte) et une application du logiciel Arduino connue sous la désignation « Environnement de Développement Intégré » ou IDE. L'IDE est écrit en C ou C++ et comprend une bibliothèque (« Wiring ») associée à un logiciel, qui simplifie radicalement les opérations les plus complexes qui commandent l'entrée et la sortie. Wiring permet d'exécuter entièrement un programme de travail cyclique en définissant deux fonctions : Setup() qui fonctionne au début du programme et qui est responsable de la première installation, et Loop(). Ce dernier peut toujours être appelé jusqu'à ce que la carte du microcontrôleur s'arrête.

 

À l'aide de lampes, de moteurs et de capteurs, l'Arduino interagit avec le monde réel. Il reçoit une entrée physique et la transforme en une sortie compréhensible et orientée vers un but. Une carte Arduino peut par exemple être programmée pour surveiller le courant à la terre entre deux conducteurs (par exemple deux clous). Quand le sol se dessèche, le débit de courant baisse car les électrolytes hydrosolubles ne peuvent plus se déplacer aussi librement. C'est une sorte d'entrée à laquelle l'Arduino peut réagir : dans ce cas, elle peut être programmée de façon à ce que le système réagisse à la baisse du débit de courant en envoyant un message à une radio Internet Zigbee qui envoie ensuite un message Twitter à l'utilisateur et l'avertit que la plante doit être arrosée dans le pot de fleurs.

 

Les fonctions du kit de démarrage Arduino peuvent être complétées par des « plug in shields », ce sont des circuits imprimés supplémentaires qui doivent encore étendre la diversité de l'original. Ils permettent l'intégration de capteurs supplémentaires, d'organes de réglage et d'entrées visuelles et acoustiques. Ils peuvent compléter en outre des fonctions telles que Ethernet, GPS, écran LCD, commandes moteur et maquettage (c.-à-d. le projet de prototypes de jeunes modèles d'essai électroniques Arduino, comme par exemple un robot Arduino, à l'aide d'une plaquette de circuit).

 

Les projets Arduino englobent la construction de robots, le déplacement de sculptures et de voitures (très appréciés dans les écoles pour motiver les étudiants à utiliser la technologie en créant de très beaux produits en mouvement), l'exploitation de moteurs, la construction d'équipement audio et vidéo, la commande de serrures, servosystèmes et systèmes d'éclairage, le développement de jeux et de jouets et la réalisation d'un serveur Web pour les utilisateurs afin qu'ils puissent publier leurs créations dans le réseau.

 

Histoire d'Arduino

L'Arduino commença en fait sa carrière en 2005 comme point culminant d'un projet sous la direction de David Cuartielles et de Massimo Banzi, deux étudiants de l'Interaction Design Institute (IDI) d'Ivrée (Italie), mais ses origines remontent à un peu plus loin.

 

Elle naquit en 2001 à partir de recherche du Massachusetts Institute of Technologie où Benjamin Fry et Casey Reas développèrent un langage informatique open source qui s'appelle « Processing Language » (langage de traitement). Ce langage basé sur Java a été développé pour des personnes créatives qui ne sont pas forcément familières avec la complexité de la programmation des algorithmes informatiques. Jusqu'aux prémices de ce développement au début du 21ème siècle, les personnes « normales » qui avaient des idées créatives, mais peu de savoir-faire technique dans le domaine informatique, étaient quasiment exclues de la création de jeux électroniques. En outre, les coûts de matériel et de logiciel pour de tels projets étaient hors de prix.

 

Mais cela changea en 2003 lorsque le programmateur IDI Hernando Barragán créa Wiring, le précurseur d'Arduino, à l'aide du logiciel Integrated Development Environment : une plate-forme open source pour le développement d'appareils électroniques accessible à tous - indépendamment des connaissances techniques. Barragán s'efforça de simplifier radicalement l'utilisation de matériel et logiciel électroniques en utilisant C et C++ comme langage de travail. La bibliothèque Wiring basée, comme son successeur Arduino, sur des bibliothèques prédéfinies simplifia nettement le langage de programmation.

Arduino était le nom du roi Ardouin (en italien Arduino) d'Ivrée en Italie au 10ème siècle.

 

Éléments techniques importants

Pour pouvoir fonctionner, le matériel d'Arduino (le circuit intégré du microcontrôleur) doit être programmé de façon à exécuter la tâche qui se présente aux utilisateurs. Qu'il s'agisse de la commande d'un circuit d'éclairage afin d'enclencher automatiquement la lumière quand il fait sombre ou du fonctionnement d'un moteur ou d'un robot (il existe bien sûr encore beaucoup d'autres fonctions). Et là, le logiciel Arduino se distingue des autres : dès que le programme (qui se compose du langage de programmation unique d'Arduino) est écrit, il peut être facilement transmis via une connexion USB ou une autre connexion sérielle à la mémoire du microcontrôleur. Le logiciel Arduino (Integrated Development Environment ou IDE) peut télécharger directement le programme dans la mémoire.

L'IDE dispose d'un éditeur de code intégré qui traduit le matériel en une syntaxe courte et qui offre une description extraordinairement claire de la fonction du code source, des constantes et des variables. Plus besoin d'opérations compliquées comme par exemple la manipulation du Makefile ou l'utilisation d'une ligne de commande pour déposer le code dans le matériel. L'éditeur de code dispose en outre de fonctions faciles à utiliser comme l'indentation automatique du code et la coloration syntaxique (cette dernière comprend également Brace Matching).

La bibliothèque logicielle intégrée issue de l'ancien projet « Wiring » simplifie nettement nombre d'opérations d'entrée et de sortie normalement très complexes.

Le langage de programmation Arduino génère automatiquement des prototypes fonctionnels quand on appuie sur le bouton de commande « Compiler ». Lors de cette opération, le projet est transcrit en C ou C++. Les programmes sont compilés par l'IDE à l'aide d'une bibliothèque AVR et d'une chaîne d'outils GNU. Les instructions C disponibles du compilateur AVR-GCC sont transformées en instructions lisibles par la machine. En substance, l'Arduino reçoit une entrée, prend une décision et exécute ensuite cette tâche sur la base de cette décision.

Le matériel principal est une carte avec un microcontrôleur AVR 8 bits, un quartz 16 MHz, un régulateur linéaire 5 V, une entrée d'adaptateur directe, des connexions de sortie et un résonateur en céramique. Les cartes d'extension que l'on appelle « shields » peuvent être connectées à la carte de base Arduino par des ports d'entrée et de sortie de plugin facilement accessibles ou un « header » à « pins » numérotés (0-13) pour compléter leurs fonctions. Les shields offrent d'avantage de fonctions si bien que l'utilisateur peut facilement connecter un shield xbee s'il désire par exemple ajouter une fonction de communication sans fil. Les moteurs peuvent également fonctionner à partir d'Arduino en raccordant simplement un shield à la commande moteur, et la carte est adaptée à une communication simple avec d'autres appareils périphériques, y compris des circuits externes et des capteurs.

Il existe différentes cartes Arduino qui se distinguent les unes des autres en fonction de la puce AVR contenue (voir le dernier paragraphe ci-dessous). Chaque carte Arduino a des fonctions uniques de sorte que la carte UNO Arduino peut être raccordée à un PC via une connexion USB par exemple et communiquer avec lui via une puce FTDI. Nombre de cartes contiennent des puces AVR comme Atmega8, Atmega168, Atmega328, Atmega1280 et Atmega2560, mais certaines ne contiennent pas de contrôleur Atmega. Celles-ci sont cependant compatibles avec différents shields, même si elles ne peuvent pas être programmées par l'IDE standard. D'autres versions du logiciel IDE sont disponibles, elles contiennent les bibliothèques importantes pour le contrôleur.

 

Représentation technique/scientifique d'Arduino

Un exemple d'application d'Arduino est une commande d'éclairage. La carte est programmée pour lire des capteurs de lumière et décider à l'aide de ces données quelles mesures sont nécessaires et les appliquer ensuite. Une carte relais connectée à une broche 3 sur une carte Arduino réagit à l'intensité lumineuse et le module peut commander ensuite l'éclairage extérieur et intérieur. Réglage « Actif bas » du relais. Cela signifie que l'appareil génère un modèle pour régler la broche relais sur BAS, les lumières étant allumées lorsque l'éclairage est faible.

L'Arduino peut aussi être utilisé pour la commande d'une injection de plastique fondu d'une impression 3D, la commande étant transmise aussi précisément que possible sur le bouton poussoir de la plate-forme mobile.

 

Rapports Arduino du point de vue du fabricant

Même si les cartes Arduino sont extrêmement appréciées des artistes, des utilisateurs non professionnels et des bricoleurs, elles sont de plus en plus utilisées dans différentes industries et employées par des ingénieurs en électronique et des développeurs pour fabriquer des prototypes de produits commerciaux.

Les cartes Arduino ont été utilisées pour le développement de l'oscilloscope open source « Xoscillio » et du contrôleur Musical Instrument Digital Interface (MIDI) « Arduinome ». Elles sont utilisées en outre pour faire fonctionner l'ordinateur de bord « OBDuino » qui se connecte aux systèmes de diagnostic informatisés des véhicules modernes.

En matière de recherche aéronautique et de recherche en armements, les cartes Arduino ont été utilisées pour le développement du matériel et du logiciel « Ardupilot » pour les drones.

Les cartes sont de plus en plus associées à des projets de recherche scientifiques où elles représentent une alternative de configuration plus simple et plus avantageuse au matériel onéreux. Comme le code est librement accessible dans le logiciel Arduino, il peut être modifié beaucoup plus facilement par les scientifiques - un énorme avantage par rapport aux procédures traditionnelles pour adapter individuellement le logiciel à des appareils scientifiques. Ces derniers comprennent traditionnellement l'aide de fournisseurs externes, techniciens, mécaniciens et souffleurs de verre et sont synonymes de coûts supplémentaires.

 

Courte présentation des différents accessoires Arduino mentionnés ci-dessus

Les accessoires de la carte de base Arduino comprennent des maquettes, différentes cartes d'extension (« shields ») qui complètent les fonctions de la carte d'origine, une antenne GSM et différentes versions de la carte primaire.

Ces dernières sont maintenant très nombreuses : plus de 20 versions actuelles sont listées sur le site Web officiel Arduino. La version la plus basique et la plus utilisée par les débutants est la Arduino Uno, compatible avec presque tous les différents shields et plus « extensible » que les autres cartes. La plus importante restriction de cette carte est cependant sa mémoire flash très rudimentaire et la mauvaise SRAM en raison de la puce ATmega328 utilisée. Alors que c'est la carte optimale pour les débutants qui se familiarisent avec Arduino, la Uno est limitée à cause de sa faible mémoire concernant le nombre de programmes possibles, si bien qu'elle n'est pas adaptée à traiter ou à stocker des données audio ou des images.

La Due, une des plus récentes offres d'Arduino, comprend un processeur ARM 32 bits hautement performant, nettement supérieur aux autres processeurs Arduino. Ce processeur convient parfaitement aux projets plus compliqués : c'est une des plus grandes cartes proposées (et une des plus chères également) en raison du nombre plus élevé d'en-têtes entrée/sortie et de broches pour des shields supplémentaires. Le petit inconvénient de cette carte est qu'elle a besoin - contrairement aux autres cartes - de 3,3 volts (les cartes standards Arduino ont besoin de 5 volts). Conséquence : le nombre de shields compatibles est inévitablement plus limité car un shield à 5 volts pourrait endommager très rapidement la carte de façon irrémédiable. La Arduino Mega 2560 est une carte alternative de 5 V avec un processeur aux performances comparables, mais elle est plus chère que la Due et à bien d'autres égards dépassée par celle-ci.

Arduino a sorti en juin 2013 la carte Yun. Sa fonction principale consiste à faciliter des connexions aux services basés sur un cloud. Les anciens microcontrôleurs à faible mémoire et faible largeur de bande avaient du mal à s'en sortir avec la densité des protocoles nécessaires aux services Cloud. La Yun dépasse ces restrictions grâce à un système Linus séparé qui s'intègre judicieusement dans une puce. Celle-ci est en mesure de manipuler facilement toutes les tâches de Networking.

Les débutants sont ainsi très bien conseillés pour acheter des kits de démarrage Arduino plus importants qui comportent différents accessoires nécessaires à la réalisation de la plupart des projets. Le kit de l'inventeur SparkFun et le kit d'expérimentation Adafruit (qui est meilleur marché) comprennent tous les deux un bon assortiment de pièces. Les deux kits contiennent en outre une notice d'utilisation.

Les utilisateurs devront en plus investir dans un multimètre pour tester la résistance des différents composants électriques.

 

(2002)

 

Sources :

http://www.freetronics.com/pages/what-is-arduino#.Ul7djRDTSSY

 

http://www.makeuseof.com/tag/arduino-technology-explained/

 

https://fr.wikipedia.org/wiki/Arduino

 

http://www.wired.com/gadgetlab/2008/04/just-what-is-an/

 

http://forefront.io/a/beginners-guide-to-arduino

 

https://www.sparkfun.com/arduino_guide

 

http://www.techhive.com/article/239454/geek_101_what_is_arduino.html

 

https://fr.wikipedia.org/wiki/Platine_d%27exp%C3%A9rimentation

 

http://www.engineersgarage.com/articles/arduino

 

https://fr.wikipedia.org/wiki/Processing

 

http://www.sciencemag.org/content/337/6100/1303.summary

 

http://store.arduino.cc/eu/index.php?main_page=index&cPath=11_15

 

http://www.tested.com/tech/robots/456466-know-your-arduino-guide-most-common-boards/

 

http://www.makeuseof.com/tag/arduino-technology-explained/