Outils pour utilisateurs

Outils du site


elec:arduino2009

L'Arduino 2009

L'Arduino version Duemilanove (“2009” : wav , ogg , mp3 , flac , wma ) est une carte basée sur le microcontrôleur ATmega168 ou ATmega328.

Il possède :

  • 14 entrées/sorties digitales (dont 6 peuvent être utilisées comme des sorties PWM “Pulse Width Modulation”).
  • 6 sorties analogiques
  • une horloge à 16 MHz
  • un connecteur USB (adaptateur du port série, et alimentation)
  • un jack d'alimentation (alternative à l'alimentation par l'USB)
  • des broches pour l'ICSP (In-Circuit Serial Programming)
  • un bouton RESET

Alimentation

L'Arduino Duemilanove peut être alimenté par sa connection USB ou par son connecteur d'alimentation. La source est sélectionnée automatiquement.

Le connecteur d'alimentation accepte une fiche de 2.1mm, borne positive au centre. Celle-ci peut être reliée à un transformateur AC/DC branché sur le secteur.

On peut aussi utiliser des piles ou batteries, qui pourront être reliées de façon équivalente entre les bornes GND et VIN du groupe “POWER” (qui sont elles mêmes directement reliées au connecteur d'alimentation).

Bien que la carte puisse fonctionner théoriquement entre 6V et 20V, il est conseillé de se limiter à l'intervalle 7-12V pour éviter une surchauffe ou que la tension de sortie “5V” devienne inférieure et instable.

Si on utilise une alimentation externe, VIN peut être utilisée comme une source de même tension.

La borne 5V fournit cette tension soit depuis la source externe VIN grâce au regulateur interne, soit directement depuis l'USB. On peut aussi y fournir une alimentation externe régulée de 5V .

La borne 3.3V fournit cette tension à partir du chipset FTDI (qui convertit les signaux série RS-232 en signaux USB).

Mémoire

L'ATmega368 dispose de

  • 32 Ko de mémoire flash pour le code, dont 2 Ko sont réservés pour le bootloader.
  • 2 Ko de SRAM
  • 1 Ko d'EEPROM, qui peut être lue/écrite avec la librairie EEPROM.

Entrées/Sorties

14 entrées/sorties digitales

Chacune des 14 bornes digitales peut être utilisée comme entrée ou comme sortie, avec les fonctions pinMode(), digitalWrite() et digitalRead().

Elles opèrent en 5V, avec une intensité maximale de 40mA chacune. Une résistance de 20-50 kOhms interne peut être montée avec chacune d'elles.

Certaines ont des fonctions spécifiques:

  • Série: 0 (RX) et 1 (TX). Utilisées pour recevoir et transmettre des données en série.

Ces bornes sont connectées aux broches corrrespondantes du FTDI.

  • Interruptions externes: 2 et 3. Ces bornes permettent de déclencher une interruption, soit par une valeur basse, soit par un front montant ou descendant, soit par un changement de valeur. Voir la fonction attachINterrupt() pour plus de détails.
  • PWM: 3, 5,6, 9, 10, et 11. Fournissent des sorties PWM sur 8 bits, avec la fonction analogWrite()
  • SPI: 10(SS), 11(MOSI), 12(MISO), 13(SCK). Ces bornes assurent les communications SPI. Bien que les composants nécessaires soient présents dans la carte Arduino, actuellement aucune fonction du langage ne s'y applique.
  • LED: 13. Une LED intégrée à la carte est connectée à la borne 13. Lorsqu'une valeur haute y est présente, la LED est allumée, lorsque la valeur est basse, la LED est éteinte.

6 entrées analogiques

Chacune d'elles a une résolution de 10bits (1024 valeurs distinctes). Par défaut elles mesurent entre la masse et 5 volts, bien qu'il soit possible de modifier la limite supérieure de l'intervalle en utilisant la borne AREF et la fonction analogReference(). Certaines bornes sont spécialisées:

  • I2C: 4(SDA) et 5(SCL). Assurent les communications I2C (TWI) en utilisant la librairie Wire

Autres bornes

  • AREF. Tension de référence pour les entrées analogiques, utilisée avec analogReference().
  • Reset. Appliquer une tension basse pour réinitialiser le microcontrolleur. Utilisé typiquement pour ajouter un bouton RESET aux cartes filles, ce qui bloque celui de l'Arduino.

Voir aussi: Correspondance entre les bornes de l'Arduino et les ports de l'ATmega168/328.

Communication

L'Arduino Duemilanove offre plusieurs possibilités pour communiquer avec un ordinateur, un autre Arduino, ou un autre microcontrôleur.

RS232 (Série)

l'ATmega168 et l'ATmega328 disposent de communications série de type UART TTL (5V), accessible

  • sur les bornes digitales 0 (RX) et 1 (TX),
  • sur le port USB après conversion par FTDI FT232RL intégré sur la carte
  • sur n'importe quelle autre borne digitale via la librairie SoftwareSerial

I2C (2-wire Serial Interface: TWI)

La librairie Wire simplifie l'utilisation du bus I2C.

Le protocole TWI permet de connecter jusqu'à 128 appareils différents en n'utilisant que deux fils : un pour l'horloge (SCL) et un pour les données (SDA).

SPI (Serial Peripheral Interface)

L'interface série de périphériques permet un transfert de données synchrone à haute vitesse entre l'ATmega48PA/88PA/168PA/3 28P et des équipements périphériques ou entre plusieurs AVR. Pour plus d'information, consulter la documentation de l'ATmega.

Programmation

L'Arduino Duemilanove peut être programmé avec l' environnement Arduino. N'oubliez pas de spécifier la carte cible dans le menu Tools → Board :

  • Arduino Diecimila or Duemilanove w/ ATmega168 , ou
  • Arduino Duemilanove w/ ATmega328

Bootloader

Sur l'Arduino Duemilanove, l'ATmega168/328 est préprogrammé avec un bootloader qui permet de charger du code sans passer par un programmateur matériel externe. Il communique grâce au protocole STK500 (référence, en-têtes C).

Mais on peut se passer de cette portion de code et programmer le microcontrôleur par l'ICSP: In-Circuit Serial Programming (instructions).

Réinitialisation Automatique

Avant d'installer un programme sur la carte, vous n'êtes pas obligé d'appuyer physiquement sur le bouton RESET, car l'Arduino est conçu pour pouvoir être réinitialisé par programme depuis l'ordinateur connecté.

L'une des broches de contrôle de flux (DTR) du FT232RL est connectée à la broche RESET de l'ATmega via un condensateur de 100 nanoFarads. Lorsque cette ligne est activée (en la mettant à 0), la broche RESET chute assez longtemps pour réinitialiser le microcontrôleur.

L'IDE arduino exploite cette fonctionalité pour vous permettre de charger du code sur votre carte simplement en cliquant sur l'icône Upload. La reinitialisation peut ainsi être finement coordonnée avec le téléchargement du programme, et {:?:} le temps d'inactivité de la carte significativement réduit.

Cette caractéristique a d'autres implications: lorsque le Duemilanove est connecté à un ordinateur tournant sous Mac OSX ou Linux, il est redémarré à chaque fois qu'un programme établit une connexion avec lui (via USB). Pendant environ une demi-seconde, le bootloader tourne sur le Duemilamove. Bien qu'il soit programmé pour ignorer les données malformées (c-a-d n'importe quoi d'autre que le téléchargement d'un nouveau programme), il va intercepter les premiers octets de données envoyés à la carte après qu'une connexion soit ouverte.

Si le programme installé sur la carte attend des informations de configuration ou autres envoyées une seule fois au démarrage, assurez-vous que le programme qui communique avec lui attende une seconde après avoir ouvert la connexion avant d'envoyer ces données.

Le Duemilamove comporte une {:?:} trace, libellée “RESET-EN” qui peut être coupée pour désactiver l'auto-reset. Les plots de chaque côté de cette trace peuvent être soudés ensemble pour le réactiver. Vous devriez aussi pouvoir désactiver l'auto-reset en connectant une résistance de 110 ohms entre la borne 5V et la borne RESET. Voir cette discussion pour en savoir plus.

Protection du port USB

L'Arduino Duemilamove est équipé d'un {:?:} fusible réarmable qui protège le port USB de votre ordinateur contre les court-circuits et surintensités. Bien que presque tous les ordinateurs comportent leur propre protection interne, ce fusible offre un niveau de protections supplémentaire. Si plus de 500 mA traversent le port USB de l'Arduino, le fusible interrompt automatiquement la connection jusqu'à ce que la surcharge ait disparu.

Caractéristiques Physiques

  • Dimensions extérieures du PCB: 2.7×2.1 pouces , soit 68.6×53.3 mm

(sans les connecturs USB et Alim, qui dépassent)

  • Fixation : 3 trous de vis

Notez que l'espace entre les bornes digitales 7 et 8 est de 0.16“ (4.06 mm), qui n'est pas un multiple des 0.10” (2.54 mm) qui séparent les autres bornes digitales.

Liens

NDLR

Cette page est basée sur la description officielle en anglais, plus quelques infos et liens complémentaires.

Qui dit traduction dit interprétation. J'ai utilisé le symbole {:?:} pour marquer les points qui devraient être vérifiés … par plus compétent que moi en électronique !

Merci de votre aide :-)

Michelle

elec/arduino2009.txt · Dernière modification: 2016/07/19 15:36 (modification externe)