Arduino

Restez toujours informé : suivez-nous sur Google (☆)

Introduction

Arduino
DéveloppeurArduino Software
Dernière version0018 (29 01 2010)
EnvironnementsMulti-plateforme
LangueAnglais
LicenceGNU LGPL ou GNU GPL
Site Webwww.arduino.cc

Arduino est un circuit imprimé sur lequel se trouve un microprocesseur (calculateur) qui peut être programmé pour analyser et produire des signaux électriques, de manière à effectuer des tâches très diverses comme la charge de batteries, la domotique (le contrôle des appareils domestique (éclairage, chauffage...), le pilotage d'un robot, etc. C'est une plateforme basée sur une interface entrée/sortie simple et sur un environnement de développement utilisant la technique du Processing/Wiring. Arduino peut être utilisé pour construire des objets interactifs indépendants (prototypage rapide), ou bien peut être connecté à un ordinateur pour communiquer avec ses logiciels (ex: Macromedia Flash, Processing, Max/MSP, Pure Data, SuperCollider). Les versions vendues actuellement sont pré-assemblées, des informations sont fournies pour ceux qui souhaitent assembler l'Arduino eux-mêmes.

Le projet Arduino a reçu un titre honorifique à la Prix Ars Electronica 2006 dans la catégorie Digital Communities.

Description

Matériel

Un module Arduino est généralement construit autour d'un microcontrôleur Atmel AVR (ATmega328 ou ATmega1280 pour les versions récentes, ATmega168 ou ATmega8 pour les plus anciennes), et de composants complémentaires qui facilitent la programmation et l'interfacage avec d'autres circuits. Chaque module possède au moins un régulateur linéaire 5V et un oscillateur à quartz 16 MHz (ou un résonnateur céramique dans certains modèles).
Le microcontrôleur est pré-programmé avec un bootloader de façon à ce qu'un programmateur dédié ne soit pas nécessaire.

Les modules sont programmés au travers d'une connexion série RS-232, mais les connexions permettant cette programmation diffèrent selon les modèles. Les premiers Arduino possédaient un port série, puis l'USB est apparu sur les modèles Diecimila, tandis que certains modules destinés à une utilisation portable se sont affranchis de l'interface de programmation, relocalisée sur un module USB-série dédié (sous forme de carte ou de câble).

L'Arduino utilise la plupart des entrées/sorties du microcontrolleur pour l'interfacage avec les autres circuits. Le modèle Diecimila par exemple, possède 14 entrées/sorties numériques, dont 6 peuvent produire des signaux PWM, et 6 entrées analogiques. Les connexions sont établies au travers de connecteurs femelle HE14 situés sur le dessus de la carte, les modules d'extension venant s'empiler sur l'Arduino. Plusieurs sortes d'extensions sont disponibles dans le commerce.

Les modules non officiels « BoArduino » et « Barebones », compatibles avec la technologie Arduino, utilisent des connecteurs mâle pour une utilisation aisée avec des plaques de test.

Logiciel

Le logiciel de programmation des modules Arduino est une application Java multi-plateformes (fonctionnant sur tout système d'exploitation), servant d'éditeur de code et de compilateur, et qui peut transférer le firmware (et le programme) au travers de la liaison série (RS232, Bluetooth ou USB selon le module).

Le langage de programmation est une variante du C/C++, allégée et restreinte à l'utilisation de la carte, de ses entrées/sorties et des librairies associées. Toute personne habituée à ces langages peut facilement développer des programmes sur les plates-formes Arduino.

Versions matérielles

Un Arduino Diecimila.

Les modules d'origine de l'Arduino sont fabriqués par Smart Projects.

Plusieurs versions des modules Arduino ont été commercialisées à ce jour :

  • Serial Arduino, programmé avec une connexion série DB9 et utilisant un ATmega8.
  • Arduino Extreme, programmable via une connexion USB et utilisant un ATmega8.
  • Arduino Mini, une version miniature de l'Arduino utilisant un ATmega168 CMS.
  • Arduino NG, programmable via une connexion USB et utilisant un ATmega8.
  • Arduino NG plus, programmable via une connexion USB et utilisant un ATmega168.
  • Arduino BT, programmable via une connexion Bluetooth et utilisant un ATmega168.
  • Arduino Diecimila, la version actuelle, qui possède une interface USB et un ATmega168 dans un format DIL28. (16Ko flash, 1Ko SRAM, 0.5Ko EEPROM)
  • Arduino Duemilanove, la nouvelle version, équipé d'un ATmega328 (32Ko de flash, 2Ko de SRAM, et 1Ko d'EEPROM).
  • Arduino Mega équipé d'un ATmega1280 (128Ko flash, 8Ko SRAM, 4Ko EEPROM).
ArduinoDiecimilaDuemilanoveDuemilanoveMega
Processeur (Amtel) AVRATmega8ATmega168ATmega328ATmega1280
KB Flash81632128
KB EEPROM.5=.514
KB SRAM1=128
Digital I/O Pins (40 mA)14=14=1454
of which PWM output6=6=614
Analog Input Pins6=6=616

Plusieurs logiciels et matériels compatibles Arduino (bien que non officiels) ont été produits commercialement par d'autres fabricants:

  • Les kits "Freeduino Bare Bones Board et Really Bare Bones Board" compatibles Arduino, fabriqués et vendus par Modern Device Company.
  • Le "Freeduino Through-Hole", compatible Arduino, module évitant l'utilisation de composants CMS et destiné à une fabrication personnelle; fabriqué et vendu par NKC Electronics (sous forme de kit).
  • Le "Boarduino", un clone peu cher du Diecimila, avec des connecteurs pour une utilisation sur plaque de test.
  • Des versions "Fundamental Logic" en kit ou montées, le MaxSerial Freeduino compatible Arduino Diecimila, interface RS-232, alimentation 3.3V optionnelle sur la carte; et le mini iDuino pour une utilisation sur plaque de test.

Open hardware et open source

Le design matériel de l'Arduino est distribué sous licence Creative Commons Attribution Share-Alike 2.5 et est disponible sur le site d'Arduino. Les schémas ainsi que les typons de circuits sont également disponibles. Le code source de l'environnement de programmation et les librairies embarquées sont disponibles sous licence LGPL.

Restrictions du nom "Arduino"

Bien que le design matériel et logiciel soit sous license copyleft, les développeurs ont exprimé le désir que le nom Arduino et ses dérivés soient exclusivement réservés aux modules officiels, et qu'ils ne soient pas utilisés pour des projets non autorisés. La politique d'usage du nom Arduino insiste sur le fait que les projets officiels sont ouverts à la collaboration.

En réponse à cette restriction contraire à l'esprit de l'open source, des utilisateurs ont développé une cinquantaine de modules équivalents, nommé Freeduino, Sanguino, Seeduino , Uduino, etc. Ces modules, totalement compatibles avec le logiciel Arduino, et parfois avec les "shields" arduino, sont généralement moins chers que les cartes Arduino originales. La plupart offrent également des fonctions additionnelles.

L'équipe de développement

Le coeur de l'équipe des développeurs du projet Arduino est composé de Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino, David Mellis et Nicholas Zambetti.